在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Vitis HLS tcl shell一鍵跑通視覺加速例程

電子工程師 ? 來源:XILINX技術社區 ? 作者:陳雯 ? 2020-12-29 11:12 ? 次閱讀

本文給想直接使用Vitis HLS 工具在 Standalone 模式下調用 Xilinx Vision Library L1 API 的小伙伴提供了一個非常容易上手的腳本文件。

論壇上遇到在高層次綜合工具中調用視覺庫遇到的大多數問題都和 opencv 庫以及Xilinx Vision 庫的安裝路徑有關,如今 Vitis HLS 2020.1 之后的版本都不再提供OpenCV 的預編譯庫,就更需要開發者們將各自工作環境中的庫路徑,環境變量都設置好。希望這篇博文能給大家調用 Vitis Vision Library 提供向導,提升效率。

Vitis Vision庫

Vitis Vision 庫是 Xilinx 官方將 Opencv 功能轉換至易于在 FPGA 中部署的視覺加速庫,可在Vitis 環境中實施。其中 Vitis Vision 庫的 L1 目錄提供了在 Vitis HLS 層級部署的應用實例設計。這個實例設計中 C-sim 的流程中需要調用 OpenCV 用于測試平臺功能,因此需要現有的OpenCV 安裝。

Vitis Vision庫:(或點擊閱讀原文進入)

https://github.com/Xilinx/Vitis_Libraries/tree/master/vision

為了適應各種用戶環境,從2020.1版本開始,Xilinx 不再提供帶有 Vivado / Vitis 工具的OpenCV 的預安裝版本。盡管 Vitis 在綜合布局布線Vision庫的流程中不需要 OpenCV,但是運行示例設計仿真是必需的。

本文使用 Vitis 2020.2 版本介紹了如何創建獨立的 Vitis HLS TCL 文件,用戶只要在將該 tcl腳本拷貝在 Vision Lirary 的實例目錄中,即可在命令行模式下跑完 Vitis_HLS C仿真,綜合,聯合仿真以及導出 IP 等全部流程。

Vision 的官方文檔中包含使用 Vitis HLS standalone 模式的教程,該信息位于以下位置:

https://github.com/Xilinx/Vitis_Libraries/blob/master/vision/docs/getting-started-with-hls.rst

https://xilinx.github.io/Vitis_Libraries/vision/2020.1/index.html#

要利用示例設計或在用戶測試平臺中引用 OpenCV 庫,必須執行以下步驟:

-安裝 OpenCV 工具版本3.x

OpenCV 在Linux 的安裝和環境設置請參考附錄A, 在 Windows 環境下建議使用 Mingw 編譯Opencv 安裝包。

-設置環境變量以引用 OpenCV 安裝路徑

-下載 Vitis Version library

-創建 TCL 腳本并在 Vitis HLS 命令行執行

注意:2020.1 Vitis Vision 庫已使用 OpenCV 庫的3.3版進行了驗證。比該版本更新的任何版本都可以使用,但是,版本4.x可能相對于3.x版本具有庫功能更改,可能需要修改示例設計測試平臺。因此,建議使用 OpenCV 3.x 版運行示例設計。OpenCV 庫僅提供測試平臺功能,不是必需的,并且不會以任何方式影響 Vision 內核的實現。

  • 環境設置

Linux 環境變量設置要求:

source < path-to-Vitis-installation-directory >/settings64.shsource < part-to-XRT-installation-directory >/setup.shexport DEVICE=< path-to-platform-directory >/< platform >.xpfm

export OPENCV_INCLUDE=< path-to-opencv-include-folder >

export OPENCV_LIB=< path-to-opencv-lib-folder >

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:< path-to-opencv-lib-folder>

Windows 環境變量設置要求:

示例如下所示,并且每個用戶的設置會有所不同,具體取決于 OpenCV 和編譯器工具的安裝目錄。

注意:必須在用戶的環境中正確設置 LD_LIBRARY_PATH 動態庫的搜索路徑環境變量和OpenCV PATH 信息,此腳本和 Vitis Vision 示例設計才能正常工作。此外,OpenCV 的包含庫和二進制文件的路徑必須包含在系統的環境變量中。否則,將導致仿真期間庫包含錯誤。

  • 操作步驟

要運行 Vitis HLS tcl 腳本,請執行以下操作:

-將修改好的 tcl 腳本放在 / vision / L1 / example / resize 目錄中

-打開 Vitis HLS 命令行外殼并 cd / vision / L1 / example / resize 目錄

-運行以下命令:vitis_hls -f run_hls_standalone.tcl

  • Vitis HLS TCL腳本詳細解釋

該AR提供了一個 TCL 腳本,用于在 makefile 流之外運行 L1 調整大小示例設計。該腳本基于Windows 環境。該腳本基于以下環境設置:

-OpenCV 版本3.4.11

Linux:

set XF_PROJ_ROOT"/home/vicky/Xilinx/Vitis_Libraries-master/vision"

set OPENCV_INCLUDE"/home/vicky/opencv/include"

set OPENCV_LIB"/home/vicky/opencv/lib"

Windows:

- OpenCV include directory /Data/OpenCV/build_win64/install/include

- OpenCV library directory /Data/OpenCV/build_win64/install/x64/mingw/lib

- Vitis Vision Directory /Data/Vitis_Libraries/Vitis_Libraries-master/vision/

TCL腳本文件包含以下部分,本文將逐一介紹

·代表 OpenCV 和項目環境的變量聲明

·項目創建命令

·使用 Vitis Vision 庫添加設計文件包括路徑

·使用 OpenCV 和 VitisVision 庫添加 Testbench 文件包括路徑

·使用 OpenCV 鏈接器參考進行 C 仿真

·Vitis HLS IP 綜合

·具有 OpenCV 鏈接器參考的 RTL 協同仿真

· 導出IP


1.變量聲明:

變量聲明部分的第一部分聲明了一些變量,這些變量復制makefile流和該流生成的settings.tcl文件的環境變量。這些變量指向 Vitis Vision Includes,OpenCV 頭文件和 OpenCV預編譯的庫。這些位置可能會根據用戶系統的安裝路徑而有所不同。

設置 XF_PROJ_ROOT“ C:/ Data / Vitis_Libraries / Vitis_Libraries-master / vision”#Vitis Vision庫的包含目錄

設置 OPENCV_INCLUDE“ C:/ Data / OpenCV / build_win64 / install /include” #OpenCV頭文件目錄

設置 OPENCV_LIB“ C:/ Data / OpenCV / build_win64 / install / x64 /mingw / lib” #OpenCV 編譯的庫目錄

下一個變量聲明部分有助于創建 Vitis HLS 項目,并有助于使腳本可移植:

·設置 PROJ_DIR“ $ XF_PROJ_ROOT /L1 / examples / resize”

·設置 SOURCE_DIR“ $ PROJ_DIR /”

·設置 PROJ_NAME“ hls_example”

·設置 PROJ_TOP“ resize_accel”

·設置 SOLUTION_NAME“ sol1”

·設置 SOLUTION_PART“xcvu11p-flgb2104-1-e”

·設置 SOLUTION_CLKP 5

最后,最后一部分聲明變量,這些變量表示 HLS 引用和使用庫所需的引用路徑和標志。這里我們發現在一個易用性高的腳本中,使用變量而不是代碼有助于理解如何使用這些選項。

設置 VISION_INC_FLAGS“ -I $XF_PROJ_ROOT / L1 / include -std = c ++ 0x”#Vitis Vision 包含路徑和 C ++ 11 設置

設置 OPENCV_INC_FLAGS“ -I $OPENCV_INCLUDE”#OpenCV 包含目錄引用

設置 OPENCV_LIB_FLAGS“ -L $OPENCV_LIB”#OpenCV 庫參考

注意:

在 Windows 中,庫引用必須包含版本號。本示例使用 OpenCV 3.4.11安裝。精確的包含格式將取決于用戶的安裝,并且可能與下面列出的格式不同。

設置 OPENCV_LIB_REF“ -lopencv_imgcodecs3411-lopencv_imgproc3411 -lopencv_core3411 -lopencv_highgui3411 -lopencv_flann3411-lopencv_features2d3411”

在 Linux include 語句不使用版本號,并給出如下:

設置 OPENCV_LIB_REF“-lopencv_imgcodecs -lopencv_imgproc -lopencv_core -lopencv_highgui -lopencv_flann-lopencv_features2d”

2.項目創建:

項目創建部分非常簡單,它會創建一個新的項目目錄和項目文件:

open_project -reset$PROJ_NAME

