最近我們分享了開發(fā)者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統(tǒng) IDE)和開發(fā)者分享|AMD Vitis HLS 系列 2:AMD Vivado IP 流程(Vitis Unified),在這篇AMD Vitis HLS 系列 3 中,我們將介紹如何使用 Unified IDE 創(chuàng)建 HLS 組件。這里采用“自下而上”的流程,從 HLS 組件開始,該組件可以導(dǎo)出為 XO 文件用于 Vitis 系統(tǒng)工程;這與“自上而下的流程”相反,后者從 Vitis 工程開始,然后將 HLS 組件導(dǎo)入該工程。我們將創(chuàng)建視覺庫(kù)示例“remap”,并在 Unified IDE 中執(zhí)行每一步,而不是運(yùn)行 Makefile 腳本。
這篇博客的測(cè)試環(huán)境如下:
操作系統(tǒng):Linux (Ubuntu 22.04.1)
版本:2024.2
器件:xcvc1902-vsva2197-2MP-e-S
注釋 1:確保使用的操作系統(tǒng)與運(yùn)行的版本兼容 -受支持的操作系統(tǒng):
https://docs.amd.com/access/sources/dita/topic?Doc_Version=2024.2%20%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87&url=ug973-vivado-release-notes-install-license&resourceid=ypb1549384088486.html
注釋 2:如果在 Windows 上遵循本教程進(jìn)行操作,請(qǐng)切換到 Linux,或者請(qǐng)參閱此篇博客作為參考:
開發(fā)者分享|在 Windows 10 上創(chuàng)建并運(yùn)行 AMD Vitis 視覺庫(kù)示例
注釋 3:所需安裝:OpenCV 4.4.0(請(qǐng)參閱這些指示信息以安裝 OpenCV 并設(shè)置環(huán)境變量):
https://adaptivesupport.amd.com/s/article/Vitis-Libraries-Compiling-and-Installing-OpenCV?language=zh_CN
第一步:設(shè)置 OpenCV 環(huán)境變量
1. 打開 Linux 終端。
2. 將 OpenCV 添加到 LD_LIBRARY_PATH 環(huán)境變量中:
3. 檢查是否已設(shè)置環(huán)境變量。
4. 創(chuàng)建一個(gè)文件夾,用作您的工作空間。
5. 在 Unified IDE 中啟動(dòng)工作空間:
第二步:從視覺庫(kù)創(chuàng)建 HLS 組件
1. 單擊左側(cè)邊欄上的“Examples”選項(xiàng)卡:
如果您無法展開“Vitis Libraries”選項(xiàng),則可能需要下載此倉(cāng)庫(kù) - 請(qǐng)參閱“Vitis_Libraries”右側(cè)向下箭頭下的內(nèi)容。
還可以通過選擇倉(cāng)庫(kù)右側(cè)的鉛筆圖標(biāo)來編輯倉(cāng)庫(kù)。
確保分支設(shè)置為“main”或“2024.2”,以匹配您當(dāng)前使用的 Vitis 版本。
2. 選擇“Vitis Vision Library > vision > L1 > examples > remap”,然后選擇示例右側(cè)的加號(hào) (+),將 HLS 組件添加到您的工作空間中。
保留默認(rèn)名稱“remap”,位置路徑應(yīng)與您的工作空間匹配。單擊“Next”。
復(fù)查匯總信息,然后單擊“Finish”。
第三步:組件配置
選擇“Settings > hls_config.cfg”以打開配置文件,查看 HLS 示例的設(shè)置。有兩種方法可用于查看配置文件:
GUI(默認(rèn)方法)
讓我們做一些調(diào)整,以熟悉 GUI 視圖:
選擇“General”,將 part 設(shè)為 xcvc1902-vsva2197-2MP-e-S。
選擇“General”,將 Flow_target 設(shè)為 Vitis(如果要導(dǎo)出此設(shè)計(jì)以供后續(xù)在 Vitis 工程中使用,則需要執(zhí)行此操作)。
選擇“C simulation”,勾選 csim.clean 框(保證后續(xù)流程順利進(jìn)行)。
注釋:請(qǐng)勿選擇“Code Analyzer”,因?yàn)樗谶@個(gè)示例中不起作用,而且會(huì)導(dǎo)致 C 語言仿真出錯(cuò) 。
“IP/XO Packaging > Output > output.format” - 設(shè)為 xo(用于內(nèi)核流程)。
如果您還未習(xí)慣使用配置文件的 GUI 視圖,請(qǐng)滾動(dòng)瀏覽整個(gè)視圖。
編輯器視圖(選擇下面用紅色圈出的代碼符號(hào))
請(qǐng)注意編輯器視圖中生成的路徑 - 這些路徑基于 Vitis_Library 倉(cāng)庫(kù)路徑的位置生成。
要了解當(dāng)前正在應(yīng)用哪些功能(例如 csim.clean),查看編輯器視圖是個(gè)好辦法。
注釋:并非所有默認(rèn)設(shè)置都會(huì)在編輯器視圖中列出。csim.clean 一開始并沒有列出,但因?yàn)槲覀兺ㄟ^選中該框?qū)ζ溥M(jìn)行了編輯,所以從此刻起,它將出現(xiàn)在編輯器視圖中
第四步:運(yùn)行 C 語言仿真、C 語言綜合與協(xié)同仿真
如果一切都設(shè)置正確,您應(yīng)該能夠成功運(yùn)行完成 C 語言仿真、C 語言綜合、協(xié)同仿真、實(shí)現(xiàn)和封裝。如果遇到任何問題,請(qǐng)參閱下面的“故障排除”部分。
注釋:代碼分析器不適用于此示例,它會(huì)導(dǎo)致錯(cuò)誤。
C 語言仿真:
C 語言綜合與綜合報(bào)告:
注釋:在 2024.2 中,代碼分析器不適用于此示例。目前正在修復(fù)此問題。
協(xié)調(diào)仿真、實(shí)現(xiàn)和封裝已完成:
接下來做什么?
掌握如何在 Unified IDE 中創(chuàng)建和測(cè)試 HLS 內(nèi)核 (XO) 后,即可在 Vitis 工程中使用該內(nèi)核。以下是一些參考資料:
Vitis HLS 分析和優(yōu)化 - 提供有關(guān)使用 HLS 工具進(jìn)行優(yōu)化的更多信息:
https://github.com/Xilinx/Vitis-Tutorials/tree/2024.1/Hardware_Acceleration/Feature_Tutorials/03-dataflow_debug_and_optimization
在 Vitis IDE 工程中使用 RTL 內(nèi)核 - 這是傳統(tǒng) IDE 中的 RTL 內(nèi)核,但提供了將 XO 內(nèi)核添加到 Vitis 工程的過程方面的相關(guān)思路:
https://github.com/Xilinx/Vitis-Tutorials/blob/2024.1/Hardware_Acceleration/Feature_Tutorials/01-rtl_kernel_workflow/using_the_rtl_kernel.md
入門 - 從總體上介紹了使用 Vitis 的不同流程,以及每個(gè)部分如何組合在一起(主機(jī)代碼、內(nèi)核代碼、平臺(tái)、應(yīng)用等)
https://github.com/Xilinx/Vitis-Tutorials/tree/2024.1/Getting_Started/Vitis
Unified IDE 流程文檔:
https://docs.amd.com/access/sources/dita/topic?Doc_Version=2024.1%20%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87&url=ug1393-vitis-application-acceleration&resourceid=svk1630656618393.html
故障排除
hls_config.cfg 文件中的 OpenCV 路徑:
確保 OpenCV 安裝成功完成,未出現(xiàn)任何錯(cuò)誤消息。
如果遇到路徑錯(cuò)誤,請(qǐng)確保設(shè)置了 LD_LIBRARY_PATH、OPENCV_LIB 和 OPENCV_INCLUDE 環(huán)境變量。
清理工作空間 - 右鍵單擊并選擇“HLS Component > Clean Workspace”。然后再次嘗試運(yùn)行該組件。
如果編輯了庫(kù)倉(cāng)庫(kù),請(qǐng)檢查庫(kù)倉(cāng)庫(kù)路徑 - 確?!癊dit”框中的庫(kù)倉(cāng)庫(kù)路徑與配置文件中用于引用這些文件的路徑匹配。
如果您編輯了“Library”框,請(qǐng)確保刷新倉(cāng)庫(kù),以使更改生效。
在新工作空間中啟動(dòng)新工程。
作為參考,配置文件應(yīng)如下所示:
part=xcvc1902-vsva2197-2MP-e-S[hls]clock=3.3flow_target=vitissyn.file=/Vitis_Libraries/vision/L1/examples/remap/xf_remap_accel.cppsyn.file_cflags=/Vitis_Libraries/vision/L1/examples/remap/xf_remap_accel.cpp, -I /Vitis_Libraries/vision/L1/examples/remap/config -I/Vitis_Libraries/vision/L1/include -I ./syn.file_csimflags=/Vitis_Libraries/vision/L1/examples/remap/xf_remap_accel.cpp, -I /Vitis_Libraries/vision/L1/examples/remap/config -I/Vitis_Libraries/vision/L1/include -I ./syn.top=remap_acceltb.file=/Vitis_Libraries/vision/L1/examples/remap/xf_remap_tb.cpptb.file_cflags=/Vitis_Libraries/vision/L1/examples/remap/xf_remap_tb.cpp, -I /Vitis_Libraries/vision/L1/examples/remap/config -I/${OPENCV_INCLUDE} -I/Vitis_Libraries/vision/L1/include -I ./tb.file_csimflags=/Vitis_Libraries/vision/L1/examples/remap/xf_remap_tb.cpp, -I /Vitis_Libraries/vision/L1/examples/remap/config -I/Vitis_Libraries/vision/L1/include -I ./ csim.argv=/Vitis_Libraries/vision/data/128x128.png csim.ldflags=-L ${OPENCV_LIB} -lopencv_imgcodecs -lopencv_imgproc -lopencv_calib3d -lopencv_core -lopencv_highgui -lopencv_flann -lopencv_features2dcosim.argv=/Vitis_Libraries/vision/data/128x128.png cosim.ldflags=-L ${OPENCV_LIB} -lopencv_imgcodecs -lopencv_imgproc -lopencv_calib3d -lopencv_core -lopencv_highgui -lopencv_flann -lopencv_features2dvivado.rtl=verilogcsim.clean=1package.output.format=xo
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7263瀏覽量
128058 -
IDE
+關(guān)注
關(guān)注
0文章
358瀏覽量
48574 -
Unified
+關(guān)注
關(guān)注
0文章
3瀏覽量
8587 -
組件
+關(guān)注
關(guān)注
1文章
542瀏覽量
18819 -
HLS
+關(guān)注
關(guān)注
1文章
133瀏覽量
25408
原文標(biāo)題:開發(fā)者分享|AMD Vitis? HLS 系列 3:內(nèi)核流程 - 在 Unified IDE 中創(chuàng)建視覺庫(kù) HLS 組件
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用AMD Vitis HLS創(chuàng)建HLS IP

使用AMD Vitis Unified IDE創(chuàng)建HLS組件

Vitis2023.2使用之—— updata to Vitis Unified IDE
Vivado HLS視頻庫(kù)加速Zynq-7000 All Programmable SoC OpenCV應(yīng)用
如何在HLS 14.3中編寫pow功能?
如何在Nuclei Studio IDE中編譯lib庫(kù)文件?
AN1246中文手冊(cè)之如何在Microchip圖形庫(kù)中創(chuàng)建控件

如何在Vitis HLS中使用C語言代碼創(chuàng)建AXI4-Lite接口

如何在Vitis HLS中使用C語言代碼創(chuàng)建AXI4-Lite接口
使用AXI4-Lite將Vitis HLS創(chuàng)建的IP連接到PS

如何在Vitis HLS GUI中使用庫(kù)函數(shù)?

Vitis Unified IDE 和通用命令行參考手冊(cè)

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

評(píng)論