The project has two parts, first a module to generate a Mandelbrot. Second, a VGA driver, which fetches the data from a framebuffer, which is eamulated by the RP2040.
For this the mode pin has to be selected. Then the configuration should be shifted into the project. Finally the render can be started and the data received via a logic analyzer or the RP2040.
For this the RP2040 has to be programmed with a special firmware to emulate the framebuffer. The the VGA mode has to be selected. Then the configuration should be shifted into the project. Finally the render can be started. After the rendering is finished, the Mandelbrot should be displayed via VGA.
To the output Pmod connector the TinyVGA Pmod should be connected, if the VGA mode is used.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | serial enable | R[1] or ctr[0] | write data[0] |
1 | serial data | G[1] or ctr[0] | write data[1] |
2 | serial clock | B[1] or ctr[0] | write data[2] |
3 | output select | vsync or ctr[0] | write data[3] |
4 | frame data[0] | R[0] or new counter | reset write pointer |
5 | frame data[1] | G[0] | write data |
6 | frame data[2] | B[0] | reset read pointer |
7 | frame data[3] | hsync | read |