GTS HDMI Intel® FPGA IP User Guide

ID 823533
Date 11/25/2024
Public
Document Table of Contents

6.4. Valid Video Data

You can generate video data using a different clock, other than vid_clk used in the HDMI TX core.

To generate video data, you need to use the actual pixel clock but vid_clk runs at a faster frequency. You can use a FIFO buffer to clock the data between the actual pixel clock and vid_clk while generating the valid video data (vid_valid) based on the inverted empty FIFO buffer.

For example, when operating at 6 Gbps link rate while transmitting 3840 x 2160p60 RGB resolution, a test pattern generator configured at 2 pixels in parallel runs at 297 MHz with the vid_clk domain of the HDMI TX core operating at 300 MHz. Like this case, not every vid_clk has valid video data. You can handle similar cases using the inverted empty signal of the DCFIFO.

When vid_clk runs at a faster frequency than the actual pixel clock frequency/pixels per clock, toggle vid_valid to qualify the video data.

Figure 24. Video Clock Running at Faster Frequency

When you connect the test pattern generator to the HDMI TX core which runs at a faster clock rate, you need to generate the vid_valid to qualify validity of the pixel data. There is a requirement for the vid_valid generation to ensure the video data evenly distributed across the link bandwidth. An example for the vid_valid generation is as below:

First, you need to calculate the ratio of the pixel rate to the vid_clk frequency. For example, 4kp60 video at 2 pixels per clock which runs at vid_clk of 300 Mhz, the ratio is

Then, you need to create a logic to generate the vid_valid according to the calculated ratio. For the example above, the vid_valid should be evenly asserted for 99 clock cycles for every 100 clock cycles.

Figure 25. Timing diagram for the vid_valid generation

When vid_clk runs at the actual pixel clock frequency/pixels per clock, vid_valid should always remain asserted.

Figure 26. Video Clock Running at Actual Frequency