GadgetsNewswireStartupsTechnology

World’s Tiniest GPU Enters Production, Renders 3D in Real-Time

▼ Summary

– Pongsagon Vichit has released TinyGPU v2.0, a standalone GPU capable of rasterization and transformation & lighting, similar to the GeForce 256.
– The GPU can render 1,000 triangles at 6.5 fps in 320×240 resolution with 4-bit color and has been submitted to the Tiny Tapeout shuttle for production.
– It features interactive 3D vector-to-raster conversion and uses a 25 MHz clock, achieving frame rates between 7.5 and 15 fps for low-polygon models.
– The design includes a 4-bit double buffer, 8-bit depth buffer, backface culling, dynamic directional light, and flat shading, with a production cost of about $1,500.
– This version is a significant upgrade from Vichit’s earlier Tiniest GPU, which supported only two polygons but rendered at higher resolution and frame rates.

A significant milestone in the world of custom hardware has been reached with the production of the world’s tiniest GPU, now in its second generation. Developed by FPGA hobbyist and retro computing enthusiast Pongsagon Vichit, the TinyGPU v2.0 stands as a fully independent graphics processor capable of real-time 3D rendering. This includes support for rasterization as well as transformation and lighting, features that first became mainstream with NVIDIA’s iconic GeForce 256. Vichit, who goes by the handle @MattDIYgraphics on social media platform X, has submitted the design to the Tiny Tapeout shuttle service. There, it will be fabricated using approximately 200,000 transistors within a maximum allowed 4×4 tile layout. For context, NVIDIA’s flagship RTX 5090 contains over 92 billion transistors, delivering exponentially greater performance thanks to its vastly larger transistor budget.

In a demonstration video, Vichit loads several 3D models directly from the TinyGPU v2.0’s onboard flash memory. Using a classic Super Nintendo controller, he manipulates the models in real time, adjusting both the object’s position and the direction of the light source. While this represents a major step up from his earlier “Tiniest GPU” released about a year ago, the performance specifications remain modest by modern standards.

Operating at 25 MHz, the TinyGPU v2.0 achieves frame rates ranging from 7.5 to 15 frames per second. It renders low-polygon 3D models at a resolution of 320 by 240 pixels or lower, with a 4-bit color palette allowing up to 16 colors on screen at once. According to the designer, the final silicon version produced through Tiny Tapeout will not exceed the performance seen in the Basys3 FPGA demo. As a result, this GPU will not be competing with high-end gaming graphics cards anytime soon.

Although the visual output resembles early 1980s home computer graphics, the underlying technology is considerably more advanced. Vichit points out that the TinyGPU v2.0 performs interactive 3D vector-to-raster conversion and uses transformation and lighting techniques similar to those introduced with the GeForce 256 in 1999. Additional technical features include a 4-bit double buffer, an 8-bit depth buffer stored on QSPI RAM, support for up to 1,000 triangles, backface culling, one dynamic directional light, and flat shading.

The TinyGPU v2.0 has been submitted for the next Tiny Tapeout production run. Fabricating the design across the maximum 16 tiles will cost Vichit around $1,500. Those interested in the project can explore Verilog source files and additional documentation through the associated GitHub repository linked in his original announcement.

It’s important not to confuse this project with another “Tiny GPU” developed by Adam Majmudar, which we covered in April 2024. Majmudar’s design was created from scratch with no prior experience and was also fabricated via Tiny Tapeout. Vichit himself participated in the same Tiny Tapeout 7 round with his original “Tiniest GPU,” but the two versions differ significantly.

The first-generation model was extremely minimal, supporting a maximum of just two polygons, far fewer than the 1,000 triangles handled by v2.0. However, its simplicity allowed it to run at 50 MHz, rendering 640×480 resolution graphics with a 6-bit color depth at up to 60 frames per second. On-screen rendering in that version was controlled using keyboard cursor keys, highlighting how each iteration serves a different technical and experimental purpose.

(Source: Tom’s Hardware)

Topics

tinygpu v2.0 100% fpga design 90% performance specifications 85% rasterization technology 85% 3d rendering 80% transformation lighting 80% hardware comparison 75% tiny tapeout 75% retro computing 70% graphics pipeline 70%