VGA Contoller

Apr 06, 2004 3 Replies

Hi everybody,



I'm a student and for a project at school we have to make a VGA controller. Does anyone have a good customizable example or does anyone know where to download one? What do I have to do if I want to make one of my own.



The input datawidth = 16 bit & the target device is a Xilinx Spartan IIE FPGA.



Thanks in advance,



Sander Odekerken


Hi Sander, Your teacher's picked a good project! Try Googling for vga.pdf from xess.com. (Search for 'vga.pdf', it's the first Google result.) That helps you wire it up.

Then this might help you with frequencies...

TABLE 1 VGA CORE VIDEO MODES IBM Standard Modes Mode Type Display Alpha. Res. Colors Vert. Horz. Pix Clk

0, 1 A/N 40 x 25 8 x 8 320 x 200 16 70 Hz 31.778 kHz 25.175 MHz 2, 3 A/N 80 x 25 8 x 8 640 x 200 16 70 Hz 31.778 kHz 25.175 MHz 0*, 1* A/N 40 x 25 8 x 14 320 x 350 16 70 Hz 31.778 kHz 25.175 MHz 2*, 3* A/N 80 x 25 8 x 14 640 x 350 16 70 Hz 31.778 kHz 25.175 MHz 0+, 1+ A/N 40 x 25 9 x 16 360 x 400 16 70 Hz 31.778 kHz 28.322 MHz 2+, 3+ A/N 80 x 25 9 x 16 720 x 400 16 70 Hz 31.778 kHz 28.322 MHz 4, 5 APA - - 320 x 200 4 70 Hz 31.778 kHz 25.175 MHz 6 APA - - 640 x 200 2 70 Hz 31.778 kHz 25.175 MHz 7 A/N 80 x 25 9 x 14 720 x 350 Mono 70 Hz 31.778 kHz 28.322 MHz 7+ A/N 80 x 25 9 x 16 720 x 400 Mono 70 Hz 31.778 kHz 28.322 MHz D APA - - 320 x 200 16 70 Hz 31.778 kHz 25.175 MHz E APA - - 640 x 200 16 70 Hz 31.778 kHz 25.175 MHz F APA - - 640 x 350 Mono 70 Hz 31.778 kHz 25.175 MHz 10 APA - - 640 x 350 16 70 Hz 31.778 kHz 25.175 MHz 11 APA - - 640 x 480 2 60Hz 31.778 kHz 25.175 MHz 12 APA - - 640 x 480 16 60Hz 31.778 kHz 25.175 MHz 13 APA - - 320 x 200 256 70 Hz 31.778 kHz 25.175 MHz Enhanced Modes 18 A/N 132 x 44 8 x 8 1056 x 352 Mono 70 Hz 30.5 kHz 40.00 MHz 19 A/N 132 x 25 8 x 14 1056 x 350 Mono 70 Hz 30.5 kHz 40.00 MHz 1A A/N 132 x 28 8 x 13 1056 x 364 Mono 70 Hz 30.5 kHz 40.00 MHz 22 A/N 132 x 44 8 x 8 1056 x 352 16 70 Hz 30.5 kHz 40.00 MHz 23 A/N 132 x 25 8 x 14 1056 x 350 16 70 Hz 30.5 kHz 40.00 MHz 24 A/N 132 x 28 8 x 13 1056 x 364 16 70 Hz 30.5 kHz 40.00 MHz 25 APA - - 640 x 480 16 72 Hz 38.7 kHz 32.512 MHz 26 A/N 80 x 60 8 x 8 640 x 480 16 60 Hz 31.5 kHz 28.322 MHz 29 APA - - 800 x 600 16 60 Hz 38.0 kHz 40.00 MHz 2A A/N 100 x 40 8 x 15 800 x 600 16 60 Hz 38.0 kHz 40.00 MHz 2D APA - - 640 x 350 256 70 Hz 31.5 kHz 25.175 MHz 2E APA - - 640 x 480 256 60 Hz 31.5 kHz 25.175 MHz 30 APA - - 800 x 600 256 60 Hz 38.0 kHz 40.00 MHz 37 APA - - 1024 x 768 16 60 Hz 49.9 kHz 65.00 MHz NTSC Modes - CCIR 601 Data Rates 3# A/N 80 x 25 9 x 16 640 x 480 16 60 Hz 15.73 kHz 27 MHz 12# APA - - 640 x 480 16 60Hz 15.73 kHz 27 MHz PAL Modes - CCIR 601 Data Rates 3@ A/N 80 x 25 9 x 16 640 x 480 16 50 Hz 15.62 kHz 27 MHz 12@ APA - - 640 x 480 16 50Hz 15.62 kHz 27 MHz

good luck with it, Syms.

controller.

controller.

formatting link
Click on Lab 4 files. One of the verilog files is a video timing controller (VTC).

More details on that at

formatting link

I think his codes are self explanatory. You can customize his code by changing the resolution, refresh rate etc.

Incidentaly, the input datawidth for the VTC is 16 bits and I have used this VTC for Xilinx Spartan IIE and it worked.

Hendra

controller.

formatting link
Click on Lab 4 files. One of the verilog files is a video timing controller (VTC).

More details on that at

formatting link

I think his codes are self explanatory. You can customize his code by changing the resolution, refresh rate etc.

Incidentaly, the input datawidth for the VTC is 16 bits and I have used this VTC for Xilinx Spartan IIE and it worked.

Hendra

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required