100GBASE-KR4 (C84)
RS(528,514) -FEC(C91)
FEC指的是前向纠错功能(forward error correction)功能。FEC的工作层次在PCS和PMA层之间。FEC功能通过提供编码增益的方式实现提高链路预算能力和BER性能。
功能框图
发送方向:FEC子层从PCS子层接收数据,依次经过下列模块:
PCS lane 66B块同步锁定;
AM对齐标记锁定与De-skew;
PCS lane重排序;
PCS对齐标记AM移除:删除对齐标记AM,恢复成IDLE码;
64B/66B to 256B/257B 转码器:将tx_coded _j<65:0>(j=0 to 3) 转换成一个tx _scrambled<256:0>。tx _coded_0<0>作为新数据块的同步头比特(其他7比特同步头删除)(8比特到1比特的同步头压缩的目的是为后续的RS(528,514)编码留够开销空间);
Codeword 对齐标记插入:Codeword Marker标记插入的目的方便接收方向进行Codeword对齐。Codeword marker简称cwm,它不占据带内信息开销(利用的是原来的IDLE/LPI有序集)。每20480个257B的transcoded Block(81920个64B/66B Block)插入一个cwm。cwm为257B的数据块(64比特/alignment marker×4 alignment marker 1比特0 )。
Reed-Solomon编码器:将20组256B/257B作为一个整体(每5140比特为一个RS-FEC Codeword),执行RS(528,514)编码(C=528,M=514,P=14);
Symbol分发:将RS-FEC编码后数据分割成4个Lane。
接收方向:FEC子层从PMA子层接收数据,依次经过下列模块:
Codeword marker lock:对cwm标记进行锁定;
Lane重排器:将4个FEC Lane合并成一个Lane;
Reed-Solomon解码器:执行RS(528,514)解码,形成若干个“20组256B/257B”(每5140比特为一个RS-FEC Codeword);
Codeword 对齐标记标记移除:每20480个257B的transcoded Block(81920个64B/66B Block)删除一个cwm。cwm为257B的数据块(64比特/alignment marker×4 alignment marker 1比特0 );
256B/257B to 64B/66B转码器:将tx _scrambled<256:0>转换成tx _coded _j<65:0>(j=0 to 3);
PCS对齐标记AM加入:加入对齐标记AM,删除相关IDLE码。
发送方向比特顺序
接收方向比特顺序
MDIO功能映射
与RS FEC相关的寄存器集中在C45寄存器DeviceID=1(PMA/PMD)里。下面做一个简单的介绍。
控制变量映射
状态变量映射(一)
状态变量映射(二)