GTS HDMI Intel® FPGA IP User Guide

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

7.4. Sink Deep Color Implementation

You should drive vid_clk based on their frequency, regardless of the color depth ratio.

vid_clk frequency = 300 MHz

In deep color mode, the video data (30 bpp, 36 bpp, or 48 bpp) in the vid_clk domain has higher throughput than the data in the ls_clk domain. The HDMI RX core uses the vid_valid signal to indicate the validity of the video data at a specific clock.

Figure 40. Deep Color Implementation

If your user logic cannot process the video data at a faster rate, you can use a DCFIFO to clock cross the video data from vid_clk to the actual pixel clock as shown in the diagram below. The wren signal of the DCFIFO IP connects to the vid_valid signal from the HDMI RX core. The rden signal is always asserted.

When operating in 10 bits per color, the vid_ready signal is high for 4 out of 5 clock cycles. For every 5 clock cycles, the HDMI RX core receives 4 valid video data with 10 bits per color.

The timing diagrams and description below assume that the video data at the vid_clk domain is running at the actual deep color data rate. If the video data at the vid_clk domain is running faster than the actual deep color data rate, the vid_valid signal would toggle more.

Figure 41. 10 Bits per Component (30 Bits per Pixel)When operating in 10 bits per component, the vid_valid signal is high for 4 out of 5 clock cycles. For every 5 clock cycles, the HDMI RX core receives 4 valid video data with 10 bits per component.
Figure 42. 12 Bits per Component (36 Bits per Pixel)When operating in 12 bits per component, the vid_valid signal is high for 2 out of 3 clock cycles. For every 3 clock cycles, the HDMI RX core receives 2 valid video data with 12 bits per component.
Figure 43. 16 Bits per Component (48 Bits per Pixel)When operating in 16 bits per component, the vid_valid signal is high for 1 out of 2 clock cycles. For every 2 clock cycles, the HDMI RX core receives 1 video valid data with 16 bits per component.