Pongsagon vichit's Avatar

Pongsagon vichit

@mattdiygraphics.bsky.social

Amateur FPGA designer

12 Followers  |  7 Following  |  18 Posts  |  Joined: 02.12.2024  |  1.6383

Latest posts by mattdiygraphics.bsky.social on Bluesky


Preview
GitHub - htfab/sky130-cellstats Contribute to htfab/sky130-cellstats development by creating an account on GitHub.

Thanks. It is about 1k gates for a tile. I am using 16 tiles. For the transistor count, I used a script from github.com/htfab/sky130.... It accumulates transistors based on standard cell types.

26.11.2025 10:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Spec:
- GPU can performs transformation & lighting, rasterization
- 4-bit double buffer, 8-bit z buffer store on QSPI RAM
- max tri 1K
- backface culling
- 1 directional light, flat shading
- use Gamepad to transform the model & light
- run at 25Mhz. When fab, it will use around 200k transistor

03.11.2025 06:17 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

TinyGPU v2.0. A standalone GPU that can display a model file from Flash.Render 1K tri at 6.5fps in 320x240, 4-bit color. Tested on Basys3 FPGA. Submitted to the upcoming #TinyTapeout shuttle.
more spec ๐Ÿงต.
git:
github.com/pongsagon/tt...

03.11.2025 06:15 โ€” ๐Ÿ‘ 9    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

TinyGPU v2.0. Just completed the rasterization with z-buffer part I am trying to finished transformation & lighting part before the upcoming #TinyTapeout shuttle.

25.10.2025 13:40 โ€” ๐Ÿ‘ 7    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Great! Thanks

22.10.2025 02:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Just got the Pmod today. To use QSPI Pmod that was plugged into Audio Pmod, do I have to cut the trace of RAM B?(sacrifice RAM B to make room for audio)

Thanks for your work. ๐Ÿ‘

21.10.2025 10:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Nice one. Glad that someone finally do RP2350 with DVI. I have wait for Adafruit to do it but it seem that they dont do it this time. I really like their Feather RP2040 DVI. I bought them a lot to do keychain size 2D/3D game console projects.

11.06.2025 02:07 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I see. At first, I think you are using a QSPI pmod with two RAM. I am using your QSPI pmod on my next TinyTapeout project. Trying to study your qspi controller code. Thanks a lot for sharing it.

10.06.2025 01:33 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

When do you write new pixels to the buffer on PSRAM? From my understanding, you use all the RAM bandwidth in the non-blanking interval. Is blanking interval enough to write all the pixels? Thanks.

09.06.2025 12:54 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Thank you again for your answer. It seems more complicated than I though. Since, I have almost zero knowledge in DDR now. I cannot extraploate all the RAM issues that you are planning to manage. I will surely going to come back to read this again. ๐Ÿ™

03.04.2025 05:34 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

This post is a gem, valuable experiment. How do you plan to do time sharing of your RAM with the framebuffer, texture and geometry data?

02.04.2025 17:06 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Not sure I understand it. I have not try DRAM yet. So the bottleneck is the RAM bandwidth right? You are using 16 rasterizers (that can output 16 pixels at a time) because they would reach the peak bandwidth of your DRAM spec. No reason to do more than 16 rasterizers.

02.04.2025 16:53 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Ok, so the no framebuffer version, your strategy is to max out BRAM to buy more time for beam race right? Instead of using just double line buffers. Nice.

02.04.2025 16:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Wow, thanks a lot for your detailed answer. Please allow me to buy you a cup of coffee for this haha. You really are the Taylor Swift of FPGA. Never disappoint his fan.

02.04.2025 16:13 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - pongsagon/tt07-tiniest-gpu: A tiniest GPU that can render only two texture mapped triangles A tiniest GPU that can render only two texture mapped triangles - GitHub - pongsagon/tt07-tiniest-gpu: A tiniest GPU that can render only two texture mapped triangles

PS. I just received my Tinytapeout Tiniest ASIC GPU back. It work ๐Ÿ˜. github.com/pongsagon/tt.... Your comment on my design would be invaluable to me. Thanks.

01.04.2025 06:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thanks for the blog. Two questions sir.
1. When writing pixels from 16 rasterizers, do you write to the same framebuffer or do you have 16 little framebuffers that stitched into one.
2. if 16 rasterizers need texture data, how do you plan to distribute the data.
Many thanks

01.04.2025 05:54 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Thanks. Hard to find tutorial on AXI and SoC.

22.12.2024 00:53 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Happy to see you post again. Looking forward to it.

18.12.2024 09:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@mattdiygraphics is following 7 prominent accounts