Project: vgalab2

Download: project files

This project shows a character set on the VGA display. Text is stored as a 64 character wide by 16 character high array. Individual characters are mapped to a bitmap font table and then to the VGA display. Characters are 8 pixels wide by 16 pixels high, and are read in groups of 8 pixels (1 byte) per memory access into the font table. There are timing issues here that were resolved in a somewhat ad hoc manner. Considerable room for improvement remains for the interested programmer.

The text table has both read and write access, although we only perform read access in this project. 64 x 16 = 1024 characters with one byte per character.

The font table stores 128 characters with 16 bytes per character, for a total memory size of 2048 bytes.

Nominal memory requirements are 3072 bytes or 24576 bits. The actual memory allocated was

Total memory bits : 23,552 / 483,840 ( 5 % )
or 1024 bits less than specified.

Memory Waveforms

See text memory waveforms, and font memory waveforms, both generated by Quartus.

References

Verilog source and Quartus reports


Maintained by John Loomis, last updated 13 March 2008