
This project implements a simple VGA logo display for Hackerspace Trójmiasto, generated entirely in hardware using Verilog.
The design includes a VGA timing generator that produces standard 640×480 @ 50 Hz synchronization signals (hsync, vsync, and active video region). During the active video period, the circuit calculates the current pixel coordinates and uses them to fetch pixel data from an internal bitmap ROM that stores the Hackerspace Trójmiasto logo.
Each logo pixel is encoded using a small number of bits and then mapped to RGB values using either:
The logo can:
As the logo moves and hits the screen edges, its color index is automatically updated, creating a simple animated visual effect. All logic runs synchronously from a single clock and is intended to be fully synthesizable and suitable for ASIC implementation (e.g. Tiny Tapeout).

To use this design with a standard VGA monitor, the following external hardware is required:
A suitable reference implementation is the PMOD VGA adapter used in the Tiny Tapeout VGA examples, which typically includes:
https://github.com/mole99/tiny-vga
Equivalent third‑party PMOD VGA adapter boards may also be used, provided they support:
hsync and vsync| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | cfg_tile | R[1] | nc |
| 1 | cfg_color | G[1] | nc |
| 2 | nc | B[1] | nc |
| 3 | nc | vsync | nc |
| 4 | nc | R[0] | nc |
| 5 | nc | G[0] | nc |
| 6 | nc | B[0] | nc |
| 7 | nc | hsync | nc |