這篇文章在開發(fā)者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統(tǒng) IDE) 的基礎(chǔ)上撰寫,但使用的是 AMD Vitis Unified IDE,而不是之前傳統(tǒng)版本的 Vitis HLS。
工具流程為:AMD Vitis Unified (HLS) > AMD Vivado> Vitis Unified(平臺和嵌入式應(yīng)用)。我們將創(chuàng)建一個(gè) HLS 組件,并將其整合到 Vivado 硬件設(shè)計(jì)中。然后,我們將創(chuàng)建一個(gè)獨(dú)立的嵌入式應(yīng)用工程,該工程使用 Vivado 中創(chuàng)建的 XSA 作為平臺。該嵌入式應(yīng)用工程將控制 HLS IP:
https://docs.amd.com/access/sources/dita/topic?isLatest=true&url=ug1399-vitis-hls&resourceid=fem1539734223327.html&ft:locale=zh-CN
本教程的運(yùn)行條件如下:
操作系統(tǒng):Ubuntu 20.04
版本:2023.2
注釋:請確保使用適合您的版本的操作系統(tǒng) - 受支持的操作系統(tǒng):
https://docs.amd.com/access/sources/dita/topic?isLatest=true&url=ug973-vivado-release-notes-install-license&resourceid=ypb1549384088486.html&ft:locale=zh-CN
與 Vitis 傳統(tǒng) IDE 相比,Vitis Unified IDE 發(fā)生了一些變化:
外觀 - GUI 基于 Visual-Studio 而不是基于 Eclipse。
Vitis HLS、Vitis 庫和 Vitis 應(yīng)用工程以及 Vitis 平臺創(chuàng)建都在同一個(gè) GUI 內(nèi)進(jìn)行操作。
術(shù)語 - HLS 設(shè)計(jì)現(xiàn)在稱為“組件”,而不是 IP 或內(nèi)核。
不再支持多個(gè) HLS“解決方案”并存 - 您將克隆自己的 HLS 設(shè)計(jì)來比較結(jié)果。
創(chuàng)建 HLS 組件
1. 啟動(dòng) Vitis Unified IDE 并選擇一個(gè)工作空間,該工作空間用于集中保存每個(gè) Vitis 工程(HLS 組件、平臺工程和應(yīng)用工程)。
只需在命令行中輸入 Vitis 即可啟動(dòng) IDE。
工作空間會(huì)顯示在左上角,即“VitisWS”。在“Welcome”頁面上,有不同的 Vitis 開發(fā)框可供選擇。我們將創(chuàng)建上面圈出的工程。我們將根據(jù) HLS 設(shè)計(jì)示例創(chuàng)建一個(gè) HLS 組件。
2. 選擇左側(cè)的示例圖標(biāo)。導(dǎo)航到“using_axi_master”并單擊 + 號。
注釋:如果未顯示 HLS 示例,請通過選擇“Vitis HLS Introductory Examples”標(biāo)題旁邊的下載箭頭來下載倉庫。
3. 選擇組件的名稱和位置,然后選擇“Next”。
4. 復(fù)查匯總信息,然后單擊“Finish”。
5. 打開設(shè)置文件 hls_config.cfg,編輯“Part”、“Flow”和“Output”文件。
hls_config.cfg 文件是新 IDE 的一部分,也是控制設(shè)計(jì)設(shè)置和編譯指示使用的方法之一。還可以在編輯器窗口(而不是 GUI 視圖)中查看該文件。
對于部件,請選擇“ZCU104”,對于目標(biāo)流程,請選擇“Vivado IP Flow” 。
選擇“IP/XO Packaging”,并確保針對輸出格式選擇“Generate Vivado IP and .zip archive”。
6. 選擇“C Simulation”,并選中“Code Analyzer”框。當(dāng)前設(shè)計(jì)過于簡單,無法利用該功能,但將來可參考該方法啟用該功能。可在“C Simulation > Reports > Code Analyzer”下查看分析結(jié)果。
7. 從 Flow Navigator 運(yùn)行“C-Simulation”(、“C-Synthesis”、“C/RTL Co-Simulation”和“Package”。每一項(xiàng)的旁邊都有一個(gè)綠色的勾選標(biāo)記。現(xiàn)在已經(jīng)準(zhǔn)備就緒,可以在 Vivado 中使用 HLS 組件了。
8. 要更深入地了解如何使用 Unified GUI 進(jìn)行 HLS 設(shè)計(jì),請參閱在 Vitis Unified IDE 中創(chuàng)建 HLS 組件:
https://github.com/Xilinx/Vitis-Tutorials/blob/2024.1/Getting_Started/Vitis_HLS/unified_ide_project.md
創(chuàng)建 Vivado 平臺
1. 啟動(dòng) Vivado 并使用 ZCU104 評估板創(chuàng)建一個(gè)新工程。
注釋:請勿將 Vivado 工程保存在您的 Vitis 工作空間文件夾中 - 請將這些工程/工作空間分開保存,以避免工具之間發(fā)生任何意外沖突/行為。
2. 將 HLS 組件添加到 IP 目錄中。
打開 IP 目錄,右鍵單擊“Vivado Repository”,選擇“add Repo”。
瀏覽到導(dǎo)出 IP 的位置,并將“ip”文件夾添加到目錄中。默認(rèn)路徑為
3. 創(chuàng)建一個(gè)新的塊設(shè)計(jì),并添加 HLS IP 和 AMD ZynqUltraScale+MPSoC。通過添加 S_AXI_HP0_FPD 端口來自定義 Zynq 器件。該評估板默認(rèn)啟用 DDR,但請?jiān)凇癉DR Configurations”選項(xiàng)卡中確認(rèn) DDR 是否已啟用。
4. 使用設(shè)計(jì)輔助來運(yùn)行自動(dòng)連接。它將通過 AXI Interconnect 和 AXI SmartConnect 自動(dòng)連接 Zynq 和 HLS IP。
5. 當(dāng)前示例中并未使用中斷,但您可以手動(dòng)將 HLS IP 上的中斷端口連接到 Zynq 器件上的 pl_ps_irq 端口。您的設(shè)計(jì)應(yīng)與以下示例相似:
6.打開“Address Editor”選項(xiàng)卡,確保已如下所示分配了所有地址 。
7. 確認(rèn)該設(shè)計(jì)。創(chuàng)建封裝文件以及綜合、實(shí)現(xiàn)和生成比特流的步驟。完成后,選擇“File > Export > Export Hardware”,并選中“Include bitstream”以導(dǎo)出設(shè)計(jì),并將 XSA 文件保存到期望的位置。
創(chuàng)建獨(dú)立的嵌入式應(yīng)用
Vitis Unified 工作空間應(yīng)該仍處于打開狀態(tài)。如果未打開,請重新打開用于 HLS 組件的工作空間。嵌入式應(yīng)用的設(shè)置分為兩步。
構(gòu)建平臺
從“Welcome”屏幕中選擇“Create Platform Component”,用 XSA 創(chuàng)建自定義平臺。
選擇“Name”,將“Location”保留默認(rèn)值(前提是默認(rèn)設(shè)為工作空間路徑)。
瀏覽至第 2 步中創(chuàng)建的 XSA。
這時(shí)將自動(dòng)填充操作系統(tǒng)和處理器。
復(fù)查匯總信息,然后單擊“Finish”。
注釋:此過程需要一些時(shí)間,但您將在左下角圈出位置看到平臺創(chuàng)建的進(jìn)度,然后它將作為一個(gè)工程出現(xiàn)在工作空間中。
在工作空間中列出平臺工程后,從 Flow Navigator 中選擇“Build”來構(gòu)建平臺,以供嵌入式應(yīng)用工程使用。
構(gòu)建應(yīng)用
要更深入地了解應(yīng)用過程,請參閱 Vitis Unified 嵌入式 IDE 入門:
https://github.com/Xilinx/Vitis-Tutorials/tree/2024.1/Embedded_Software/Getting_Started
從“Welcome”頁面選擇“Create Application Component”,或者選擇“File/New Component/Application”。
選擇“Name”,將“Location”設(shè)置為工作空間路徑,單擊“Next”。
選擇剛剛構(gòu)建的平臺,單擊“Next” 。
“Domain”將會(huì)自動(dòng)生成 - 對于本示例,應(yīng)該會(huì)列出 standalone 和 psu_cortexa53_0。
復(fù)查匯總信息,然后單擊“Finish”。
現(xiàn)在,以下三個(gè) Vitis 組件全都會(huì)出現(xiàn)在當(dāng)前工作空間內(nèi) - HLS 組件、平臺組件和嵌入式應(yīng)用組件:
將這篇博客隨附的源代碼添加到應(yīng)用工程中:
展開應(yīng)用的 component/Sources/src。
右鍵單擊“src”文件夾,然后選擇“Import > Files”。
在應(yīng)用代碼中,可通過調(diào)用 HLS 自動(dòng)生成的驅(qū)動(dòng)程序函數(shù) xexamples.h 來控制 HLS IP。這些驅(qū)動(dòng)程序來自 XSA,在創(chuàng)建平臺工程時(shí)生成。
? ? ?
構(gòu)建應(yīng)用工程。
構(gòu)建完成后,您即可編輯調(diào)試/運(yùn)行配置選項(xiàng),以連接到評估板,并在硬件上運(yùn)行設(shè)計(jì)。
在 ZCU104 評估板上,已通過選擇“Run As”選項(xiàng)中的“Launch Hardware”來對該工程進(jìn)行了測試和驗(yàn)證。當(dāng)連接到該評估板時(shí),您還可以運(yùn)行調(diào)試器并單步執(zhí)行代碼。您可使用終端連接到 UART (com0),以查看硬件上的輸出。
-
amd
+關(guān)注
關(guān)注
25文章
5586瀏覽量
136332 -
嵌入式
+關(guān)注
關(guān)注
5150文章
19665瀏覽量
317454 -
Vivado
+關(guān)注
關(guān)注
19文章
835瀏覽量
68743 -
HLS
+關(guān)注
關(guān)注
1文章
133瀏覽量
24856 -
Vitis
+關(guān)注
關(guān)注
0文章
150瀏覽量
7941
原文標(biāo)題:開發(fā)者分享|AMD Vitis? HLS 系列 2:AMD Vivado? IP 流程(Vitis Unified)
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何使用AMD Vitis HLS創(chuàng)建HLS IP

Vitis2023.2使用之—— classic Vitis IDE
Vitis2023.2使用之—— updata to Vitis Unified IDE
FPGA高層次綜合HLS之Vitis HLS知識庫簡析
使用Vitis HLS創(chuàng)建屬于自己的IP相關(guān)資料分享
如何在Vitis HLS中使用C語言代碼創(chuàng)建AXI4-Lite接口

Vitis HLS工具簡介及設(shè)計(jì)流程
Vitis HLS如何添加HLS導(dǎo)出的.xo文件

Vitis HLS知識庫總結(jié)
AMD全新Vitis HLS資源現(xiàn)已推出

Vitis Unified IDE 和通用命令行參考手冊

研討會(huì):利用編譯器指令提升AMD Vitis? HLS 設(shè)計(jì)性能

在Windows 10上創(chuàng)建并運(yùn)行AMD Vitis?視覺庫示例

評論