1、通道绑定原理
通道绑定只支持8b10b编码协议,通道绑定利用内部的FIFO来抵消通道间的延时差,原理如下图
master channel 和slave channel都有特定的字节,可以是K码。当master 检测到K码时,进行一个计数,slave检测到K码同样会计数。等master 计数到sequence max_skew时,通过移动指针消除前面的延时。
2、通道间的级联
下面是两个级联的例子
其中的level是为了满足时序,在master和slave间加入的流水线级数。(如果全部直接相连的话,会因为收发器之间离得太远而无法满足时序要求)。可以看出bondlevel是在收到CB信号后等几级流水延迟才开始进行通道绑定。
3、FIFO内数据流动
sequence max_skew的作用,可以防止slave通道延迟的情况。注意max_skew根据通道间的时延设置尽量大一点,但不要超过最近两个通道绑定K码的一半。(这样就分不清到底是哪一次绑定了)
4、IP核设置
由于使用的是K码,不会和数据冲突,所以sequence length设置为1就行了。如果不使用K码,sequence length最好设置为4,这样有64bit的序列,和数据重复的概率很小很小。下面的时钟纠正就是这样设置的。
5、上板调试
最后生成好bit实验,通道绑定成功。
可以看到,comma码和通道绑定的K码都是对齐的,并且comma码是用的组合commaNP码即tx_data=0x0504BCBC–》tx_isk=11,然后comma码用的K28.1即0x3C,tx_isk=01。实验成功
-
fifo
+关注
关注
3文章
388浏览量
43674
发布评论请先 登录
相关推荐
评论