GTH Initialization and Reset and Change Sequence Failure Codes

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

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

If a failure occurs during a GTH RX initialization or reset sequence or during a dynamic change of the RX SDI mode, the rx_change_fail_out port is asserted High and a failure code is output on the rx_change_fail_code_out port. A sequence only ends in failure once it has been retried the maximum number of times allowed by the retry counter. The maximum number of retries is controlled by the width of the retry counter as specified by the RX_RETRY_CNTR_MSB parameter or generic of the v_smpte_uhdsdi_kugth_control.v in the SDI Wrapper module. The number of retries attempted is:

Retries = 2 RX_RETRY_CNTR_MSB - 1

The encoding of the rx_change_fail_out port is shown in the following table:

Table 1. rx_change_fail_code_out Port Encoding
Code Description
0 Reserved
1 When a change of the RX SDI mode is requested that requires changing the RXCDR_CFG2 attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written RXCDR_CFG2 value and its actual content after retries, the sequence fails with this failure code.
2 When a change of the RX SDI mode is requested that requires changing the RXOUT_DIV attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written RXOUT_DIV value and its actual content after retries, the sequence fails with this failure code.
3 The gtwiz_reset_rx_datapath_in port of the GTH Wizard IP is asserted after completing a series for DRP and GTH port during a dynamic change to reset the GTH RX portion. If the gtwiz_reset_rx_done_out port of GTH Wizard IP failed to assert after retries, the sequence fails with this failure code.
4 When a change of the RX SDI mode is requested that requires changing the RXDATA_WIDTH attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written RXDATA_WIDTH value and its actual content after retries, the sequence fails with this failure code.
5 When a change of the RX SDI mode is requested that requires changing the RXINT_DATAWIDTH attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written RXINT_DATAWIDTH value and its actual content after retries, the sequence fails with this failure code.
6 Reserved
7 Reserved

Any sequence failure that results in the rx_change_fail_out port going High causes the GTH RX control logic in the SDI wrapper to stop in a failure condition. The GTH RX may continue to receive an SDI signal, but does not dynamically switch between SDI modes as it normally would. If a failure occurs as indicated by rx_change_fail_out going High, a GTH RX full reset must be done using the rx_rst_in and gth_wiz_reset_rx_pll_and_datapath_in. This output is synchronous with the gth_drpclk_in. Repeated failures most likely indicate a problem with the design of the application.

If a failure occurs during a GTH TX initialization or reset sequence or during a dynamic change of the TX SDI mode, the tx_change_fail_out port is asserted High and a failure code is output on the tx_change_fail_code_out port. A sequence only ends in failure once it has been retried the maximum number of times allowed by the retry counter. The maximum number of retries is controlled by the width of the retry counter as specified by the TX_RETRY_CNTR_MSB parameter or generic of the v_smpte_uhdsdi_kugth_control.v in the SDI Wrapper module. The number of retries attempted is:

Retries = 2 TX_RETRY_CNTR_MSB - 1

The encoding of the tx_change_fail_code port is shown in the following table.

Table 2. tx_change_fail_code_out Port Encoding
Code Description
0 Reserved
1 When a change of the TX SDI mode is requested that requires changing the TXDATA_WIDTH attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written TXDATA_WIDTH value and its actual content after retries, the sequence fails with this failure code.
2 When a change of the TX SDI mode is requested that requires changing the TXINT_DATAWIDTH attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written TXINT_DATAWIDTH value and its actual content after retries, the sequence fails with this failure code.
3 When a change of the TX SDI mode is requested that requires changing the TXOUT_DIV attribute in the GTH transceiver, the v_smpte_uhdsdi_kugth_control module attempts to do a DRP write cycle to change that attribute. If the v_smpte_uhdsdi_kugth_drp control module detected a mismatch between the written TXOUT_DIV value and its actual content after retries, the sequence fails with this failure code.
4 The gtwiz_reset_tx_datapath_in port of the GTH Wizard IP is asserted after completing a series for DRP and GTH port during a dynamic change to reset the GTH TX portion. If the gtwiz_reset_tx_done_out port of GTH Wizard IP failed to assert after retries, the sequence fails with this failure code.
5 Reserved
6 Reserved
7 Reserved