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文章
389瀏覽量
43771
發布評論請先 登錄
相關推薦
評論