設計文件包括:

設計文件已添加到本節中的設計中。該命令:

-引用單個HLS內核文件:add_files“ $ {PROJ_DIR} /xf_resize_accel.cpp”

-引用 Vision 庫和特定于項目的包含合成目錄:-cflags“ $ {VISION_INC_FLAGS} -I $ {PROJ_DIR} /build

-引用了用于 C 仿真的Vision庫和特定于項目的包含目錄:-csimflags“ $ {VISION_INC_FLAGS} -I $ {PROJ_DIR}/ build”

完整的命令如下所示:

add_files“ $ {PROJ_DIR}/xf_resize_accel.cpp” -cflags“ $ {VISION_INC_FLAGS} -I $ {PROJ_DIR} / build”-csimflags“ $ {VISION_INC_FLAGS} -I $ {PROJ_DIR} / build”

Testbench 文件包括:

testbench 文件將在本節中添加到設計中。命令:

-引用 Test bench 文件:add_files -tb“ $ {PROJ_DIR} /xf_resize_tb.cpp”

-引用 Vision 庫和特定于項目的包含目錄:-cflags“ $ {OPENCV_INC_FLAGS} $ {VISION_INC_FLAGS} -I $ {PROJ_DIR}/ build”

-引用 Vision 庫和特定于項目的 C 仿真目錄:-csimflags“ $ {OPENCV_INC_FLAGS} $ {VISION_INC_FLAGS} -I $ {PROJ_DIR} /build”

請注意,在測試臺標志和設計文件標志中添加了$ {VISION_INC_FLAGS}變量。此設置引用OpenCV 包含文件。

完整的命令如下所示:

