色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

使用Vitis HLS工具在Standalone模式下調用Xilinx Vision Library L1 API

YCqV_FPGA_EETre ? 來源:FPGA開發(fā)圈 ? 作者:FPGA開發(fā)圈 ? 2021-01-14 10:19 ? 次閱讀

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

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

Vitis Vision庫

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

Vitis Vision庫:

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

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

本文使用 Vitis 2020.2 版本介紹了如何創(chuàng)建獨立的 Vitis HLS TCL 文件,用戶只要在將該 tcl腳本拷貝在 Vision Lirary 的實例目錄中,即可在命令行模式下跑完 Vitis_HLS C仿真,綜合,聯(lián)合仿真以及導出 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 庫,必須執(zhí)行以下步驟:

-安裝 OpenCV 工具版本3.x

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

-設置環(huán)境變量以引用 OpenCV 安裝路徑

-下載 Vitis Version library

-創(chuàng)建 TCL 腳本并在 Vitis HLS 命令行執(zhí)行

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

環(huán)境設置

Linux 環(huán)境變量設置要求:

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 環(huán)境變量設置要求:

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

ae2766d4-4422-11eb-8b86-12bb97331649.jpg

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

操作步驟

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

-將修改好的 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 環(huán)境。該腳本基于以下環(huán)境設置:

-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 和項目環(huán)境的變量聲明

·項目創(chuàng)建命令

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

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

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

·Vitis HLS IP 綜合

·具有 OpenCV 鏈接器參考的 RTL 協(xié)同仿真

· 導出IP

1

變量聲明:

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

設置 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 編譯的庫目錄

下一個變量聲明部分有助于創(chuàng)建 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 引用和使用庫所需的引用路徑和標志。這里我們發(fā)現(xiàn)在一個易用性高的腳本中,使用變量而不是代碼有助于理解如何使用這些選項。

設置 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

項目創(chuàng)建:

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

open_project -reset$PROJ_NAME

設計文件包括:

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

-引用單個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 文件將在本節(jié)中添加到設計中。命令:

-引用 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

項目設置:

現(xiàn)在已經添加了所有需要的 C 源文件,執(zhí)行項目創(chuàng)建的最后一步。這些命令設置 HLS IP 的頂層函數(shù),并創(chuàng)建一個所需的項目solution。

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

open_solution -reset $SOLUTION_NAME#創(chuàng)建項目解決方案

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

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

4

c-sim:

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

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

-包括用于驗證測試臺的圖像作為主要功能的參數(shù):-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綜合:

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

csynth_design

6

C/RTL協(xié)同仿真:

本部分在合成后執(zhí)行 Vitis HLS IP的 RTL 協(xié)同仿真。HLS 會自動根據(jù) C test bench 生成RTLtestbench 進行協(xié)同仿真,以下指令用于設置編譯器鏈接器標志和 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

附件為在 Ubuntu 18.04 版本在 2020.2 上運行成功的 tcl shell, 大家可以下載后稍作修改,根據(jù)本文流程在自己的環(huán)境中進行實驗,有問題歡迎在本帖下方留言。

