Jigyasa Panchal 和 Vatsal Tripathi
在本博客中,我們將介紹使用 Aurora 6466b 協(xié)議實(shí)現(xiàn) AMD UltraScale+ FPGA 與 AMD Versal 自適應(yīng) SoC 的對(duì)接。我們還將涵蓋有關(guān) IP 配置、FPGA 之間的連接、時(shí)鐘設(shè)置以及復(fù)位拓?fù)浣Y(jié)構(gòu)的詳細(xì)信息。
Aurora 64B/66B 是一項(xiàng)用于多千兆位鏈路的輕量級(jí)串行通信協(xié)議。它使用一個(gè)或多個(gè) GTX、GTH、GTY 或 GTM 收發(fā)器在器件之間進(jìn)行數(shù)據(jù)傳輸。可以采用全雙工(雙向數(shù)據(jù))連接,也可以采用單工(任一方向的數(shù)據(jù))連接。本博客重點(diǎn)關(guān)注兩種器件雙工配置下的互聯(lián)操作: UltraScale+ FPGA 使用 GTY連接 Versal 自適應(yīng) SoC 的 GTM。

本博客涵蓋以下內(nèi)容:
1. VCU118 和 VMK180 的示例設(shè)計(jì)
2. IP 配置
3. 綜合、實(shí)現(xiàn)與比特流生成
4. 復(fù)位序列
5. FPGA 之間的連接
這里使用的兩個(gè) FPGA 分別是 AMD Virtex UltraScale+(VCU118 評(píng)估板)和 Versal Prime(VMK180 評(píng)估板)。此測(cè)試中使用的是 AMD Vivado 2024.2。在“相關(guān)”部分中包含了測(cè)試使用的比特流。
在 Aurora 6466b IP 自定義 GUI 中,有兩個(gè)選項(xiàng)卡:“Core Options”(核選項(xiàng))和“Shared Logic”(共享邏輯)。在“Core Options”選項(xiàng)卡中,您可以選擇下列配置的相關(guān)選項(xiàng):通道寬度、線速率、GT 參考時(shí)鐘、INIT 時(shí)鐘與 DRP 時(shí)鐘頻率、數(shù)據(jù)流為雙工/僅發(fā)送/僅接收、接口為成幀或串流以及調(diào)試選項(xiàng)。
在“Shared Logic”選項(xiàng)中,您需要在“Include Shared Logic in core”(在核中包含共享邏輯)或“Include Shared Logic in example design”(在示例設(shè)計(jì)中包含共享邏輯)兩者之間進(jìn)行選擇。
對(duì)于上述示例設(shè)計(jì),建議兩個(gè)器件的線速率和 GT REFCLK 保持一致,以確保兩端的連接穩(wěn)定,這也是一項(xiàng)良好的實(shí)踐。
1.VCU118 和 VMK180 的示例設(shè)計(jì)
VCU118 的單通道示例設(shè)計(jì)
自定義 Aurora 核。
請(qǐng)按照以下步驟為單通道自定義并生成 Aurora 64b66b 核:
啟動(dòng) Vivado Design Suite。
選擇“Create New Project”(創(chuàng)建新工程)并單擊“Next”(下一步)。
選擇工程名稱和路徑,然后單擊“Next”。
選擇 RTL 工程以允許運(yùn)行示例設(shè)計(jì),并勾選“Do not specify sources at this time”(此時(shí)不指定源文件)。單擊“Next”。
單擊 xcvu9p-flga2104-2L-e,或選擇“Boards”(開發(fā)板)選項(xiàng),然后單擊“Virtex UltraScale+ VCU118 Evaluation Platform(xcvu9p-flga2104-2L-e)”
單擊“Next”,然后單擊“Finish”(完成)。
在 Flow Navigator 面板的“Project Manager”(工程管理器)下,選擇 IP 目錄并搜索
Aurora 64b66b。在“Communication & Networking > Serial Interfaces”(通信與聯(lián)網(wǎng) > 串行接口)下可以找到 Aurora 核。
在為 VMK180 創(chuàng)建 2 通道示例設(shè)計(jì)時(shí)也應(yīng)遵循相同的步驟。
VMK180 的單通道示例設(shè)計(jì)
自定義 Aurora 核。
請(qǐng)按照以下步驟為單通道示例自定義并生成 Aurora 64b66b 核:
啟動(dòng) Vivado Design Suite。
選擇“Create New Project”(創(chuàng)建新工程)并單擊“Next”(下一步)。
選擇工程名稱和路徑,然后單擊“Next”。
選擇 RTL 工程以允許運(yùn)行示例設(shè)計(jì),并勾選“Do not specify sources at this time”(此時(shí)不指定源文件)。單擊“Next”。
單擊 xcvp1802-lsvc4072-2MP-e-S,或選擇“Boards”選項(xiàng),然后單擊“Versal VMK180 ES1 Evaluation Platform”(Versal VMK180 ES1 評(píng)估平臺(tái))。
單擊“Next”,然后單擊“Finish”(完成)。
在 Flow Navigator 面板的“Project Manager”(工程管理器)下,選擇 IP 目錄并搜索 Aurora 64b66b。在“Communication & Networking > Serial Interfaces”(通信與聯(lián)網(wǎng) > 串行接口)下可以找到 Aurora 核。

