VGA output.
This is the VGA output shown on a monitor. ( Click on the image to see the enlarge version )

Description:

This project generates real-time a 3-bit colour VGA screen from a textbuffer.
While using a PC 8x8 character ROM to translate the text buffer data to a image.

A Xilinx Spartan 3E is used for this project.
I used the internal memory block as textbuffer.
In the text buffer are the colours and text data stored.
This buffer is filled with pre-programmed data that was generated in the core generator.
You can fill the buffer via the serial port (9600 baud).
The data you have to send is <8-bit character data><8-bit colour data><8-bit character data><8-bit colour data>...
The buffer fills at the begin of the memory. When a timeout (2 sec) occurs the textbuffer counter resets.
VGA Encoder will generate the Hsync and Vsync signals and also X and Y coordinates.
The Controller converts XY data to a Text Buffer location.
Text Buffer copies his data to the Character ROM.
The Character ROM converts the Character data to a pixel and send the pixel to the VGA encoder.

Block Diagram:

VGA project block diagram.
Here a schematic overview how the modules work together.

Status:

  • Jitter/Timing Timing is not right.
  • Add Mouse PS2 Driver Convert 1 character as a mouse cursor.

Source Code:

You can download the verilog source code here

Kit Connected:

VGA project block diagram.
Updated 30-10-2009 | © 2005-2010 René van Dorst. | Sitemap