579 Glyph Mode HD

579 : Glyph Mode HD

Design render

How it Works

This is a standalone VGA demo that runs with or without input, replicating The Matrix Digital Rain effect.

example VGA output

Upon circuit reset, the glyphs will appear to fall from the top of the screen.

You can change the palette with the two pins, ui_io[0] and ui_io[1].

NOTE The default VGA timing requires a pixel clock of 25.175 MHz. If you want to drive higher resolutions, the base clock rate must be adjusted accordingly with the Clocks table below. You must also set the two pins, ui_io[6] and ui_io[7], to select your preferred mode.

How to Test

Plug into a VGA monitor and select this circuit to test. By default, the circuit must be clocked at (or very near) to 25.175 MHz. There are four VGA timing modes, representing four different display resolutions, which must be both specifically clocked and have the pins ui_io[7:6] set according to the following table.

Clocks

Pins 6 and 7 paired with pixel clock

ui_io[7:6] Clock (MHz) VGA Timing Mode
(default) 0 25.175 640 x 480 @ 60 fps ( VGA)
1 40.0 800 x 600 @ 60 fps (SVGA)
2 34.694 960 x 540 @ 60 fps ( qHD)
3 64.0 1280 x 720 @ 60 fps ( HD)

Additional Palette Input

The circuit accepts two pins ui_io[0] and ui_io[1] for palette selection:

ui_io[1:0] Palette
(default) 0 Green
1 Red
2 Blue
3 Pride

External hardware

Requires the TinyVGA PMOD

IO

#InputOutputBidirectional
0Palette 0R1
1Palette 1G1
2B1
3VSync
4R0
5G0
6VGA Mode bit 0B0
7VGA Mode bit 1HSync

Chip location

Controller Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux tt_um_chip_rom (Chip ROM) tt_um_factory_test (Tiny Tapeout Factory Test) tt_um_htfab_asicle2 (Asicle v2) tt_um_htfab_caterpillar (Simon's Caterpillar) tt_um_urish_simon (Simon Says memory game) tt_um_microlane_demo (microlane demo project) tt_um_ygdes_hdsiso8_dlhq (ttihp-HDSISO8) tt_um_ygdes_hdsiso8_rs (ttihp-HDSISO8RS) tt_um_YannGuidon_TinyScanChain (TinyScanChain5L) tt_um_MichaelBell_photo_frame (Photo Frame) tt_um_digital_clock_example (7-Segment Digital Desk Clock) tt_um_miniMAC (miniMAC_5L) tt_um_tinymoa_ihp0p4_16x16 (TinyMOA-IHP0P4-16x16) tt_um_glyph_mode_hd (Glyph Mode HD) tt_um_prism_lite (ihp_cmos51_prism) tt_um_htfab_rotfpga2 (ROTFPGA v2) tt_um_SotaSoC (SotaSoC) tt_um_essen (Fast bfloat multiplication) tt_um_calonso88_spi_i2c_reg_bank (Register bank accessible through SPI and I2C) tt_um_urish_usb_cdc (USB CDC (Serial) Device) tt_um_urish_rings (VGA Rings) tt_um_toivoh_demo (Orion Iron Ion [TT08 demo competition]) tt_um_2048_vga_game (2048 sliding tile puzzle game (VGA)) tt_um_pakesson_glitcher (Glitcher) tt_um_chatelao_fp8_multiplier (OCP MXFP8 Streaming MAC Unit) tt_um_algofoogle_raybox_zero (raybox-zero TTIHP0p4 edition) tt_um_flummer_ltc (Linear Timecode (LTC) generator with I2C control) tt_um_lledoux_s3fdp_seqcomb (Pattern-Guided Arithmetic Optimizations with MLIR) tt_um_snake_game (SnakeGame) tt_um_spongent88 (Spongent-88 Hash Accelerator) tt_um_lledoux_bf16_diminished_kulisch (Pattern-Guided Arithmetic Optimizations with MLIR kulisch bf16) tt_um_float_synth_nikleberg (float_synth) tt_um_silicon_strummer (Silicon Strummer) tt_um_vga_clock (VGA clock) tt_um_urish_sic1 (SIC-1 8-bit SUBLEQ Single Instruction Computer) tt_um_algofoogle_vgaringosc (Ring osc on VGA) tt_um_tinymoa_ihp0p4_8x8 (TinyMOA-IHP0P4-8x8) tt_um_tinytapeout_logo_screensaver (VGA Screensaver with Tiny Tapeout Logo) tt_um_lisa (LISA 8-Bit Microcontroller) tt_um_nicklausthompson_twi_monitor (TWI Monitor) Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available