The Siliconimist demo is a 1x1-tile demoscene entry built on the VGA Playground "Logo" preset. It drives a 640x480 @ 60 Hz signal on the TinyVGA Pmod and a 1-bit square-wave chiptune on the TT Audio Pmod.
You can preview the demo and listen to the music here on the VGA Playground!
pix_y[6:4] + frame_counter[5:3].chiptune.v) plays Korobeiniki from a 96-step eighth-note ROM (16 frames per step at ~60 Hz VGA). Half-period divides the 25.175 MHz pixel clock to about the right pitch; the driver toggles continuously (not multiplexed scanline bursts), which matches simulation playback (test.capture_audio) and behaves like classic 1-bit PSG audio. Pitch changes reset phase to reduce clicks. Hold ui[2] low for sound; mute ties uio_out[7] low.uio[7].rst_n low briefly. The Siliconimist sprite should appear bouncing on a moving rasterbar background; the Pmod should play Korobeiniki (Tetris theme) on a loop.ui[1] to enable per-bounce color cycling (otherwise the sprite is white).ui[0] to tile the sprite full-screen (handy for confirming the bitmap data).ui[2] high to mute the audio output.The pinout follows the official Tiny Tapeout pinouts spec:
uo[7:0] (mole99/tiny-vga).uio[7] (MichaelBell/tt-audio-pmod). The lower bidirectional pins uio[6:0] are tied low / disabled, leaving the Pmod's pass-through row free for compatibility.Follow along at the the Siliconimist podcast and blog here and hear our more dramatic, in-depth writeup about the design and our journey to a first tapeout!
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | cfg_tile (tiles the logo) | R1 | |
| 1 | G1 | ||
| 2 | mute (mutes the audio) | B1 | |
| 3 | vsync | ||
| 4 | R0 | ||
| 5 | G0 | ||
| 6 | B0 | ||
| 7 | hsync | PWM audio out |