VGA timings

From Hamsterworks Wiki!

Jump to: navigation, search

Here are the VGA timings I use within my projects.

The 640x480 mode is good, as most monitors work with 25MHz, it is also slow enough that timing isn't an issue. The 800x600 mode requires a lot more data, but 40MHz still gives a lot of time.

Mode MHznsH VisibleH FrontH SyncH BackH WholeHSyncV VisableV FrontV SyncV BackV WholeVsync
640x480x6025.175 39.72 64016 96 48 800-48010 233525-
800x600x6040.00 25.00 80040128 881056+600 1 423628+
1024x768x6065.00 20.67 102424136 1601344-768 3 629806-
1280x720x60 (aka 720p) 74.2513.47128072 802161648+ 720 3 522 750 +
1920x1080x60 (aka 1080p)148.50 6.73192088441482200+108045361125+
3840x2160x30 (aka 2160p) (see note)265.00 3.80384032481224400+216053232190+
3840x2160x30 (aka 2160p) (see note)297.00 3.373840156882964400+216028722250+


By using the DDR feature of an FPGA's output buffers it is possible to split a cycle in half. Two and a half 100MHz cycles nicely makes 25ns, allowing a project to run at 100MHz but still generate a 40MHz signal

  • The first set of 2160p timings are from a Viewsonic monitor's EDID data. They may not be accurate as they suspiciously look as if the timings have been tweaked to fit down a dual channel DisplayPort interface. However they do work.
Personal tools