Xilinx GTH 簡介 ,CoaXpress FPGA PHY 部分

来源:https://www.cnblogs.com/xingce/archive/2023/06/11/17473716.html
-Advertisement-
Play Games

## 什麼是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.)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、HBase簡介 HBase是一個開源的、分散式的、版本化的NoSQL資料庫(即非關係型資料庫),依托Hadoop分散式文件系統HDFS提供分散式數據存儲,利用MapReduce來處理海量數據,用Zookeeper作為其分散式協同服務,一般用於存儲海量數據。HDFS和HBase的區別在於,HDFS ...
  • # 簡介 HBase 是一個**面向列式存儲的分散式資料庫**,其設計思想來源於 Google 的 BigTable 論文。 HBase 底層存儲基於 HDFS 實現,集群的管理基於 ZooKeeper 實現。 HBase 良好的分散式架構設計為海量數據的快速存儲、隨機訪問提供了可能,基於數據副本機 ...
  • 博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ...
  • 在進行網頁前端設計時,需要垂直居中顯示文本,但CSS似乎沒有明確的垂直居中的代碼方法,由於目前的頁面不再考慮以前的瀏覽器了,因此採用CSS3的display:flex方法來實現。現記錄一下flex屬性的相關資料。 ...
  • 單例模式是設計模式中最簡單、常見的一種。其主要目的是確保整個進程中,只有一個類的實例,並且提供一個統一的訪問介面。常用於 Logger 類、通信介面類等。 # 基本原理 限制用戶直接訪問類的構造函數,提供一個統一的 public 介面獲取單例對象。 這裡有一個“先有雞還是先有蛋”的問題: - 因為用 ...
  • 大家好,我是 god23bin,今天我們來介紹下設計模式中的一個重要的設計模式——策略模式。 當涉及到某個行為或演算法有多個變體時,策略模式是一種常見的設計模式。它允許在運行時選擇使用不同的策略,而無需修改現有代碼。 現在就使用設計模式中經常出現的鴨子模型來介紹吧! ...
  • 轉載請註明出處❤️ 作者:[測試蔡坨坨](https://www.caituotuo.top/) 原文鏈接:[caituotuo.top/400bd75c.html](https://www.caituotuo.top/400bd75c.html) 你好,我是測試蔡坨坨。 在日常測試工作中,我們經常 ...
  • 某日二師兄參加XXX科技公司的C++工程師開發崗位第11面: > 面試官:在C++中,你都知道都哪些運算符? > > 二師兄:啥?運算符?`+-*/=`這些算嗎? > > 面試官:嗯,還有其他的嗎? > > 二師兄:當然還有,`+=,-=,*=,/=,==`,還有邏輯運算,位運算等。 > > 面試官 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...