Port FEC Modes - 2.1 English

Versal ACAP 600G Channelized Multirate Ethernet Subsystem (DCMAC) LogiCORE IP Product Guide (PG369)

Document ID
PG369
Release Date
2023-04-12
Version
2.1 English

Forward error correction (FEC) is available on the PHYs of the DCMAC Subsystem port. FEC can be enabled or disabled on a per-port basis.

For the transmit path, the various FEC operating modes are selected through the following fields of the C0_TX_MODE_REG through C5_TX_MODE_REG registers:

  • c0_ctl_tx_fec_mode
  • c1_ctl_tx_fec_mode
  • c2_ctl_tx_fec_mode
  • c3_ctl_tx_fec_mode
  • c4_ctl_tx_fec_mode
  • c5_ctl_tx_fec_mode

Likewise, on the receive path, the FEC modes are selected using the following fields of the C0_RX_MODE_REG through C5_RX_MODE_REG registers:

  • c0_ctl_rx_fec_mode
  • c1_ctl_rx_fec_mode
  • c2_ctl_rx_fec_mode
  • c3_ctl_rx_fec_mode
  • c4_ctl_rx_fec_mode
  • c5_ctl_rx_fec_mode

Furthermore, the 256B/257B transcoder can be bypassed in the transmit path using the c0_ctl_tx_fec_transcode_bypass through c5_ctl_tx_fec_transcode_bypass fields of the corresponding C0_TX_MODE_REG through C5_TX_MODE_REG registers. The same can be done in the receive path using the c0_ctl_rx_fec_transcode_bypass through c5_ctl_rx_fec_transcode_bypass fields of the corresponding C0_RX_MODE_REG through C5_RX_MODE_REG registers.

In the receive path only, the lane alignment logic can be bypassed using the c0_ctl_rx_fec_alignment_bypass through c5_ctl_rx_fec_alignment_bypass fields of the corresponding C0_RX_MODE_REG through C5_RX_MODE_REG registers.

A change in either of these registers requires a reset being driven to that port after configuration is complete.

Deskew buffers are shared across FEC modes. For FEC modes, such as 128GFC and FlexO, whose data rate exceeds Ethernet nominal rate, the DCMAC Subsystem can handle an equivalent number of bits of skew. Because the bit rate of 128GFC and FlexO is higher, this translates into less than 180 ns of deskew capability.  Specially, 128GFC supports 175 ns of deskew and FlexO supports 176 ns of deskew.  Applications requiring additional deskew capability may make use of an external alignment buffer to deskew the data prior to its entry into the DCMAC Subsystem.  The DCMAC Subsystem provides rx_serdes_albuf_slip_<4*N+0> through rx_serdes_albuf_slip_<4*N+3> signals to simplify user logic related to this external alignment buffer.

Many FEC modes are relevant for both Coupled MAC+PCS and Independent MAC and PCS+FEC modes. The following table summarizes the available configurations for each DCMAC Subsystem port.

Table 1. FEC Operating Modes
Port Operating Mode FEC Mode 1 Transcode Bypass 2 Align Bypass 3 MAC+PHY or FLEX I/F 4 Description
0 All rates 5'b00000 N/A N/A N/A FEC Disabled
400GE 5'b10000 0 0 Both IEEE 802.3 CL119 RS (544,514) FEC
400G FlexO 5'b10100 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
200GE 5'b01000 0 0 Both IEEE 802.3 CL119 RS (544,514) FEC
200G FlexO 5'b01100 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
100GE 5'b00100 0 0 Both IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 Both IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 Both IEEE P802.3ck CL161 RS (544,514) FEC
100G FlexO 5'b00011 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
128GFC 5'b00111 0 0 FLEX I/F 128GFC
112G FEC-only 5'b00100 0 0 FLEX I/F IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 FLEX I/F IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 FLEX I/F IEEE P802.3ck CL161 RS (544,514) FEC
2 x 56.42G FEC-only 5'b00010 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 x 56.42G FEC-only 5'b00001 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 All rates 5'b00000 N/A N/A N/A FEC Disabled
100GE 5'b00100 0 0 Both IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 Both IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 Both IEEE P802.3ck CL161 RS (544,514) FEC
100GFlexO 5'b00011 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
128GFC 5'b00111 0 0 FLEX I/F 128GFC
112G FEC-only 5'b00100 1 1 FLEX I/F IEEE 802.3cd CL91 RS (544,514) FEC
2 x 56.42G FEC-only 5'b00010 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 x 56.42G FEC-only 5'b00001 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
2 All rates 5'b00000 N/A N/A N/A FEC Disabled
200GE 5'b01000 0 0 Both IEEE 802.3 CL119 RS (544,514) FEC
200G FlexO 5'b01100 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
100GE 5'b00100 0 0 Both IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 Both IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 Both IEEE P802.3ck CL161 RS (544,514) FEC
100G FlexO 5'b00011 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
128GFC 5'b00111 0 0 FLEX I/F 128GFC
112G FEC-only 5'b00100 1 1 FLEX I/F IEEE 802.3cd CL91 RS (544,514) FEC
2 x 56.42G FEC-only 5'b00010 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 x 56.42G FEC-only 5'b00001 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
3 All rates 5'b00000 N/A N/A N/A FEC Disabled
100GE 5'b00100 0 0 Both IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 Both IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 Both IEEE P802.3ck CL161 RS (544,514) FEC
100G FlexO 5'b00011 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
128GFC 5'b00111 0 0 FLEX I/F 128GFC
112G FEC-only 5'b00100 1 1 FLEX I/F IEEE 802.3cd CL91 RS (544,514) FEC
2 x 56.42G FEC-only 5'b00010 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 x 56.42G FEC-only 5'b00001 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
4 All rates 5'b00000 N/A N/A N/A FEC Disabled
200GE 5'b01000 0 0 Both IEEE 802.3 CL119 RS (544,514) FEC
200G FlexO 5'b01100 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
100GE 5'b00100 0 0 Both IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 Both IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 Both IEEE P802.3ck CL161 RS (544,514) FEC
100G FlexO 5'b00011 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
128GFC 5'b00111 0 0 FLEX I/F 128GFC
112G FEC-only 5'b00100 1 1 FLEX I/F IEEE 802.3cd CL91 RS (544,514) FEC
2 x 56.42G FEC-only 5'b00010 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 x 56.42G FEC-only 5'b00001 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
5 All rates 5'b00000 N/A N/A N/A FEC Disabled
100GE 5'b00100 0 0 Both IEEE 802.3cd CL91 RS (544,514) FEC
5'b00101 0 0 Both IEEE 802.3 CL91 RS (528,514) FEC
5'b00110 0 0 Both IEEE P802.3ck CL161 RS (544,514) FEC
100G FlexO 5'b00011 1 0 FLEX I/F ITU-T FlexO RS (544,514) FEC
128GFC 5'b00111 0 0 FLEX I/F 128GFC
112G FEC-only 5'b00100 1 1 FLEX I/F IEEE 802.3cd CL91 RS(544,514) FEC
2 x 56.42G FEC-only 5'b00010 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
1 x 56.42G FEC-only 5'b00001 1 1 FLEX I/F IEEE 802.3cd CL134 RS (544,514) FEC
  1. Refers to the c<N>_ctl_tx_fec_mode[4:0] and c<N>_ctl_rx_fec_mode[4:0] fields.
  2. Refers to the c<N>_ctl_tx_fec_transcode_bypass and c<N>_ctl_rx_fec_transcode_bypass fields.
  3. Refers to the c<N>_ctl_rx_fec_alignment_bypass fields.
  4. Indicates whether the given FEC mode pertains to Coupled MAC+PCS mode, Independent MAC and PCS+FEC mode, or both. Rows containing FLEX I/F indicate that the given FEC mode is available only in the Independent MAC and PCS+FEC mode through the flex interface.