Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The S3ESK VGA Core provides a 3-bit (eight colour) display output at 640x480, 800x600 or 1024x768 for the Spartan-3E Starter Boards, previously used in the EMBS module.

Please read this entire page before using the VGA core in your design (I know it's long, but it'll help, I promise). If you find any issues with the core, ask a demonstrator or email russell.joyce@york.ac.uk.

...

A note on memory bandwidth

While a VGA core set to 1024x768 resolution at 8 bits-per-pixel will function fine if it is the only part of the system accessing DDR, it uses a lot of memory and PLB bandwidth. If your system is experiencing delays accessing the PLB or DDR, or the graphics output has problems, try reducing the resolution or bits-per-pixel values. As a rough guide to relative PLB and memory utilisation, the following table shows the number of bytes read from DDR per second for each configuration.

ResolutionBits per pixelBytes read per second
640x48049,216,000
640x480818,432,000
800x600414,400,000
800x600828,800,000
1024x768423,592,960
1024x768847,185,920

...

The file contains functions for 4- and 8-bit output, and allows the screen resolution to be set, so make sure the constants at the top of the file are correct before use.

FPGA Resource Usage

On a Spartan-3E xc3s500e (the FPGA that is on the Starter Board), Xilinx ISE estimates the core usage at:

Logic UtilisationUsedAvailableUtilisation
Number of Slices3734,6568%
Number of Slice Flip Flops4379,3124%
Number of 4 input LUTs5289,3125%
Number of bonded IOBs02320%
Number of BRAMs1205%