圖 1:Vivado IP 目錄中的 Aurora 64B66B
VCU118 和 VMK180 的示例設(shè)計(jì)共享以下軟件需求:
VCU118- vivado design suite 2025.1
VMK180- vivado design suite 2025.1
2.IP 配置
對(duì)于 VCU118。
右鍵單擊 Aurora 64B66B 并選擇“Customize IP”(自定義 IP)。
在“Customize IP”窗口的“Core Options”(核選項(xiàng))選項(xiàng)卡中,將“GT Refclk (MHz)”設(shè)置為 156.25,將“INIT clk (MHz)”設(shè)置為 100。見圖 2。
注釋:為 VCU118 自定義 IP 時(shí),您還可以選擇 Vivado Lab Edition。這將允許您在頂層文件中添加內(nèi)建 ILA 和 VIO。

圖 2:Aurora 64B66B 核選項(xiàng)設(shè)置
對(duì)于 VMK180。
右鍵單擊 Aurora 64B66B 并選擇“Customize IP”(自定義 IP)。
在“Customize IP”窗口的“Core Options”選項(xiàng)卡中,將“GT Refclk (MHz)”設(shè)置為 156.25。
將“INIT clk (MHz)”設(shè)置為 100。見圖 3。

圖 3:為 VMK180 自定義 Aurora 64B66B 核。
注釋:建議在實(shí)踐中,兩項(xiàng)設(shè)計(jì)的線速率和 GT REFCLK 保持一致。INIT CLK 根據(jù)開發(fā)板上的系統(tǒng)時(shí)鐘進(jìn)行配置。
綜合、實(shí)現(xiàn)與比特流生成
在 Vivado IDE 的“Project Manager”部分,右鍵單擊核名稱并選擇“Open IP Example Design”(打開 IP 示例設(shè)計(jì))(見圖 4)。
單擊“OK”覆蓋現(xiàn)有示例設(shè)計(jì)。
生成示例設(shè)計(jì)后,運(yùn)行綜合。
在 I/O 管腳分配中為 Aurora 核端口分配管腳位置(見圖 5)。
完成管腳分配后,保存并更新 XDC 文件,然后運(yùn)行實(shí)現(xiàn)。
下一步是生成比特流。
注釋:VCU118 的 I/O 端口是基于 bank 231 的原理圖進(jìn)行分配的(見圖 6)。

圖 4:打開 IP 示例設(shè)計(jì)

圖 5:VCU118 的 I/O 端口

圖 6:VCU118 的 I/O 管腳分配所使用的 bank 231 的原理圖
對(duì)于 VMK180。
在 Vivado IDE 的“Project Manager”部分,右鍵單擊核名稱并選擇“Open IP Example Design”。(見圖 6)
單擊“OK”覆蓋現(xiàn)有示例設(shè)計(jì)。
生成示例設(shè)計(jì)后,運(yùn)行綜合。
在 I/O 管腳分配中為 Aurora 核端口分配管腳位置(見圖 7)。
完成管腳分配后,保存并更新 XDC 文件,然后運(yùn)行實(shí)現(xiàn)。
下一步是生成比特流。

圖 7:在生成示例設(shè)計(jì)后為 VMK180 生成的塊設(shè)計(jì)

圖 8:VMK180 的 I/O 端口

圖 9:VMK180 的 I/O 管腳分配所使用的 bank 105 的原理圖
注釋:VMK180 的 I/O 端口是基于 bank 105 的原理圖進(jìn)行分配的(見圖 8)。
4.上電與復(fù)位序列
以下是在可用數(shù)據(jù)流配置的示例設(shè)計(jì)層面針對(duì) Aurora 64B/66B 核推薦的 Aurora 雙工復(fù)位序列。有關(guān)復(fù)位序列請(qǐng)見圖 10。
在開發(fā)板上電序列期間,pma_init 和 reset_pb 信號(hào)應(yīng)處于高電平狀態(tài)。為確保 Aurora 64B/66B 核正常工作,INIT_CLK 與 GT_REFCLK 在上電期間應(yīng)保持穩(wěn)定。當(dāng)兩個(gè)時(shí)鐘穩(wěn)定后,將 pma_init 斷言無效,然后再將 reset_pb 斷言無效。

圖 10:Aurora 64B/66B 雙工上電復(fù)位序列
以下是在數(shù)據(jù)傳輸之前連接兩個(gè)器件的步驟。

