英特尔® Arria® 10收发器PHY用户指南

ID 683617
日期 3/28/2022
Public
文档目录

5.2.2.10.4. 10GBASE-R模式

在10GBASE-R模式下,RX FIFO用作一个时钟补偿FIFO。当模块同步器实现模块锁定时,会通过FIFO发送数据。空闲有序集(OS)将被删除,会插入空闲数据以补偿RX低速并行时钟与FPGA架构时钟之间的时钟差(对于最大数据包长度64,000个字节,为 ±100 ppm)。

空闲OS删除(Idle OS Deletion)

在包含四个OS的组中删除空闲数据(当存在两个连续的OS时),直到rx_enh_fifo_rd_pfull标志置低为止。通过检查当前字和上一个字来检查每个字(由小写字(LW)和大写字(UW)组成),决定是否可以删除。

例如,如果当前的LW处于空闲状态(Idle),并且上一个UW不是终端(Terminate),那么当前的LW可被删除。

表 257.   可以删除字的情况在下表中,X=don’t care,T=Terminate,I=Idle和OS=order set。
可删除(Deletable) 情况(Case) 上一个 当前 输出
Lower Word 1 UW !T X !T X
LW X I X X
2 UW OS X OS X
LW X OS X X
Upper Word 1 UW X I X X
LW X !T X !T
2 UW X OS X X
LW X OS X OS

如果仅删除了一个字,那么由于数据路径的宽度是两个字,因此必须对数据进行移位。在删除了两个字之后,FIFO 会对一个周期停止写入,并在下一个8-byte数据模块上出现一个同步标志(rx_control[8])。还有一个不经过FIFO的异步状态信号rx_enh_fifo_del

图 251. IDLE字的删除下图显示了从接收器数据流中删除IDLE字。
图 252. OS字的删除下图显示了删除接收器数据流中的有序集字(ordered set word)。

空闲字的插入(Idle Insertion)

rx_enh_fifo_pempty标志置低之后会在包含8个Idle的组中出现空闲字插入。Idle可以插在Idle或OS后面。Idle将插入在8个字节的组中。数据移位不是必需的。有一个同步状态 rx_enh_fifo_insert信号附加到所插入的8字节Idle。

表 258.  插入两个空闲字的情况在下表中,X=don’t care,S=start,OS=order set,I-DS=idle in data stream和I-In=idle inserted。在情况3和4中,Idle插入在LW和UW之间。
情况 输入 输出
1 UW I-DS I-DS I-In
LW X X I-In
2 UW OS OS I-In
LW X X I-In
3 UW S I-In S
LW I-DS I-DS I-In
4 UW S I-In S
LW OS OS I-In
图 253. IDLE字的插入下图显示了在接收器数据流中插入IDLE字。