最近我們分享了開發者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統 IDE)和開發者分享|AMD Vitis HLS 系列 2:AMD Vivado IP 流程(Vitis Unified),在這篇AMD Vitis HLS 系列 3 中,我們將介紹如何使用 Unified IDE 創建 HLS 組件。這里采用“自下而上”的流程,從 HLS 組件開始,該組件可以導出為 XO 文件用于 Vitis 系統工程;這與“自上而下的流程”相反,后者從 Vitis 工程開始,然后將 HLS 組件導入該工程。我們將創建視覺庫示例“remap”,并在 Unified IDE 中執行每一步,而不是運行 Makefile 腳本。
這篇博客的測試環境如下:
版本:2024.2
器件:xcvc1902-vsva2197-2MP-e-S
注釋 1:確保使用的操作系統與運行的版本兼容 -受支持的操作系統:
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 上遵循本教程進行操作,請切換到 Linux,或者請參閱此篇博客作為參考:
開發者分享|在 Windows 10 上創建并運行 AMD Vitis 視覺庫示例
注釋 3:所需安裝:OpenCV 4.4.0(請參閱這些指示信息以安裝 OpenCV 并設置環境變量):
https://adaptivesupport.amd.com/s/article/Vitis-Libraries-Compiling-and-Installing-OpenCV?language=zh_CN
第一步:設置 OpenCV 環境變量
1. 打開 Linux 終端。
2. 將 OpenCV 添加到 LD_LIBRARY_PATH 環境變量中:
3. 檢查是否已設置環境變量。
4. 創建一個文件夾,用作您的工作空間。
5. 在 Unified IDE 中啟動工作空間:
第二步:從視覺庫創建 HLS 組件
1. 單擊左側邊欄上的“Examples”選項卡:
如果您無法展開“Vitis Libraries”選項,則可能需要下載此倉庫 - 請參閱“Vitis_Libraries”右側向下箭頭下的內容。
還可以通過選擇倉庫右側的鉛筆圖標來編輯倉庫。
確保分支設置為“main”或“2024.2”,以匹配您當前使用的 Vitis 版本。
2. 選擇“Vitis Vision Library > vision > L1 > examples > remap”,然后選擇示例右側的加號 (+),將 HLS 組件添加到您的工作空間中。
保留默認名稱“remap”,位置路徑應與您的工作空間匹配。單擊“Next”。
復查匯總信息,然后單擊“Finish”。
第三步:組件配置
選擇“Settings > hls_config.cfg”以打開配置文件,查看 HLS 示例的設置。有兩種方法可用于查看配置文件:
GUI(默認方法)
讓我們做一些調整,以熟悉 GUI 視圖:
選擇“General”,將 part 設為 xcvc1902-vsva2197-2MP-e-S。
選擇“General”,將 Flow_target 設為 Vitis(如果要導出此設計以供后續在 Vitis 工程中使用,則需要執行此操作)。
選擇“C simulation”,勾選 csim.clean 框(保證后續流程順利進行)。
注釋:請勿選擇“Code Analyzer”,因為它在這個示例中不起作用,而且會導致 C 語言仿真出錯 。
“IP/XO Packaging > Output > output.format” - 設為 xo(用于內核流程)。
如果您還未習慣使用配置文件的 GUI 視圖,請滾動瀏覽整個視圖。
編輯器視圖(選擇下面用紅色圈出的代碼符號)
請注意編輯器視圖中生成的路徑 - 這些路徑基于 Vitis_Library 倉庫路徑的位置生成。
要了解當前正在應用哪些功能(例如 csim.clean),查看編輯器視圖是個好辦法。
注釋:并非所有默認設置都會在編輯器視圖中列出。csim.clean 一開始并沒有列出,但因為我們通過選中該框對其進行了編輯,所以從此刻起,它將出現在編輯器視圖中
第四步:運行 C 語言仿真、C 語言綜合與協同仿真
如果一切都設置正確,您應該能夠成功運行完成 C 語言仿真、C 語言綜合、協同仿真、實現和封裝。如果遇到任何問題,請參閱下面的“故障排除”部分。
注釋:代碼分析器不適用于此示例,它會導致錯誤。
C 語言仿真:
C 語言綜合與綜合報告:
注釋:在 2024.2 中,代碼分析器不適用于此示例。目前正在修復此問題。
協調仿真、實現和封裝已完成:
接下來做什么?
掌握如何在 Unified IDE 中創建和測試 HLS 內核 (XO) 后,即可在 Vitis 工程中使用該內核。以下是一些參考資料:
Vitis HLS 分析和優化 - 提供有關使用 HLS 工具進行優化的更多信息:
https://github.com/Xilinx/Vitis-Tutorials/tree/2024.1/Hardware_Acceleration/Feature_Tutorials/03-dataflow_debug_and_optimization
在 Vitis IDE 工程中使用 RTL 內核 - 這是傳統 IDE 中的 RTL 內核,但提供了將 XO 內核添加到 Vitis 工程的過程方面的相關思路:
https://github.com/Xilinx/Vitis-Tutorials/blob/2024.1/Hardware_Acceleration/Feature_Tutorials/01-rtl_kernel_workflow/using_the_rtl_kernel.md
入門 - 從總體上介紹了使用 Vitis 的不同流程,以及每個部分如何組合在一起(主機代碼、內核代碼、平臺、應用等)
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 安裝成功完成,未出現任何錯誤消息。
如果遇到路徑錯誤,請確保設置了 LD_LIBRARY_PATH、OPENCV_LIB 和 OPENCV_INCLUDE 環境變量。
清理工作空間 - 右鍵單擊并選擇“HLS Component > Clean Workspace”。然后再次嘗試運行該組件。
如果編輯了庫倉庫,請檢查庫倉庫路徑 - 確保“Edit”框中的庫倉庫路徑與配置文件中用于引用這些文件的路徑匹配。
如果您編輯了“Library”框,請確保刷新倉庫,以使更改生效。
在新工作空間中啟動新工程。
作為參考,配置文件應如下所示:
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
-
操作系統
+關注
關注
37文章
7130瀏覽量
125343 -
IDE
+關注
關注
0文章
350瀏覽量
47657 -
Unified
+關注
關注
0文章
2瀏覽量
8544 -
組件
+關注
關注
1文章
532瀏覽量
18377 -
HLS
+關注
關注
1文章
133瀏覽量
24771
原文標題:開發者分享|AMD Vitis? HLS 系列 3:內核流程 - 在 Unified IDE 中創建視覺庫 HLS 組件
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何使用AMD Vitis HLS創建HLS IP

使用AMD Vitis Unified IDE創建HLS組件

Vitis2023.2使用之—— updata to Vitis Unified IDE
Vivado HLS視頻庫加速Zynq-7000 All Programmable SoC OpenCV應用
如何在HLS 14.3中編寫pow功能?
如何在Nuclei Studio IDE中編譯lib庫文件?
如何在Vitis HLS中使用C語言代碼創建AXI4-Lite接口
使用AXI4-Lite將Vitis HLS創建的IP連接到PS

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

評論