The Video PHY Controller HDMI application requires a system clock and a maximum of three GT reference clock inputs:
- System Clock
- HDMI TX from an external clock generator
- HDMI RX in CDR mode (normal operation)
- HDMI RX NI-DRU mode
The system clock should drive the
UltraScale+/UltraScale devices only); the ports should be connected to a valid clock
such as 50 MHz, 100 MHz, or 150 MHz clock. The system clock must be properly buffered
(that is, BUFG) before it can be used and connected.
The HDMI TX and RX reference clock (Transition Minimized
Differential Signaling (TMDS) clocks) input frequency varies according to the input
video and both are maximized at 297 MHz. Starting in Vivado 2018.3, the corresponding reference clock frequencies must be
constrained at the Vivado Project top level XDC file
at 297 MHz; that is,
create_clock -period 3.367 [get_ports
<HDMI TX/RX REFCLK portname>]. The NI-DRU reference clock frequency is fixed and is dependent on
the transceiver type as follows:
- 125 MHz
- GTHE3, GTHE4, and GTYE4
- 156.25 MHz
- 100 MHz
Starting in Vivado
2018.3, the NI-DRU reference clock frequency must be constrained at the Vivado Project top level XDC file at specified frequency;
that is, for GTHE4:
create_clock -period 6.400 [get_ports
<NI-DRU REFCCLK portname>]
The following figure illustrates the full reference clock requirement connections.
The HDMI TX reference clock comes from an external programmable clock generator capable of generating a range of frequencies from the minimum PLL reference clock (see HDMI TX Oversampled Reference Clock Requirements) to the maximum TMDS clock for supported video formats. For example, the Video PHY Controller TX uses the GTXE2 QPLL and supports up to 4Kp60 at two pixels per clock. This means the programmable clock generator must be able to generate frequencies from 74.125 MHz to 297 MHz. For resolutions requiring lower TMDS clock than the minimum PLL reference clock, the Video PHY Controller uses the oversampling technique (see the following section for details).
txrefclk port is accompanied by the
tx_refclk_rdy port to indicate a lock condition. The
tx_refclk_rdy port has three requirements:
- Connected to the external clock generator lock pin by default or can
be toggled through GPIO. It must be toggled (deasserted then asserted) for every
video format change. Alternatively, the TX Frequency Reset bit (bit 3) of the Clock
Detector Control register (0x200) can be set if the
tx_refclk_rdyport is active.
- It can only be asserted when
the clock at
txrefclk_p/nport is stable.
- At AXILITE CLK = 100 MHz, the
tx_refclk_rdyminimum hold time are 5 us and 4 ms for fast switching and non-fast switching modes respectively.
TX REFCLK frequency detection is sensitive only to the behavior of the
tx_refclk_rdy port, a change on which triggers the clock
detector to issue the TX frequency change event. The external clock generator is set up
for the desired TX clock frequency, which means that the Video PHY Controller TX should get the requested frequency from the clock
generator. Because the assumption is that Video PHY Controller gets the correct clock, it only requires the LOCK event to
trigger the TX reconfiguration which is represented by the assertion of