PAM4(4-Level Pulse Amplitude Modulation) 的全稱是四電平脈沖幅度調(diào)制,通過種不同的電平進行信號傳輸,每個電平幅度分別對應 00、01、10 和11。每個周期可以傳輸兩個 Bit 的信息,相比傳統(tǒng)的 NRZ 模式,信號傳輸速率相當于原來的兩倍,當前主流的 400G 光模塊廣泛采用 PAM4 技術(shù)。AMD Versal自適應 SoC 的 GTM 支持 PAM4 電平,本文將介紹如何使用 GTM 仿真和觀察 PAM4 信號。
新建 GTM Example Design:
1. 點擊 AMD VivadoDesign Tool 左側(cè)導航欄 Create Block Design 新建 BD文件。
2. 在 BD的空白處右擊,選擇 Add IP,在彈出的對話框種選擇 Versal ACAPs Transceivers Wizard。
3. 配置 Transceiver Wizard。
Transceiver Type 選擇 GTM。
Transceiver Configs Protocol 頁面可以選擇多種 Preset 的模板,這里選擇 GTM:(PAM4) Ethernet 53G,其余保持默認。
4. 右擊 IP 選擇 Open IP Example Design。
運行行為仿真
1. 在 Settings 頁面的 Simulation 菜單中加入命令 -d SIM_SPEED_UP 可加速仿真結(jié)束的時間,如下圖所示:
2. 單擊 Run Simulation 進入到仿真界面,并且全速運行直到仿真結(jié)束。
TestBench 代碼分析
1.進入到仿真界面以后,首先會看到 GT_Serial_TX_rxp/n 和 GT_Serial_RX_rxp/n 都處于高阻(High-Z)狀態(tài),這是因為外部的端口信號只支持 0 和 1 兩種狀態(tài),而 PAM4 信號有 0,1,2,3 四種狀態(tài),端口上無法顯示出 4 種電平狀態(tài)所導致。
2. 為了解決這個問題,需要把端口等效成 Integer。以 GTM Ch0 為例,在 Testbench 里面定義了兩個 Integer 類型的信號名:gtm_ch0_p/n。
3. Testbench 中通過以下方式對信號賦值:
通過這個路徑可以看到,在 GTM 的 Quad 中已經(jīng)對 TXP/N 定義了一個 Integer,通過 Force 的方式直接把 Integer 賦值到 gtm_ch0_p/n,再賦值給底層 GTM 的 CH0_GTMRXP/N_integer,從而模擬外部回環(huán)。
4. 因此,需要在 Watch 窗口中觀察 gtm_ch0_p/n 或者底層的 CH0_GTMTXP/N_integer 和 CH0_GTMRXP/N_integer。
5. 對信號名右擊,在彈出的 Waveform Style 中選擇 Analog,然后在 Analog Settings 中把 Interpolation Style 設置為 Hold。這樣就可以更加直觀的查看 PAM4 信號的變化。
6. 當 Versal GTM 模式設置為 NRZ 時,也需要同樣觀察相關的 Integer 信號。
-
amd
+關注
關注
25文章
5466瀏覽量
134083 -
仿真
+關注
關注
50文章
4070瀏覽量
133551 -
信號
+關注
關注
11文章
2789瀏覽量
76727 -
pam4
+關注
關注
2文章
36瀏覽量
14422 -
Versal
+關注
關注
1文章
158瀏覽量
7656
原文標題:開發(fā)者分享|AMD Versal? 自適應 SoC GTM 如何用 XSIM 仿真和觀察 PAM4 信號
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論