Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

引言:本文我們繼續介紹7系列FPGA收發器架構的RX部分內容:

  • RX時鐘輸出控制結構
  • RX PRBS檢查器
  • RX 8B/10B解碼器

1.RX時鐘輸出控制結構

1.1 RX輸出時鐘結構概述

RX時鐘分頻器控制模塊包括兩個主要組件:串行時鐘分頻器並行時鐘分頻器及其選擇器控制。該RX時鐘輸出控制結構詳細框圖如圖1所示。

Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖1、GTX/GTH收發器RX輸出時鐘結構

在圖1中注意(圖中綠色虛線內結構已經詳細介紹過):

1.RXOUTCLKPCS和RXOUTCLKFABRIC為冗餘時鐘輸出。RXOUTCLK推薦用於FPGA邏輯設計。

2.REFCLK_CTRL選項由軟件自動控制,無需用戶選擇。用戶只能使用IBUFDS_GTE2O輸出端口或者ODIV2端口通過CMT或者BUFH,BUFG送入FPGA邏輯。

3.IBUFDS_GTE2是一個冗餘時鐘輸出,它增加了時鐘設計的靈活性。

4.每個GTX/GTH收發器的RX部分只有一個CPLL鎖相環,QPLL輸出時鐘也可以用於GTX/GTH的RX接收部分。

5./4或者/5分頻器由GTXE2_CHANNEL/GTHE2_CHANNEL原句的RX_DATA_WIDTH屬性控制。當RX_DATA_WIDTH = 16,32或者64時,選擇/4分頻器;當RX_DATA_WIDTH = 20,40或者80時,選擇/5分頻器。

6./2或者/4分頻器由GTXE2_CHANNEL/GTHE2_CHANNEL原句的RX_INT_DATAWIDTH屬性控制。當RX_INT_DATAWIDTH= 0時(2字節內部數據路徑),選擇/2分頻器;當RX_INT_DATAWIDTH= 1時(4字節內部數據路徑),選擇/4分頻器。

1.2 串行時鐘分頻器

每個發送器的PMA模塊有一個D分頻器用來分頻來自PLL的時鐘,以產生所需的線速率時鐘。該D分頻器可以設置為用於固定線速率的靜態配置或者用於變化線速率的動態配置。圖2顯示了RX PLL D分頻器輸出配置。

Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖2、RX PLL輸出分頻器配置

1.3 並行時鐘分頻器和選擇器

來自RX時鐘輸出模塊的並行時鐘可以用於FPGA邏輯設計,推薦RXOUTCLK用於FPGA內部邏輯設計,該時鐘輸出延遲可控。也可以將MGT管腳MGTREFCLK時鐘直接輸到FPGA內部作為邏輯時鐘。

1.4 端口定義

圖3顯示了RX輸出時鐘模塊端口定義。

Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖3、RX輸出時鐘模塊端口定義

2.RX PRBS(偽隨機碼)檢查器

GTX/GTH收發器內置一個PRBS檢查器,用來測試通道信號完整性。該檢查器的結構如圖4所示。

Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖4、RX PRBS檢查器結構

3.RX 8B/10B解碼器

3.1功能描述

如果GTX/GTH收發器接收到的數據是8B/10B編碼的,它必須在接收時解碼。GTX/GTH收發器內置解碼器,該解碼支持2字節、4字節和8字節數據路徑操作,產生K碼字符和狀態信息輸出。如果接收數據沒有進行8B/10B編碼,則可以旁路該解碼器。8B/10B解碼器Bit和Byte順序如圖5所示。


Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖5、8B/10B解碼器Bit和Byte順序

3.2 RX運行不一致

當檢測到RXDATA出現運行不一致錯誤時,RXDISPERR為高電平;當檢測到非法的8B/10B字符時,RXNOTINTABLE端口輸出為高電平。圖6顯示了RX數據接口解碼數據波形,圖中A和D數據為正確數據,B和C為錯誤數據。

Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖6、RX數據8B/10B解碼錯誤

3.3特殊字符

8B/10B解碼器包括特殊字符(K字符)經常用於控制功能。當RXDATA檢測到位K字符時,解碼器驅動RXCHARISK為高電平。

3.4 RX 8B/10B解碼器端口

RX 8B/10B解碼器端口定義如圖7所示。

Xilinx 7系列FPGA收發器架構之接收器(RX)(十二)

圖7、RX 8B/10B解碼器端口定義

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


分享到:


相關文章: