Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎06-07-2010

Video syncing timing reference



I’m working with the Xilinx Virtex®-5 XC5VLX110T board.

I’m trying to capture some video from the VGA input, which consists on an AD9980 device, and drive the digitalized video signal to the DVI Chrontel CH7301C output.


Both devices are already functional. I can generate the video syncing signals with a simple VHDL code, for the 800x600@72Hz resolution. The monitor that is connected to the DVI output recognizes the test pattern generated by the Chrontel device just fine.


Then I created a code to manage the video input.

I plugged the output from my computer video card in the VGA input of the board and use the pixel clock generated by the AD9980 device as the pixel reference to the syncing signals.

However, it turns out that the frequency generated by the AD9980 device is not the frequency I expected (the resolution is the also 800x600@72Hz).


I don’t know if the documentation I’m taking as reference is correct. In order to generate the syncing output signals, I need to know some information, such as:


  • Pixel clock frequency
  • Horizontal syncing polarity, duration and other information, such as the front porch and back porch timings.
  • Vertical syncing polarity, duration and other information, such as the front porch and back porch timings.


I assumed that the monitor and the video card from my computer generate video signal according to the VESA standards.

However, I can’t find the documentation that provides these information.

I’m using this documentation as refence, but I don’t know if it’s right.

Can anyone tell me where I can find the documentation used as reference to the different resolutions standards?



Felipe Dalcin

0 Kudos
2 Replies
Registered: ‎07-21-2009

In general, computer display standards are more like "guidelines" than hard and fast requirements.  In contrast, broadcast video standards are completely and utterly non-negotiable and rock solid.  If you want an analogue video reference signal with known characteristics, then use the component analogue video output from a satellite TV receiver, a cable set-top box, or (more suspect, but still probably OK) even the analogue output from a DVD player.

However, it turns out that the frequency generated by the AD9980 device is not the frequency I expected (the resolution is the also 800x600@72Hz).

Do you understand that you (the FPGA) controls the frequency of the AD9980  "pixel clock" output?  If not, you need to search for references to "PLL" in the AD9980 datasheet.  It will open your eyes.


I strongly recommend you use a well-defined signal format as your analogue reference.  This means a broadcast format signal, not a graphics card output.


Having said that, let's talk about pixel clock.  In the context of analogue component video, there is no pixel clock until you sample and digitize the video.  The pixel clock is whatever you decide it should be.  That should give you something to ponder, and should also give you some guidance for programming the PLL in the AD9980.


Remember my advice to use a broadcast format signal as an analogue reference?  In North America, there is but one (and only one) commonly used progressive (non-interlaced) analogue video format:  720P/59.94.  The other commonly used broadcast formats (North America) are 480i and 1080i.  There is an EDTV (Enhanced Definition, as opposed to High Def or Std Def) standard format 480P, but it is rarely broadcast (or, at least, I hardly ever notice it).


For your purposes (digital video from analogue video by way of AD9980), the important timing reference for your (and for the AD9980) is the H sync.  Using a broadcast standard, the H sync frequency is very tightly controller and well known.  The AD9980 uses the leading edge of H sync as its PLL phase reference.  720P video has 750 video lines, with a frame rate of 59.94Hz (North America).  Therefore the H sync frequency will be [750 * 59.94], and this isn't just a guideline.


- Bob Elkind

README for newbies is here:

1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Registered: ‎08-14-2007

The last time I looked, you had to either be a member of VESA or pay big $$

to get a copy of the actual VESA standards.  However you can get most of the

required timing information at this "video timing calculator" site:


Video Timing Calculator


You can also download the page and use the calculator offline (Java script).


The $64K question when capturing analog video is always "how many pixel clocks to a line period?"

You need this value exactly in order to capture clean video from a graphics adapter.  Also be aware that

DVI formats also include timings not listed in the analog specs.  This is because newer displays

don't need the "retrace" timing of the old CRT's, so the digital formats include some with much

smaller blanking and sync intervals to bring up the available video bandwidth without going

beyond the DVI's maximum pixel clock rate.


-- Gabor

-- Gabor