一、TX 碼型發(fā)生器
除了FPGA TX過來的用戶數據,其內部還有一個碼型發(fā)生器模塊(TX PatternGenerator),其作用主要是生成測試序列,包括PRBS碼、快方波、慢方波、PCIE測試碼型等。
偽隨機二進制序列(PRBS)是一種專門用于測試高速信號完整性的測試碼。 PRBS 碼流具有 “隨機數據”特性,二進制“ 0 ”和“ 1 ”隨機出現(xiàn),適用于高速串行通道中誤碼率BER(Bit ErrorRate)的測試。
PRBS碼是由線性反饋移位寄存器和異或電路組成,不同的PRBS生成多項式可以生成不同的碼型。PRBS 碼的周期長度與其階數有關,常用的階數有 7 、 9 、 11 、 15 、 20 、 23 、 31 ,也就是我們常說的 PRBS7 、 PRBS9 、 PRBS11 、 PRBS15 、 PRBS20 、 PRBS23 、 PRBS31 。其中PRBS31碼型多項式為:1+X28+X31,下圖是PRBS31碼型多項式框圖。
不同的PRBS碼型的最佳用途也有不同,這與不同種類的PRBS碼型的特性有關, PRBS碼型中有一個稱為Run Length的指標,它反應了PRBS碼型中最長的連續(xù)的“1”以及最長的連續(xù)的“0”的長度。PRBS7的碼流中最長的連續(xù)“1”為7個,最長的連續(xù)“0”為6個;PRBS15的碼流中最長的連續(xù)“1”為15個,最長的連續(xù)“0”為14個;PRBS23的碼流中最長的連續(xù)“1”為23個,最長的連續(xù)“0”為22個;PRBS31的碼流中最長的連續(xù)“1”為31個,最長的連續(xù)“0”為30個。
這里可以回顧一下高速收發(fā)器基礎知識(5)的信號完整性的內容,碼間串擾比較容易出現(xiàn)在低頻和高頻交接的地方,連續(xù)“1”或者連續(xù)“0”就是低頻,而接下來的數據跳變則是高頻。同時對于接收來說長時間的連續(xù)“1”或者連續(xù)“0”對于CDR來說也是一個挑戰(zhàn)。
對于PRBS7碼,一般用來測試8B/10B的收發(fā)器鏈路;因為PRBS7的碼流中最長的連續(xù)“1”為7個,最長的連續(xù)“0”為6個;而8B/10B編碼中最長的連續(xù)“1”為5,最長的連續(xù)“0”也是5;因此,相比8B/10B編碼,PRBS7可以產生的較低頻率的碼型。使用PRBS7作為驅動源,在同一信道上傳輸到接收端后得到眼圖和抖動,都比8B/10B編碼的作為驅動源時的結果稍差些。這樣,PRBS7作為8B/10B編碼的串行鏈路的測試碼型,留出了一定的設計余量。
對于PRBS31碼,一般用于測試非8B/10B編碼的線路,例如它是10G以太網的推薦測試碼型。10G以太網采用64B66B編碼,出現(xiàn)長時間的連續(xù)“1”以及連續(xù)“0”概率更大,因此需要使用PRBS31碼來測試。
下表中列出了模塊支持的四種PRBS碼型以及使用場景。
除了生成PRBS碼,該模塊根據內部數據位寬(TX_INT_DATAWIDTH)的設置支持生成16-UI、20-UI、32-UI和40-UI為一個周期的慢方波、支持生成2-UI為一個周期的快方波,以及PCIE測試碼型(PCIECompliance Pattern)。此外,支持錯誤插入(Error Insertions)功能以驗證鏈路連接以及抖動容限測試。功能框圖如下圖所示。
與碼型發(fā)生器相關的端口如下表所示。
二、發(fā)送緩沖器
TX緩沖器主要是為了解決XCLK和TXUSRCLK兩個時鐘域的相位差,盡管也可以通過旁路TX緩沖器而使用TX 相位對齊電路來解決相位差問題,但使用TX緩沖器使得操作更簡單,是被推薦使用的。與發(fā)送緩沖器相關的端口如下表所示。
當TXBUFSTATUS指示上溢或下溢時,應復位發(fā)送緩沖器??赏ㄟ^使用GTTXRESET、TXPCSRRESET復位,或者當屬性TXBUF_REST_on_rate_change為TRUE時,GTX/GTH收發(fā)器內嵌的緩沖器復位來復位發(fā)送緩沖器。
使用TX緩沖器的缺點是TX緩沖器會帶來延遲,如果協(xié)議對于延遲的性能要求高,或者多個通道間的延遲抖動要求嚴格,則考慮使用TX相位對齊電路,使用TX相位對齊電路可以使得延遲更低且延遲是固定的,但需要耗費額外的邏輯和時鐘源上的限制,TX XCLK的時鐘來源是TXUSRCLK,而且TXOUTCLKSEL必須選擇GTX/GTH收發(fā)器參考時鐘作為TXOUTCLK源來驅動TXUSRCLK。 TX相位對齊電路需要與TX延遲對齊電路一起使用,有嚴格的時序要求,有需要的讀者可參閱用戶手冊,這里不再闡述。
三、極性反轉功能
如果PCB上TXP和TXN差分走線不小心弄反時,GTX/GTH收發(fā)器TX傳輸的差分數據就會顛倒,可以在串行化和傳輸之前反轉并行數據,以抵消差分對上的反轉極性,極性反轉(Polarity Inversion)功能作用于此,與極性反轉相關的端口如下表所示。
-
FPGA
+關注
關注
1624文章
21573瀏覽量
600650 -
收發(fā)器
+關注
關注
10文章
3353瀏覽量
105739 -
緩沖器
+關注
關注
6文章
1907瀏覽量
45400 -
Xilinx
+關注
關注
71文章
2152瀏覽量
120722
原文標題:Xilinx 7系列FPGA收發(fā)器——10、發(fā)送鏈路的碼型發(fā)生器、發(fā)送緩沖器、極性反轉等
文章出處:【微信號:FPGA十年老鳥,微信公眾號:FPGA十年老鳥】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論