Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

引言:本文我們繼續介紹FPGA收發器TX結構和功能。通過文本你可以瞭解一下內容:

  • TX 8B/10B編碼器結構和使用
  • TX Gearbox功能介紹
  • TX 差分管腳極性控制

1.TX 8B/10B編碼器

PCIe、SRIO、STAT等高速串行協議數據發送都採用了8B/10B編碼方案,它是一種行業標準編碼方案。8B/10B以每字節(8bits)兩比特的開銷來換取DC直流平衡,來確保時鐘可以從數據流中正確恢復。如圖1所示,GTX/GTH收發器內置8B/10B TX路徑實現TX數據編碼,無需消耗FPGA邏輯資源。

Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖1、GTX/GTH收發器TX內部結構(點擊看大圖)

使能8B/10B編碼會增加TX路徑上數據延遲,如果不需要,可以旁路8B/10B編碼,以減少TX路徑延遲。

1.1 8B/10B比特和字節順序

圖2顯示了收發器TX 8B/10B編碼流程。8B/10B是否使能會影響FPGA TX接口TXDATA的數據格式,這一點我們在上一節內容中有詳細描述。

Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖2、收發器TX 8B/10B編碼流程

8B/10B編碼器要求a0比特先發送,GTX/GTH收發器優先發送最右側比特。因此為了匹配8B/10B編碼,GTX/GTH收發器內部的8B/10B編碼器自動翻轉發送數據比特。

1.2 K字符和差異極性控制

8B/10B編碼表使用特殊的字符(K字符)用作控制功能。TXCHARISK端口用來指示TXDATA端口的數據是否為K字符。8B/10B編碼器檢查接收到的TXDATA字節,如果匹配為K字符,則TXCHARISK比特為置為高。

Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖3、差異極性控制

由於8B/10B是直流平衡的,所以發送“1”和“0”的個數比例應該為1:1,為了實現這一要求,編碼器總是計算發送“1”和“0”之間的差值。每發送一個字符後,這種差值要麼為“+1”,要麼為“-1”,這種不同被稱為“運行差異”。GTX/GTH收發器允許控制這種差異極性,如圖3所示。圖4舉例了8B/10B編碼方式選擇及差異極性控制選擇GTX/GTH IP核界面。

Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖4、編碼方式及差異極性控制配置界面

1.3 8B/10B端口(Port)定義


Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖5、8B/10B編碼器端口定義

2.TX Gearbox(速率變換箱)

圖1中為TX Gearbox在GTX/GTH收發器結構中的位置。一些高速數據速率協議使用64B/66B編碼來減少8B/10B編碼的開銷,同時保留編碼方案的優點。TX Gearbox提供了對64B/66B和64B/67B編碼支持。常見的高速協議Interlaken就採用了64B/67B編碼方案。TX Gearbox支持2字節、4字節和8字節接口定義,數據加擾是在FPGA邏輯內實現的。在GTH收發器中,CAUI接口模式支持附加的TX Gearbox特性。

3.TX管腳極性控制

圖1中為TX 極性控制在GTX/GTH收發器結構中的位置。如果GTX/GTH收發器TXP和TXN差分管腳在PCB佈線時進行了交換,差分對發送輸出的比特流會取反。一種解決辦法是在並串轉換之前對發送的數據位逐位取反。另外一種方法是通過TX極性控制,實現TXP和TXN極性交換。圖6給出了TX極性控制端口操作。

Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖6、TX極性控制端口操作

Xiinx 7系列FPGA收發器架構之發送器(TX)(七)

圖7、TX管腳極性控制配置界面

7系列FPGA收發器架構詳解連載五:


分享到:


相關文章: