SD-SDI RX EDH Processor

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

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

The SDI receiver can, optionally, include an EDH processor for detecting receiver errors in SD-SDI mode. The EDH processor does not update EDH packets in the SD-SDI data stream. It simply reports any errors found and also captures the error flags from each EDH packet.

The EDH processor has a 16-bit counter that counts the number of fields with errors. The current error count is output on the rx_edh_errcnt_out port of the SDI wrapper. The counter is cleared by asserting rx_edh_clr_errcnt_in High. You can specify which types of errors are counted by this counter using the rx_edh_errcnt_en_in port. This port has 16 unary bits that enable and disable 16 different error types. Any bit that is High enables the corresponding error to be counted by the error counter. Any bit that is Low disables the corresponding error. If multiple errors occur in the same field, the EDH error counter only increments by one. The following table shows the encoding of the bits on the rx_edh_errcnt_en_in port.

Table 1. rx_edh_errcnt_en_in Bits
Bit # Error
0 ANC EDH error
1 ANC EDA error
2 ANC IDH error
3 ANC IDA error
4 ANC UES error
5 FF EDH error
6 FF EDA error
7 FF IDH error
8 FF IDA error
9 FF UES error
10 AP EDH error
11 AP EDA error
12 AP IDH error
13 AP IDA error
14 AP UES error
15 EDH packet checksum error

The ANC error conditions are associated with errors in the ancillary data packets. The FF error conditions are associated with errors detected by the full field CRC. The AP error conditions are associated with errors detected by the active picture CRC. The EDH packet checksum error indicates a checksum error was found within the EDH packet itself.

Each ANC, FF, and AP error condition set has five individual error flags. All flags are asserted High to indicate an error condition. For a complete description of the EDH, EDA, IDH, IDA, and UES error flags in the EDH packet, refer to the SMPTE RP 165 document.

EDH error
This error condition occurs when the EDH processor detects a CRC error (checksum error for ANC packets) in a field. For example, the FF EDH error flag indicates an error was detected by the full field CRC.
EDA error
This error condition occurs when the EDA or EDH flags of the received EDH packet are asserted.
IDH error
This error condition is not supported by the RX EDH processor.
IDA error
This error condition occurs when the IDA or IDH flags of the received EDH packet are asserted.
UES error
This error condition occurs when the UES flag in the received EDH packet is asserted.

In addition to being counted, if enabled, by the error counter, any detected ANC EDH, AP EDH, and FF EDH errors are also indicated by assertion of the rx_edh_anc_out, rx_edh_ap_out, and rx_edh_ff_out ports, respectively. Thus, the rx_edh_anc port is asserted whenever a checksum error is detected in an ancillary data packet. The rx_edh_ap port is asserted when the calculated active picture CRC does not match the AP CRC in the EDH packet. And, the rx_edh_ff_out port is asserted when the calculated full field CRC does not match the FF CRC in the EDH packet.

The RX EDH processor also outputs the ANC, AP, and FF error flags from the EDH packet on the rx_edh_anc_flags_out, rx_edh_ap_flags_out, and rx_edh_ff_flags_out ports, respectively. These output ports are exact copies of the flags found in the last received EDH packet. Thus, they differ from the detected errors used to increment the error counter and output on the rx_edh_anc_out, rx_edh_ap_out, and rx_edh_ff_out ports. For example, the EDH flag (bit 0) of the rx_edh_ap_flags_out port indicates that the AP EDH flag was set in the last received EDH packet. However, the rx_edh_ap_out port indicates that the active picture CRC calculated locally by the EDH processor does not match the AP CRC value in the EDH packet. The rx_edh_anc_flags_out, rx_edh_ap_flags_out, and rx_edh_ff_flags_out ports are each five bits wide; the encoding of all three ports are identical and is shown in the following table.

Table 2. Encoding of rx_edh_anc_flags_out, rx_edh_ap_flags_out, and rx_edh_ff_flags_out Ports
Bit # Error
0 EDH
1 EDA
2 IDH
3 IDA
4 UES

The RX EDH processor also produces four error flags related to the format and contents of the EDH packet itself. These error flags are output on the rx_edh_packet_flags_out port. The encoding of this port is shown in the following table.

Table 3. Encoding of rx_edh_packet_flags Port
Bit # Error
0 EDH packet is missing
1 Parity error in user data words of EDH packet
2 Checksum error in EDH packet
3 Format error in EDH packet – such as invalid data count