環回(loopback)是 GT 的一種特殊配置模式。可以把發送端的數據直通過自身 PMA 層或對方器件(不加進一步處理)后再轉回給發送器件的接收端,并校驗是否有誤碼。這種工作方式可以檢驗 GT 配置是否正常,外部鏈路信號質量等。在比較復雜的斷鏈場景下一般作為一個基本的調試定位手段。
環回分為近端(Near-End)環回和遠端(Far-End)環回。具體介紹可以參考 AM01, CH2。
https://docs.amd.com/r/en-US/am017-versal-gtm-transceivers
近端環回比較常用且方便,遠端環回則需要兩個獨立的器件來通信。AMD 的開發板一般只有一塊 FPGA 或者 AMD Versal Adaptive SoC 芯片,做遠端環回測試的話需要把兩塊開發板對接起來,并且保證兩塊板子的時鐘同源。本文我們介紹一種用一塊開發板測試遠端環回功能的辦法。
以 Versal VPK120 開發板為例。其上包含一塊 VP1202 的芯片,可用 GT Quad 如下:
https://www.xilinx.com/products/boards-and-kits/vpk120.html
示例選擇 Quad 203 來模擬發送端器件。查看https://docs.amd.com/r/en-US/ug1568-vpk120-eval-bd
QSFP-DD1 和 QSFP-DD2 的連接關系如下:
可以看到 Q203 的 ch0 和 Q204 的 ch1 可以對應連通。選擇 Quad 204 模擬作為接收端器件,使用 DAC 電纜線對接兩個 QSFP-DD。
Step 1:
在 AMD Vivado Design Suite 2024.1 里面建立測試工程。因為是模擬兩個不同器件,這里分別用不同的 gt_bridge 去控制兩個 Quad。Create Block Design, 里面添加兩個 gt_bridge 和兩個 gt_quad_base。在 gt_bridge 里面選擇好協議如下 (可按自己需要選擇):
使用 Run Block Automation – Customized_Connections, 自動化連線:
自動化連線結果如下:
Step 2:
遠端環回需要兩個器件使用同源時鐘,我們把 Quad 203 和 204 的 REFCLK 修改為同一個。另外去掉該基本測試里面不必要的 IO 控制,只保持 GT serial ports 即可。
驅動控制邏輯所需的 apb3clk,可以用 CIPS 來產生:
修改后的 Diagram 如下:
保存,生成 HDL wrapper。
Step 3:
根據 VPK120 開發板的設置,添加 REFCLK 和 GTM 位置約束:
接下來按普通流程生成下載文件 pdi 即可。
Step 4:
將 VPK120 的 SW1 設置為 0000 (JTAG),啟動并下載 pdi 文件。
Step 5:
按照剛才對照的硬件連接關系,在 Serial I/O Links 中建立鏈:
選擇自己想要測試的 PRBS pattern,設置第一個 Link Q204 ch1. RX 為 Far-End PMA 模式,Q203 ch0.RX 為None(由于此處雙向通信,兩個 Link 的設置可以互換)。此時 Q204 作為了遠端執行環回的器件,Q203 則是發送端器件。這樣就模擬了兩個器件以遠端環回對接的連接方式:
設置 TX Main-Cursor;如果外部 Cable 插損比較大,還可以針對性調節其他 TX Cursor:
分別復位兩個 Link。之后在 IBERT GTM Real-Time Scan Plots 的眼圖里面,可以看到通信已經建立起來:
應用此文的辦法,可以在有限的實驗室環境下做針對 Far-End PMA/PCS Loopback 的一些特性測試和觀察,方便進一步學習。
-
開發板
+關注
關注
25文章
5081瀏覽量
97699 -
GT
+關注
關注
0文章
15瀏覽量
24664
原文標題:開發者分享|如何在同一塊開發板上測試 GT 遠端環回
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論