Figure 1 illustrates the basic
timing requirements for each row (horizontal) that is displayed on a VGA
monitor. An active-low pulse of specific duration (time a in the figure) is
applied to the horizontal synchronization (hsync) input of the monitor,
which signifies the end of one row of data and the start of the next. The
data (RGB) input on the monitor must be driven low for a time period
called the back porch (b) after the hsync pulse occurs, which is followed
by the display interval (c). During the data display interval the RGB data
drives each pixel in turn across the row being displayed. Finally, there is a
time period called the front porch (d) where the data (RGB) inputs must
again be off before the next hsync pulse can occur. The timing of the
vertical synchronization (vsync) is the same as shown in Figure 3.9,
except that a vsync pulse signifies the end of one frame and the start of
the next, and the refers to the set of rows in the frame. Tables 1 and
2 show, for different resolutions, the durations of time periods a, b, c
and d for both horizontal and vertical timing.

Figure 1 – VGA timing specification
| VGA Mode | Horizontal Timing Spec. | |||||
|---|---|---|---|---|---|---|
| Configuration | Resolution | a (pixels) | b (pixels) | c (pixels) | d (pixels) | Pixel clock |
| VGA (60Hz) | 640×480 | 96 | 48 | 640 | 15 | 25 MHz |
| VGA (85Hz) | 640×480 | 58 | 79 | 640 | 58 | 36 MHz |
| SVGA (60Hz) | 800×600 | 128 | 88 | 800 | 40 | 40 MHz |
| SVGA (75Hz) | 800×600 | 79 | 158 | 800 | 15 | 49 MHz |
| SVGA (85Hz) | 800×600 | 62 | 152 | 800 | 34 | 56 MHz |
| XGA (60Hz) | 1024×768 | 136 | 162 | 1024 | 26 | 65 MHz |
| XGA (70Hz) | 1024×768 | 135 | 142 | 1024 | 23 | 75 MHz |
| XGA (85Hz) | 1024×768 | 95 | 209 | 1024 | 47 | 95 MHz |
Table 1 – VGA horizontal timing specification
| VGA Mode | Vertical Timing Spec. | ||||
|---|---|---|---|---|---|
| Configuration | Resolution | a (lines) | b (lines) | c (lines) | d (lines) |
| VGA (60Hz) | 640×480 | 2 | 33 | 480 | 10 |
| VGA (85Hz) | 640×480 | 3 | 25 | 480 | 1 |
| SVGA (60Hz) | 800×600 | 4 | 23 | 600 | 1 |
| SVGA (75Hz) | 800×600 | 3 | 21 | 600 | 1 |
| SVGA (85Hz) | 800×600 | 3 | 27 | 600 | 1 |
| XGA (60Hz) | 1024×768 | 6 | 29 | 768 | 3 |
| XGA (70Hz) | 1024×768 | 6 | 29 | 768 | 3 |
| XGA (85Hz) | 1024×768 | 3 | 36 | 768 | 1 |
Table 2 – VGA vertical timing specification