## 什麼是GTH GTH 是Xilinx UltraScale系列FPGA上高速收發器的一種類型,本質上和其它名稱如GTP, GTX等只是器件類型不同、速率有差異;GTH 最低速率在500Mbps,最高在16Gbps ![](https://img2023.cnblogs.com/blog/274 ...
什麼是GTH
GTH 是Xilinx UltraScale系列FPGA上高速收發器的一種類型,本質上和其它名稱如GTP, GTX等只是器件類型不同、速率有差異;GTH 最低速率在500Mbps,最高在16Gbps
CoaXpress Host/Device IP 均需要用到廠商的GT收發器模塊,因此這裡寫一篇筆記作為開發記錄
GTH 的特性
physical coding sublayer (PCS) 是Xilinx 高速收發器的最頂層.
PCS(Physical Coding Sublayer)層是數據鏈路層中的一個子層,位於物理層和MAC(Media Access Control)層之間。它是在數據鏈路層中的一個組成部分,用於實現物理層與MAC層之間的介面功能。
PCS層的主要工作是將上層的數據幀轉換為物理層能夠傳輸的信號,並負責將接收到的信號解析為數據幀。它主要完成以下幾個任務:
編碼和解碼:PCS層負責將上層數據幀進行編碼,將其轉換為物理層可傳輸的信號。這通常涉及到將數字數據轉換為模擬信號,併在發送端對信號進行編碼。接收端的PCS層則負責對接收到的信號進行解碼,將其轉換回數字數據。
時鐘恢復:PCS層通過對接收到的信號進行時鐘恢復操作,確保數據的準確傳輸。這包括識別接收信號中的時鐘信息,以便正確地解析數據。
傳輸編碼:PCS層可能會對數據進行傳輸編碼,以增強傳輸的可靠性和效率。這包括添加冗餘校驗碼、錯誤檢測和糾正碼等,以提高數據傳輸的可靠性,並確保數據在傳輸過程中不會出現錯誤。
對齊:PCS層負責對接收到的數據進行對齊,確保數據能夠正確地被上層的MAC層處理和解析。
總的來說,PCS層在數據鏈路層和物理層之間起到了一個介面的作用,負責將上層的數據進行編碼、時鐘恢復、傳輸編碼和對齊等操作,以實現可靠的數據傳輸。
由此可見,時鐘恢復,數據編碼,數據對齊等操作,均在PCS層完成,如果需要傳輸CRC校驗,可以在更上一層實現,計算CRC後,將CRC結果作為正常數據進行傳輸
GTH 結構
下圖是GTH的架構圖,從圖中可以得到幾個信息:
1、GTH 一般是4個一組,4個channel ,1個common ,common負責時鐘部分,channel 部分對應具體的serdes;
2、時鐘恢覆電路在PMA部分;
普通使用中需要關註的部分如下:
8B/10B 編解碼,以RX為例
GTH模塊內置了8b/10b編解碼
對於單個channel來說,通常會選擇內部40bit 位寬,用戶32bit位寬模式,因為多數協議會定義用戶數據為1個word == 4 bytes
8b/10b 編碼的錯誤指示
The 8B/10B decoder performs out-of-table error detection and drives the RXCTRL3 port High when it is enabled,
but receives a 10-bit character that cannot be mapped into a valid 8B/10B character listed in Appendix A, Valid Data Characters. When this occurs, the
non-decoded 10-bit character is piped out of the decoder through the RX data interface with this format:
• The corresponding RXCTRL1 represents the 9th bit
• The corresponding RXCTRL0 represents the 8th bit
• The corresponding RXDATA byte represents the [7:0] bits
• The corresponding RXCTRL3 represents that an invalid 8B/10B character error occurred
8b/10b comma 對齊與word對齊
用K 碼做對齊,常見用作對齊的K碼為K28.5和K28.1,下圖就實用K28.5做對齊
這隻是byte對齊了,那麼word怎麼對齊呢?比如CoaXPress的downconnection高速傳輸用的都是1個word 4個位元組作為一個最小單位,那麼word怎麼對齊呢?GTH也已經考慮了這一點,配置如下:
對應到GTWIZARD 模塊,配置如下:
根據上述配置,CoaXpress協議對應的word數據就能正確的對齊並輸出
(A word consists of 4 consecutive 8B/10B characters labeled P0, P1, P2 and P3 and are transmitted in the stated order (i.e. P0 first). The receiver shall perform word alignment in order to successfully decode the packets.)