前向纠错 (FEC) 在 DCMAC Subsystem 端口的 PHY 上可用。FEC 可按端口来启用或禁用。
对于发射路径,可通过 C0_TX_MODE_REG 寄存器到 C5_TX_MODE_REG 寄存器的下列字段来选择各种 FEC 工作模式:
- 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
同样,在接收路径上,可使用 C0_RX_MODE_REG 寄存器到 C5_RX_MODE_REG 寄存器的下列字段来选择 FEC 模式:
- 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
此外,在发射路径中可以使用对应 C0_TX_MODE_REG 寄存器到 C5_TX_MODE_REG 寄存器的 c0_ctl_tx_fec_transcode_bypass 字段到 c5_ctl_tx_fec_transcode_bypass 字段绕过 256B/257B 转码器。在接收器路径中,使用对应 C0_RX_MODE_REG 寄存器到 C5_RX_MODE_REG 寄存器的 c0_ctl_rx_fec_transcode_bypass 字段到 c5_ctl_rx_fec_transcode_bypass 字段也可以达到同样的目的。
仅限在接收路径中,可使用对应 C0_RX_MODE_REG 寄存器到 C5_RX_MODE_REG 寄存器的 c0_ctl_rx_fec_alignment_bypass 字段到 c5_ctl_rx_fec_alignment_bypass 字段绕过通道对齐逻辑。
要更改其中任一寄存器,都必须在配置完成后将复位驱动到该端口。
在各 FEC 模式中,共享去歪斜缓冲器。对于数据速率超出以太网标称速率的 FEC 模式(例如 128GFC 和 FlexO),DCMAC Subsystem 可以处理同等位数的偏差。由于 128GFC 和 FlexO 的比特率更高,因此使去歪斜能力低于 180 ns。 具体来说,128GFC 支持 175 ns 去歪斜,FlexO 则支持 176 ns 去歪斜。 需要额外去歪斜能力的应用可以利用外部对齐缓冲器来先对数据进行去歪斜,然后再将其输入 DCMAC Subsystem。 DCMAC Subsystem 可提供 rx_serdes_albuf_slip_<4*N+0> 信号到 rx_serdes_albuf_slip_<4*N+3> 信号,以简化与此外部对齐缓冲器相关的用户逻辑。
许多 FEC 模式与耦合 MAC+PCS 以及独立 MAC 和 PCS+FEC 模式都相关。下表汇总了每个 DCMAC Subsystem 端口的可用配置。
端口 | 工作模式 | FEC 模式 1 | 转码旁路 2 | 对齐旁路 3 | MAC+PHY 或 FLEX I/F 4 | 描述 |
---|---|---|---|---|---|---|
0 | 所有速率 | 5'b00000 | 不适用 | 不适用 | 不适用 | FEC 已禁用 |
400GE | 5'b10000 | 0 | 0 | 都支持 | 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 | 都支持 | 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 | 都支持 | IEEE 802.3cd CL91 RS (544,514) FEC | |
5'b00101 | 0 | 0 | 都支持 | IEEE 802.3 CL91 RS (528,514) FEC | ||
5'b00110 | 0 | 0 | 都支持 | 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 | 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 | 5'b00010 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 x 56.42G 仅限 FEC | 5'b00001 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 | 所有速率 | 5'b00000 | 不适用 | 不适用 | 不适用 | FEC 已禁用 |
100GE | 5'b00100 | 0 | 0 | 都支持 | IEEE 802.3cd CL91 RS (544,514) FEC | |
5'b00101 | 0 | 0 | 都支持 | IEEE 802.3 CL91 RS (528,514) FEC | ||
5'b00110 | 0 | 0 | 都支持 | 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 | 5'b00100 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL91 RS (544,514) FEC | |
2 x 56.42G 仅限 FEC | 5'b00010 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 x 56.42G 仅限 FEC | 5'b00001 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
2 | 所有速率 | 5'b00000 | 不适用 | 不适用 | 不适用 | FEC 已禁用 |
200GE | 5'b01000 | 0 | 0 | 都支持 | 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 | 都支持 | IEEE 802.3cd CL91 RS (544,514) FEC | |
5'b00101 | 0 | 0 | 都支持 | IEEE 802.3 CL91 RS (528,514) FEC | ||
5'b00110 | 0 | 0 | 都支持 | 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 | 5'b00100 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL91 RS (544,514) FEC | |
2 x 56.42G 仅限 FEC | 5'b00010 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 x 56.42G 仅限 FEC | 5'b00001 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
3 | 所有速率 | 5'b00000 | 不适用 | 不适用 | 不适用 | FEC 已禁用 |
100GE | 5'b00100 | 0 | 0 | 都支持 | IEEE 802.3cd CL91 RS (544,514) FEC | |
5'b00101 | 0 | 0 | 都支持 | IEEE 802.3 CL91 RS (528,514) FEC | ||
5'b00110 | 0 | 0 | 都支持 | 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 | 5'b00100 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL91 RS (544,514) FEC | |
2 x 56.42G 仅限 FEC | 5'b00010 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 x 56.42G 仅限 FEC | 5'b00001 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
4 | 所有速率 | 5'b00000 | 不适用 | 不适用 | 不适用 | FEC 已禁用 |
200GE | 5'b01000 | 0 | 0 | 都支持 | 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 | 都支持 | IEEE 802.3cd CL91 RS (544,514) FEC | |
5'b00101 | 0 | 0 | 都支持 | IEEE 802.3 CL91 RS (528,514) FEC | ||
5'b00110 | 0 | 0 | 都支持 | 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 | 5'b00100 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL91 RS (544,514) FEC | |
2 x 56.42G 仅限 FEC | 5'b00010 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 x 56.42G 仅限 FEC | 5'b00001 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
5 | 所有速率 | 5'b00000 | 不适用 | 不适用 | 不适用 | FEC 已禁用 |
100GE | 5'b00100 | 0 | 0 | 都支持 | IEEE 802.3cd CL91 RS (544,514) FEC | |
5'b00101 | 0 | 0 | 都支持 | IEEE 802.3 CL91 RS (528,514) FEC | ||
5'b00110 | 0 | 0 | 都支持 | 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 | 5'b00100 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL91 RS(544,514) FEC | |
2 x 56.42G 仅限 FEC | 5'b00010 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
1 x 56.42G 仅限 FEC | 5'b00001 | 1 | 1 | FLEX I/F | IEEE 802.3cd CL134 RS (544,514) FEC | |
|