Donut.c on a Chip: Minimalist 3D Rendering with Shifts and Adds

2025-01-12
Donut.c on a Chip: Minimalist 3D Rendering with Shifts and Adds

This project details the porting of the classic donut.c program to a tiny ASIC, achieving 3D donut rendering using only shifts and adds, eliminating the need for multiplication. Leveraging CORDIC and ray marching, a 4-tile design was submitted to Tiny Tapeout 8, resulting in a hardware implementation on a 130nm chip. Resource constraints lead to a rough, polygonal rendering, showcasing the elegance of minimalist hardware design.