責任編輯:lq

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

    關注

    0

    文章

    613

    瀏覽量

    28392
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41373
  • Vision
    +關注

    關注

    1

    文章

    198

    瀏覽量

    18200

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

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    api驅動的云服務是什么意思?

    API驅動的云服務是指利用API技術來驅動和提供云服務的模式。在這種模式下,云服務提供商會公開一系列的API接口,允許開發(fā)者或應用程序通過
    的頭像 發(fā)表于 11-14 10:06 ?203次閱讀

    MSPM0 L1測量儀表解決方案指南

    電子發(fā)燒友網站提供《MSPM0 L1測量儀表解決方案指南.pdf》資料免費下載
    發(fā)表于 09-04 10:47 ?1次下載
    MSPM0 <b class='flag-5'>L1</b>測量儀表解決方案指南

    優(yōu)化 FPGA HLS 設計

    用的參考設計。該參考設計針對具有 Dual ARM? Cortex?-A9 MPCore? 的 FPGA。 我們使用 Xilinx HLS 工具來打開此設計。 它的時鐘周期為 5.00 ns,即
    發(fā)表于 08-16 19:56

    國內直聯(lián)使用ChatGPT 4.0 API Key使用和多模態(tài)GPT4o API調用開發(fā)教程!

    1. 前言 ChatGPT-4o API 是 OpenAI 提供的強大工具,可用于自然語言處理和多模態(tài)任務。國內直聯(lián)使用這些服務需要一些配置和技巧。本文將詳細介紹GPT-4o模型以及
    的頭像 發(fā)表于 06-08 00:33 ?5066次閱讀
    國內直聯(lián)使用ChatGPT 4.0 <b class='flag-5'>API</b> Key使用和多模態(tài)GPT4o <b class='flag-5'>API</b><b class='flag-5'>調用</b>開發(fā)教程!

    BK1661 全集成的單芯片 L1 頻段 GNSS 解決方案

    BK1661 是全集成的單芯片 L1 頻段 GNSS 解決方案,專為需要低功耗和高性能的應用而設計。 BK1661 可以實現(xiàn) 優(yōu)化的多模式信號跟蹤。同時其實現(xiàn)了先進的抗多徑和抗干擾射頻前端,顯著
    發(fā)表于 06-03 09:40

    BK1662 單芯片L1/L5雙頻GNSS解決方案

    概 述 BK1662是完全集成的單芯片L1/L5雙頻GNSS解決方案,專為需要低功耗和高性能的應用而設計。 BK1662通過優(yōu)化多頻段和多模式信號跟蹤、先進的抗多徑技術和抗干擾射頻前端,顯著提高了
    發(fā)表于 06-03 09:31

    BK1616P 全集成的單芯片 L1 頻段 GNSS 解決方案(高性價比FLASH版本)

    BK1616P 是全集成的單芯片 L1 頻段 GNSS 解決方案,專為需要低成本、低功耗和高性能的應用而設計。其可以實現(xiàn)優(yōu)化的多模式信號跟蹤。同時其實現(xiàn)了先進的抗多徑和抗干擾射頻前端,顯著提高了實際
    發(fā)表于 05-29 10:50

    AMD Vitis?設計工具中的Libraries新功能介紹

    AMD Vitis? 2023.2 設計工具Vitis 設計工具變化較大的一個版本,設計流程和界面都發(fā)生了變化。
    的頭像 發(fā)表于 05-29 09:50 ?604次閱讀
    AMD <b class='flag-5'>Vitis</b>?設計<b class='flag-5'>工具</b>中的Libraries新功能介紹

    用malloc和calloc功能來實現(xiàn)DAQ,調試模式下調用calloc和malloc函數(shù)時似乎卡住了,為什么?

    我正在使用 malloc 和 calloc 功能來實現(xiàn) DAQ。 我使用的是 TLE9893 系列芯片。 代碼編譯良好,但在調試模式下調用 calloc 和 malloc 函數(shù)時似乎卡住了。 我嘗試
    發(fā)表于 05-27 08:29

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

    本篇文章將演示創(chuàng)建一個使用 AMD Vitis? 視覺庫的 Vitis HLS 組件的全過程。此處使用的是 Vitis Unified IDE。如果您使用的是舊版 AMD
    的頭像 發(fā)表于 05-08 14:02 ?783次閱讀
    <b class='flag-5'>在</b>Windows 10上創(chuàng)建并運行AMD <b class='flag-5'>Vitis</b>?視覺庫示例

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    上一章聊了一下vitis2023.2怎樣使用classic Vitis IDE,這章我們來說一說基于classic Vitis IDE的工程怎么樣更新到新版本的Vitis Unifie
    發(fā)表于 03-24 17:14

    Vitis2023.2使用之—— classic Vitis IDE

    AMD官網下載全系統(tǒng)安裝包,或下載網頁版安裝包,安裝好vitis全套組件。打開vivado建一個測試工程編譯好后,tcl命令輸入框子輸入命令 vitis –classic 即可打開傳統(tǒng)的GUI界面
    發(fā)表于 03-24 16:15

    為何高端FPGA都非常重視軟件

    針對目標FPGA優(yōu)化的RTL代碼。盡管英特爾的HLS工具現(xiàn)場的使用率比Xilinx的Vivado HLS少得多,但隨著
    發(fā)表于 03-23 16:48

    如何通過API調用控制ISR設置?

    使用 _setPost 來完成 action () API 控制 DMA 設置時遇到了問題。 DMA1 配置為將字符數(shù)據(jù)數(shù)組復制到 RAM 一次,所選操作完成后將引發(fā)中斷。 如果成功
    發(fā)表于 01-30 06:23

    使用ADI官方提供的no-OS來接收GPS L1(1575.42MHz)的資料

    目前使用ad9361接收GPS L1(1575.42MHz)頻段的資料,但收到的IQ頻域和時域上分析,看起來皆不太正確。希望有版友可以提供一些設定上的建議,若能協(xié)助開發(fā)接收這頻段的IQ,請直接私訊我謝謝。
    發(fā)表于 01-21 21:53
    主站蜘蛛池模板: 亚洲欧洲日本无在线码播放| 玩弄朋友娇妻呻吟交换电影| 国产浮力草草影院CCYY| 91国偷自产一区二区三区 | 中文字幕日本久久2019| 亚洲色欲色欲www474ee| 亚洲免费网站在线观看| 亚洲AV精品一区二区三区不卡| 色婷婷国产精品视频一区二区| 欧美一区二区视频高清专区| 欧美午夜免费观看福利片| 欧美人与动牲交ZOOZ特 | xxxx88| caoporn超碰视频| 扒开她的黑森林让我添动态图| WWW国产亚洲精品久久| seyeye在清在线| xhameter中国| 成人在线免费视频| 国产成人aaa在线视频免费观看| 二级毛片免费观看全程| 国产不卡视频在线观看| 国产精品久久久久精品A片软件| 国产精品外围在线观看| 国产专区青青在线视频| 精品在线观看一区| 麻豆国产精品AV色拍综合| 欧美白人战黑吊| 日日撸影院在线| 亚洲AV美女成人网站P站| 亚洲区视频| 4388成人| 大胸美女脱内衣黄网站| 国产婷婷午夜精品无码A片| 精品国产在线亚洲欧美| 玖玖在线精品| 欧洲馒头大肥p| 污污又黄又爽免费的网站| 亚洲欧美一区二区三区久久| 最近的中文字幕2019国语 | 精品亚洲麻豆1区2区3区|