
This project generates real-time VGA graphics using purely arithmetic logic. There is no framebuffer, no ROM, and no lookup tables — every pixel is computed on-the-fly based on its position and a time counter.
At every pixel clock:
(hpos, vpos)(cx, cy)t) acts as a time variableA 10-bit frame counter increments once per frame:
The result is a continuously evolving procedural graphics display.
Connect a VGA monitor via TinyTapeout VGA PMOD
Provide a 25 MHz clock (approx 25.175 MHz)
Release reset (rst_n)
The display will automatically:
Expected output: A full-screen animated display cycling through procedural patterns: rings → plasma → interference → chaos.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Unused | VGA Red MSB | |
| 1 | Unused | VGA Green MSB | |
| 2 | Unused | VGA Blue MSB | |
| 3 | Unused | VGA Vsync | |
| 4 | Unused | VGA Red LSB | |
| 5 | Unused | VGA Green LSB | |
| 6 | Unused | VGA Blue LSB | |
| 7 | Unused | VGA Hsync |