Title: VGA_CON_V1 Readme File Author: Andrew Shorten Date: April 2009 ------- Purpose ------- The purpose of this EDK project is to demonstrate the correct way of adding the Xilix xps_tft module to an EDK project. The xps_tft module exhibits two potentially useful pieces of functionality. First, the module is capable of reading pixel information out of memory locations on a PLB bus. Second, the module is capable of producing the correct output signals to drive a VGA DAC chip and display this pixel information. This demonstration specifically targets the XUPV2P board and uses the MPMC module to store pixel data in DDR memory. There are two noteworthy aspects of this EDK project: 1) The Hardware Configuration This project can be used as a guide for adding the xps_tft module to an EDK project. To migrate the functionality of this project to other EDK projects, you will need to copy the information labeled "VGA Control Signals" in both the system.mhs and system.ucf files. Also, be sure to take the xps_tft module out of "tft" mode. 2) The main.c and VGA.h files in the "source" directory The VGA.h file contains a set of C structs and functions that provide quick and easy access to the xps_tftmodule. The main.c file contains an example of how to use the code in VGA.h to produce a simple moving imageon a VGA monitor. For more information on these files, see the comments that have been added to them. ---------- How to Use ---------- Compile the project and configure the XUPV2P board normally. Without any modifications the VGA output of the XUPV2P should produce a red box bouncing on a blue background. ------------- Special Notes ------------- The xps_tft module expects pixel information to be stored in a noteworthy way. Each pixel is stored as a 32 bit (4 byte) word. The format of each pixel word is as follows: 0xUURRGGBB Where: U = unused R = red pixel data G = green pixel data B = blue pixel data Furthermore, while the module only uses a resolution of 640x480, it expects each line to be stored as a series of 1024 pixels. Thus there are 384 "dead" pixels at the end of every line that are not used. For a 640x480 screen resolution the xps_tft requires 1024x480x(4bytes) = 1966080 bytes of memory.