RX 8B/10B Bit and Byte Ordering

Versal Adaptive SoC GTY and GTYP Transceivers Architecture Manual (AM002)

Document ID
AM002
Release Date
2023-10-26
Revision
1.3 English

The order of the bits into the 8B/10B decoder is the opposite of the order shown in 8B/10B Valid Characters. 8B/10B decoding requires bit a0 to be received first, but the GTY and GTYP transceiver always receives the right-most bit first. Consequently, the 8B/10B decoder automatically reverses the bit order of received data before decoding it. Decoded data is available on CH*_RXDATA ports. The 8B/10B decoder does not support RX_DATA_WIDTH = 80 or 160. RX_INT_DATAWIDTH must be set to 0 (2-byte internal datapath) or 1 (4-byte internal datapath). Data is reconstructed into bytes and sent to the CH*_RXDATA interface after the 8B/10B decoder. The number of bits used by CH*_RXDATA and corresponding byte orders are determined by RX_DATA_WIDTH.

  • Only use CH*_RXDATA[15:0] if RX_DATA_WIDTH = 20
  • Only use CH*_RXDATA[31:0] if RX_DATA_WIDTH = 40

When the 8B/10B decoder is bypassed but RX_DATA_WIDTH is set to multiples of 10, 10-bit characters are passed to the RX data interface with the format shown in the following figure.

Figure 1. 8B10B Decoder Bit and Byte Order