圖 11:復(fù)位時(shí)序
5.FPGA 之間的連接
此示例展示了兩個(gè)平臺(tái)之間的單通道 Aurora 64B66B 連接。此平臺(tái)由 VCU118 和 VMK180 評(píng)估套件板組成,如圖 12 所示。隨后對(duì)兩個(gè)器件進(jìn)行燒錄,將燒錄文件設(shè)置為比特流文件名 (aurora_64b66b_0_exdes.bit),將探針文件設(shè)置為探針文件名 (aurora_64b66b_0_exdes.ltx)。

圖 12:Aurora 64B/66B 單通道設(shè)置
注釋:如果在 AMD 評(píng)估板上進(jìn)行測(cè)試,請(qǐng)確保已啟用 QSFP/SFP 端口。請(qǐng)根據(jù)相應(yīng)的開發(fā)板原理圖啟用這些端口。
要執(zhí)行該設(shè)計(jì),需遵循以下必要步驟:
在“Hardware”(硬件)列表中右鍵單擊器件并選擇“Run Trigger”(運(yùn)行觸發(fā)器)。在出現(xiàn)的波形窗口中,觀察到 lane_up 和 channel_up 信號(hào)處于高電平狀態(tài)。
在 hw_vios 下的“Debug Probes”(調(diào)試探針)列表中選中以下所有信號(hào),將探針添加到 VIO 窗口中:channel_up、lane_up、RESET、gt_reset_i_temp。
按照復(fù)位序列切換復(fù)位信號(hào),具體操作是:先對(duì)器件 A 斷言 pma_init 有效,再對(duì)器件 B 斷言該信號(hào)有效;隨后先對(duì)器件 A 斷言 RESET_PB 有效,再對(duì)器件 B 斷言該信號(hào)有效,如圖 9 所示。
channel_up 和 lane_up 信號(hào)必須變?yōu)榈碗娖綘顟B(tài)。
隨后再次依次切換器件 A 與器件 B 的復(fù)位信號(hào)。每次復(fù)位信號(hào)切換后,channel_up 和 lane_up 都會(huì)返回高電平狀態(tài)。
以下步驟表明,當(dāng) reset_pb 和 pma_init 斷言有效時(shí),核(或收發(fā)器)處于復(fù)位狀態(tài),channel_up 和 lane_up 均變?yōu)榈碗娖綘顟B(tài)。然而,當(dāng)這兩個(gè)復(fù)位信號(hào)均為低電平狀態(tài)時(shí),核會(huì)發(fā)生解復(fù)位,channel_up 和 lane_up 均為高電平狀態(tài)。

圖 13:VCU118 的 Aurora 64B/66B HW-ILA 波形

圖 14:VCU118 的 Aurora 64B/66B VIO 探針窗口

圖 15:VMK180 的 Aurora 64B/66B HW-ILA 波形

圖 16:VMK180 的 Aurora 64B/66B VIO 探針窗口
-
FPGA
+關(guān)注
關(guān)注
1659文章
22363瀏覽量
632917 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3812瀏覽量
110974 -
amd
+關(guān)注
關(guān)注
25文章
5667瀏覽量
139419 -
Versal
+關(guān)注
關(guān)注
1文章
173瀏覽量
8404
原文標(biāo)題:開發(fā)者分享 | 使用 Aurora 6466b 實(shí)現(xiàn) AMD UltraScale+? FPGA 與 AMD Versal? 自適應(yīng) SoC 之間的互聯(lián)
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應(yīng)計(jì)算加速平臺(tái)之 Versal 介紹(2)
AMD Versal自適應(yīng)SoC內(nèi)置自校準(zhǔn)的工作原理
AMD率先推出符合DisplayPort? 2.1 8K視頻標(biāo)準(zhǔn)的FPGA和自適應(yīng)SoC
AMD推出全新Spartan UltraScale+ FPGA系列
AMD 擴(kuò)展市場(chǎng)領(lǐng)先的 FPGA 產(chǎn)品組合,推出專為成本敏感型邊緣應(yīng)用打造的AMD Spartan UltraScale+ 系列
AMD推出Spartan UltraScale+ FPGA系列產(chǎn)品
AMD 擴(kuò)展市場(chǎng)領(lǐng)先的 FPGA 產(chǎn)品組合,推出專為成本敏感型邊緣應(yīng)用打造的AMD Spartan UltraScale+ 系列
AMD推出全新Spartan UltraScale+ FPGA系列
AMD Versal自適應(yīng)SoC CPM5 QDMA的Tandem PCIe啟動(dòng)流程介紹
AMD Versal自適應(yīng)SoC器件Advanced Flow概覽(上)
AMD Versal自適應(yīng)SoC器件Advanced Flow概覽(下)
利用AMD VERSAL自適應(yīng)SoC的設(shè)計(jì)基線策略
AMD Spartan UltraScale+ FPGA 開始量產(chǎn)出貨
使用Aurora 6466b協(xié)議實(shí)現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應(yīng)SoC的對(duì)接
評(píng)論