reference:https://blog.csdn.net/qq_40261818/article/details/83039829
PG046-Aurora 8B/10B Logicore IP Product Guide.pdfhtml
GTP(吉比特收發器)簡稱Gigabit Transceiver with Low Power,常常應用於板級通訊,板與板,應用在高速串行接口的數據收發。在A7系列芯片中咱們叫GTP、在K7系列咱們叫GTX、V系列叫GTH、對於不一樣速度等級的高速通訊的物理接口。ide
首先就是要了解aurora IP幀模式,Aurora 協議是由Xilinx 公司提供的一個開放、免費的鏈路層協議,能夠用來進行點到點的串行數據傳輸,具備實現高性能數據傳輸系統的高效率和簡單易用的特色。Aurora 8b10協議是一個可擴展的、輕量級的鏈路層協議,能夠用於單路或者多路串行數據通訊。性能
1. AuroraIP幀模式 測試
1.1 IP核配置 ui
Lane width Byte=4Bytes 設置了用戶AXI-Stream接口位寬是32bit spa
Lane Rate=5.0Gbps 設置了高速串行總線的數據速率 .net
GT Refclk=125Mhz 設置了高速串行總線參考時鐘頻率,須要參考板卡實際鏈接的晶振頻率 設計
Init clk=50Mhz 用於初始化和產生復位的信號,請使用獨立的時鐘不要使用本IP核生成的用戶時鐘。 3d
Drp clk=50Mhz 用於DRP配置的時鐘,此時鐘能夠與Init clk 一致。 調試
DataFlow Mode=Duplex 通訊模式選擇全雙工,也能夠選擇單收或單發.
Interface =Frame 用戶接口模式選擇幀模式,幀模式幀內部含有起始字節和結束字節,選擇性使能CRC ,用於數據校驗,相對比流模式效率下降,可是能感知幀內是否出錯。
Flow Control = UFC 流控信號選擇User Flow Control,加入流控機制,流控信息能夠更優先的傳送,只有在Frame模式下能夠選擇。
Error Detection = CRC 使能CRC校驗幀數據是否出錯。
GT Selection -> Lanes = 1;
RefClk=GTPQ0 選擇高速接口數量和參考時鐘,這部分設置芯片有專用管腳對應,根據實際板卡和芯片型號選擇。
Shared Logic = Include shared logic in core
共享邏輯資源不輸出共享信號接口,只包含在IP核內部,在共享模式下一些時鐘PLL資源能夠給多個核使用。
INITCLK = Single ended init clk 初始化時鐘選擇單端時鐘
未註明的設置選項保持默認便可
1.2 復位時序
上電後GT_Reset和Reset同時復位,GT_Reset提早128clk退出復位,當LaneUp&ChannelUp出現降低沿後 觸發復位時序,Reset提早進入復位,128個時鐘後GT_Reset進入復位狀態,GT_Reset保持128時鐘週期後,退出復位,以後再通過128時鐘週期Reset退出復位,復位順序完成。
1.3 用戶流控信號 (ufc)
發送UFC數據,數據來自於S_axi_tx_tdata,發送到m_axi_ufc_rx_tdata; s_axi_ufc_tx_tdata指定UFC發送數據的大小(2~16byte); 如圖,指定發送UFC大小2byte;
接收UFC數據,接收到2byte數據
1.3.1 用戶流控信號時序
用戶流控信號能夠插入數據流中,從而在接收端能夠下降緩衝buffer壓力,通常應用場景,當接收端 buffer即將溢出時,給發送端發送指令,使得發送端插入流控數據下降接收端數據量防止溢出。
2. 幀模式結構框圖
tx_ctrl和rx_ctrl模塊是用戶設計模塊。tx_ctrl產生 測試數據源,經過Aurora IP發送到傳輸介質中,接收端接收數據並檢測CRC檢測結果,並對CRC錯包計 數。在調試期間能夠用xilinx調試IP的VIO功能監測錯包數量。