add_files -tb“ $ {PROJ_DIR}/xf_resize_tb.cpp” -cflags“ $ {OPENCV_INC_FLAGS} $ {VISION_INC_FLAGS} -I ${PROJ_DIR} / build” -csimflags“ $ {OPENCV_INC_FLAGS} $ {PROSION_IN /建立”

3.項目設置:

現在已經添加了所有需要的 C 源文件,執行項目創建的最后一步。這些命令設置 HLS IP 的頂層函數,并創建一個所需的項目solution。

set_top $ PROJ_TOP#設置HLS IP的頂級文件

open_solution -reset $SOLUTION_NAME#創建項目解決方案

set_part $ SOLUTION_PART#設置解決方案部分

create_clock -period $SOLUTION_CLKP#設置項目目標時鐘周期

4.c-sim:

本部分通過將 HLS IP 和 Testbench 設計發送給編譯器進行編譯和執行,來執行 HLS 流的 C仿真階段。此命令用于設置編譯器鏈接器標志和 testbench 文件,以及:

-引用 OpenCV包含和預編譯的庫目錄:-ldflags“ -L $ {OPENCV_LIB} $ {OPENCV_LIB_REF}”

-包括用于驗證測試臺的圖像作為主要功能的參數:-argv“ $ {XF_PROJ_ROOT} /data/128x128.png”

完整的命令如下所示:

csim_design -ldflags“ -L ${OPENCV_LIB} $ {OPENCV_LIB_REF}” -argv“ $ {XF_PROJ_ROOT} /data/128x128.png”

5.C到RTL綜合:

本部分執行 Vitis HLS C 到 RTL 合成階段。此階段不需要標志或選項。

csynth_design

6.C/RTL協同仿真:

本部分在合成后執行 Vitis HLS IP的 RTL 協同仿真。HLS 會自動根據 C test bench 生成RTLtestbench 進行協同仿真,以下指令用于設置編譯器鏈接器標志和 testbench 文件,以及:

-引用 OpenCV包含和預編譯的庫目錄:-ldflags“ -L $ {OPENCV_LIB} $ {OPENCV_LIB_REF}”

-包括用于驗證測試平臺的圖像:-argv“ $ {XF_PROJ_ROOT} /data/128x128.png”

完整的命令如下所示:

cosim_design -ldflags“ -L ${OPENCV_LIB} $ {OPENCV_LIB_REF}” -argv“ $ {XF_PROJ_ROOT} /data/128x128.png”

7.導出IP:

Vitis HLS 流程的最后階段是設計的輸出。本示例導出RTL的設計并運行 Vivado Synthesis,以獲取準確的資源利用率和估計的時序結果。

export_design -flow syn -rtlverilog

注意:導出 RTL 的設計并運行 Vivado Synthesis 進行布局布線的過程需要在 Vivado 工具中先載入有效的 license

責任編輯:xj

原文標題:Vitis Vision | 利用Vitis HLS tcl shell 一鍵跑通視覺加速例程

文章出處:【微信公眾號:XILINX技術社區】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視覺
    +關注

    關注

    1

    文章

    156

    瀏覽量

    24304
  • HLS
    HLS
    +關注

    關注

    1

    文章

    131

    瀏覽量

    24698
  • Vitis
    +關注

    關注

    0

    文章

    148

    瀏覽量

    7868

原文標題:Vitis Vision | 利用Vitis HLS tcl shell 一鍵跑通視覺加速例程

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何使用AMD Vitis HLS創建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 來創建HLS IP,通過 AXI4 接口從存儲器讀取數據、執行簡單的數學運算,然后將數據寫回存儲器。接著會在 AMD Viva
    的頭像 發表于 06-13 09:50 ?383次閱讀
    如何使用AMD <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>創建<b class='flag-5'>HLS</b> IP

    U盤一鍵制作

    在電腦維修中啟動盤很重要,靠譜的u盤一鍵啟動制作方法
    發表于 05-06 16:10 ?44次下載

    Profinet邂逅ModbusRTU:印刷廠有網關“一鍵打通”通信鏈路

    Profinet邂逅ModbusRTU:印刷廠有網關“一鍵打通”通信鏈路
    的頭像 發表于 04-08 17:11 ?168次閱讀
    Profinet邂逅ModbusRTU:印刷廠有網關“<b class='flag-5'>一鍵</b>打通”通信鏈路

    LoRa無線一鍵報警安防建設方案

    SOS緊急呼叫按鈕具有緊急情況下一鍵報警的功能,可與報警主機配合使用,支持標準LoRaWAN協議。lora緊急按鈕具有緊急情況下一鍵報警功能,可與報警主機配合使用,支持標準LoRaWAN協議。如遇
    的頭像 發表于 02-28 14:41 ?469次閱讀
    LoRa無線<b class='flag-5'>一鍵</b>報警安防建設方案

    開關柜一鍵順控在一鍵停電、一鍵送電中的作用

    蜀瑞創新為大家科普,開關柜一鍵順控技術在一鍵停電和一鍵送電中發揮了快速響應、減少人為錯誤、提高安全性、簡化操作流程、降低操作風險、提高送電成功率等綜合優勢,對于提升電力系統的運行效率、安全性以及自動化水平具有重要意義。
    的頭像 發表于 02-27 09:13 ?548次閱讀

    設備管理系統如何實現一鍵智控?

    中設智控的“一鍵智控”模式不僅解決了傳統設備管理中的信息孤島、效率低下等痛點,更通過數據驅動重構企業生產力。未來,隨著工業4.0的深化,設備管理系統將成為企業數字化轉型的核心樞紐,而中設智控憑借其技術積累與行業深耕,正引領這場管理革命,助力中國制造向“中國智造”加速邁進。
    的頭像 發表于 02-17 10:34 ?520次閱讀
    設備管理系統如何實現<b class='flag-5'>一鍵</b>智控?

    人機界面在開關柜一鍵順控中起到什么作用?

    人機界面在一鍵順控系統中發揮著操作指令輸入、狀態顯示與反饋、參數設置與配置以及提升操作便利性和安全性等重要作用。它是實現一鍵順控功能不可或缺的關鍵組成部分。蜀瑞創新專注智能開關柜一鍵順控
    的頭像 發表于 11-05 10:02 ?532次閱讀
    人機界面在開關柜<b class='flag-5'>一鍵</b>順控中起到什么作用?

    10KV開關柜一鍵順控和110KV變電站一鍵順控哪些地方不同

    蜀瑞創新為大家科普:10KV開關柜一鍵順控和110KV變電站一鍵順控在多個方面存在不同,這些差異主要體現在應用范圍、功能側重、控制對象以及系統復雜性等方面。
    的頭像 發表于 10-16 10:29 ?881次閱讀
    10KV開關柜<b class='flag-5'>一鍵</b>順控和110KV變電站<b class='flag-5'>一鍵</b>順控哪些地方不同

    LoRa無線一鍵報警安防建設系統

    SOS緊急呼叫按鈕具有緊急情況下一鍵報警的功能,可與報警主機配合使用,支持標準LoRaWAN協議。 lora緊急按鈕具有緊急情況下一鍵報警功能,可與報警主機配合使用,支持標準LoRaWAN協議。如遇
    發表于 09-25 17:08

    一鍵斷電開關的種類有哪些

    一鍵斷電開關的種類主要可以從其功能和實現方式上進行分類。以下是些常見的一鍵斷電開關種類: 1. 繼電器式一鍵斷電開關 定義 :這種開關通過繼電器或接觸器控制電路的通斷,實現
    的頭像 發表于 09-13 16:45 ?2808次閱讀

    一鍵斷電開關的安裝方法是什么

    一鍵斷電開關,也稱為緊急斷電開關或緊急停止開關,是種安全裝置,用于在緊急情況下迅速切斷電源,以防止事故或進步的損害。這種開關通常在工業設備、實驗室、醫療設備等需要快速斷電的場合中使用。 安裝前
    的頭像 發表于 09-13 16:33 ?2550次閱讀

    一鍵斷電開關的控制原理是什么

    一鍵斷電開關,也被稱為緊急斷電開關或緊急停止開關,是種安全裝置,用于在緊急情況下迅速切斷電源,以防止事故的發生或擴大。這種開關的設計和應用在工業、實驗室、醫療設備以及任何需要快速斷電的場合都
    的頭像 發表于 09-13 16:28 ?3306次閱讀

    變電站一鍵順控系統和開關柜一鍵順控有區別嗎?

    變電站一鍵順控系統和開關柜一鍵順控技術雖然都涉及到“一鍵順控”的概念,但它們在應用范圍和具體實現上有所不同,因此變電站一鍵順控系統和開關柜一鍵
    的頭像 發表于 07-31 13:34 ?1208次閱讀
    變電站<b class='flag-5'>一鍵</b>順控系統和開關柜<b class='flag-5'>一鍵</b>順控有區別嗎?

    開關柜一鍵順控的技術難點和優勢、發展趨勢?

    開關柜一鍵順控技術的核心在于將復雜的人工操作流程轉化為自動化、智能化的控制流程,蜀瑞開關柜一鍵順控系統多年技術經驗
    的頭像 發表于 07-23 11:41 ?865次閱讀

    智能開關柜能如何實現“可視化一鍵順控”?

    智能開關柜能如何實現“可視化一鍵順控”和“開關柜健康狀態管理”?蜀瑞創新推出智能開關柜一鍵順控測解決方案。建設主要包括柜內無線溫度監測、斷路器機械特性和電氣特性監測、分合閘線圈/儲能電機監測、電動機構設備等,并能通過裝置實現開關柜基于AI識別的
    的頭像 發表于 07-08 09:45 ?956次閱讀
    智能開關柜能如何實現“可視化<b class='flag-5'>一鍵</b>順控”?
    主站蜘蛛池模板: 成人免费观看一区二区 | 就操 | 涩综合| 日本中文在线三级在线播放 | 好大好硬好深好爽的视频 | 午夜在线视频免费观看 | 国语一级毛片私人影院 | 国产亚洲精品成人一区看片 | 亚洲乱淫 | 日本免费xxxx色视频 | 欧美最猛黑人xxxx黑人猛交黄 | 国产手机免费视频 | 丁香五月缴情在线 | 国产福利不卡一区二区三区 | 丁香婷婷开心激情深爱五月 | 久久性妇女精品免费 | 野外啪啪抽搐一进一出 | 黄色大片三级 | 欧美高清一区 | 黄色天天影视 | 资源在线www天堂 | 一级片高清 | 久久美女精品 | 伊人久久大线蕉香港三级 | 亚洲午夜一级毛片 | 可以免费看的黄色片 | 淫欲网 | 高清激情小视频在线观看 | 亚洲 欧美 丝袜 制服 在线 | 片免费观看在线看 | 欧美大色网 | 国产香蕉久久精品综合网 | 青草青青产国视频在线 | 禁h粗大太大好爽好涨受不了了 | 国产乱码免费卡1卡二卡3卡四 | 国产精品天天看 | 国产三级日本三级美三级 | 亚洲国产成人在人网站天堂 | 深爱激情站 | 天天爱夜夜| 亚洲色图在线视频 |