Automatic RX SDI Mode Detection

Implementing SMPTE SDI Interfaces with UltraScale GTH Transceivers Application Note (XAPP1248)

Document ID
XAPP1248
Release Date
2023-11-08
Revision
v1.6 English

The UHD-SDI core can automatically determine the SDI mode (SD, HD, 3G, 6G, or 12G-SDI) of the SDI signal coming into the GTH RX. When it is not locked to the current SDI input signal, the UHD-SDI core sequences the GTH RX through the five different SDI modes until it detects recognizably good SDI data on the rxdata output port of the GTH. At that point, the UHD-SDI core indicates that the GTH CDR is locked to the SDI signal by asserting its rx_mode_locked_out port. And, it indicates which SDI mode the RX is locked to on its sdi_mode_out port.

It is important to understand that the rx_mode_locked signal is an indication of whether or not the UHD-SDI core thinks that the GTH RX is locked to the SDI signal, and nothing more. It is really just an indication of whether the UHD-SDI core's mode search state machine is still searching for the correct SDI mode or not. Because of this, rx_mode_locked should not be considered as an absolute indicator as to the locked status of the UHD-SDI RX.

When the GTH RX is not locked to the input SDI signal and the UHD-SDI core is actively controlling GTH RX in an effort to determine the correct SDI mode, the rx_mode_locked signal may briefly become asserted. This happens if the incoming data randomly appears to be a valid SAV sequence. If an SAV sequence is detected, the UHD-SDI core asserts rx_mode_locked and pauses the mode search expecting more good data to be received. If, however, good data is not received within a specific timeout period, the rx_mode_locked signal is negated and the SDI mode search resumes.

The SDI mode search algorithm only attempts to lock to SDI modes that are enabled by the rx_mode_en_in port of the UHD-SDI wrapper. This 6-bit port has unary bits that enable HD-SDI (bit 0), SD-SDI (bit 1), 3G-SDI (bit 2), 6G-SDI (bit 3), and 12G-SDI at 11.88 Gbps (bit 4), and 12G-SDI at 11.88/1.001 Gbps (bit 5). Because the GTH RX must be configured with different reference clock frequencies for the two 12G-SDI line rates, the two 12G-SDI line rates are treated as different SDI modes by the mode search algorithm. And, because there are separate enable bits on the rx_mode_en_in port, it is possible to specify that only one of the two 12G-SDI line rates should be included in the mode search. This is useful for those applications where it is undesirable to have the reference clock frequency of the QPLL frequently changed as the GTH RX scans through the two 12G-SDI line rates.

The rx_mode_en_in port can be changed dynamically. However, if the UHD-SDI RX is already locked to a mode that becomes disabled by dynamically clearing its bit on the rx_mode_en_in port, this does not automatically kick the UHD-SDI RX out of that mode. The UHD-SDI RX remains locked in the SDI mode until the input SDI signal changes or the UHD-SDI RX is reset, forcing the SDI mode search algorithm to try and identify the SDI mode using the new settings of the rx_mode_en_in port.

It is possible to disable the automatic SDI mode search algorithm of the UHD-SDI core. The mode search algorithm is only enabled when the rx_mode_detect_en_in port is High. If this port is Low, then the UHD-SDI RX must be told what SDI mode to operate in through the rx_forced_mode_in port. When rx_mode_detect_en_in is Low and the SDI mode search algorithm is disabled, the SDI RX is in the mode specified by the rx_forced_mode_in port and the rx_mode_locked output is always High. Thus, rx_mode_locked cannot be used as a locked indicator or a data valid indicator in this mode. When the mode search algorithm is disabled, dynamic changes on rx_forced_mode_in cause the SDI control logic to dynamically change the settings of the GTH RX as necessary for the new SDI mode.