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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用VVAS調(diào)用HLS生成硬件加速器的主要流程

XILINX開發(fā)者社區(qū) ? 來(lái)源:XILINX開發(fā)者社區(qū) ? 2023-08-04 11:00 ? 次閱讀

本文作者:AMD 工程師Shaoyi Chen

本篇博客介紹 VVAS 框架所支持調(diào)用的 H/W(HLS) 內(nèi)核。 H/W 內(nèi)核指的是使用 HLS 工具生成的在 FPGA 部分執(zhí)行的硬件功能模塊。

HLS kernel 創(chuàng)建:

我們以 smartcam 的預(yù)處理作為例子,相關(guān)的代碼可以在參考鏈接中找到。xf_pp_pipeline 的作用是將輸入圖像的格式從 NV12 轉(zhuǎn)換為 BGR,再進(jìn)行減均值和歸一化操作。xf_pp_pipeline 的實(shí)現(xiàn)基于 HLS vision library。Vitis 視覺庫(kù)是為在 Vitis 開發(fā)環(huán)境中工作而設(shè)計(jì)的,它為在 FPGA 設(shè)備上加速的計(jì)算機(jī)視覺功能提供了一個(gè)軟件接口。Vitis 視覺庫(kù)的功能大多與 OpenCV 的功能相似。更多的詳細(xì)說明可以在參考鏈接中找到。

c8337eb2-31ed-11ee-9e74-dac502259ad0.png

xf_pp_pipeline_accel.cpp 作為硬件的一部分,需要將它和 platform 結(jié)合在一起。v++ 將 HLS kernel 打包為 xo 文件用于后續(xù)的硬件集成。

c874c03e-31ed-11ee-9e74-dac502259ad0.png

kv260_ispMipiRx_vcu_DP 是 smartcam 應(yīng)用使用的 platform,xf_pp_pipeline.cpp 打包成 xo 對(duì)象后,通過v++ 鏈接為完整的硬件工程并生成 xclbin 文件。完整的硬件框圖如下圖所示,紅框部分為對(duì)應(yīng)的 HLS kernel。

c888a45a-31ed-11ee-9e74-dac502259ad0.png

Kernel 調(diào)用:

使用 VVAS 框架為 xf_pp_pipeline.cpp 編寫自定義驅(qū)動(dòng)是要實(shí)現(xiàn)四個(gè)函數(shù),分別是:

xlnx_kernel_start

xlnx_kernel_done

xlnx_kernel_init

xlnx_kernel_deinit

xlnx_kernel_init() 函數(shù)讀取 json 文件中的 mean_r、mean_g、mean_b、scale_r、scale_g、scale_b。

c8c0396a-31ed-11ee-9e74-dac502259ad0.png

xlnx_kernel_start() 函數(shù)為 HLS kernel 配置參數(shù)。

c8d910a2-31ed-11ee-9e74-dac502259ad0.png

xlnx_kernel_deinit() 函數(shù)用來(lái)釋放不需要的句柄。

c916426a-31ed-11ee-9e74-dac502259ad0.png

xlnx_kernel_done() 函數(shù)進(jìn)行超時(shí)檢測(cè)。

c92d6b0c-31ed-11ee-9e74-dac502259ad0.png

通過這四個(gè)函數(shù)就完成了 VVAS 自定義插件的設(shè)計(jì)。在 smartcam 應(yīng)用運(yùn)行時(shí),通過命令行 gst-launch-1.0 -v filesrc XXXXXX ! queue ! vvas_xmultisrc kconfig="/opt/xilinx/kv260-smartcam/share/vvas/facedetect/preprocess.json" ! XXXXXX 完成插件的調(diào)用。


其中 preprocess.json 的內(nèi)容為:

c9564338-31ed-11ee-9e74-dac502259ad0.png

本文簡(jiǎn)要介紹了 VVAS 調(diào)用 HLS 生成的硬件加速器的主要流程,更多的細(xì)節(jié)可以參考 VVAS 手冊(cè)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21509

    瀏覽量

    598867
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5369

    瀏覽量

    133373
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1336

    瀏覽量

    40082
  • 硬件加速器
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    12710
  • Vitis
    +關(guān)注

    關(guān)注

    0

    文章

    145

    瀏覽量

    7312

原文標(biāo)題:開發(fā)者分享|使用 VVAS 調(diào)用硬件加速器

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)法導(dǎo)入硬件加速器

    嗨!我已經(jīng)創(chuàng)建了一個(gè)硬件加速器(在vhdl中)并且合成成功完成。但是,當(dāng)我使用創(chuàng)建和導(dǎo)入外圍設(shè)備向?qū)r(shí),它向我顯示我的包在庫(kù)中不可用,盡管它是。我能做什么 ???L'enfer,c'est l
    發(fā)表于 02-27 14:15

    H.264解碼中CABAC硬件加速器怎么實(shí)現(xiàn)?

    H.264解碼中CABAC硬件加速器怎么實(shí)現(xiàn)?
    發(fā)表于 06-07 06:48

    問下ARM3的硬件加速器只能用verilog寫嗎?

    問下ARM3的硬件加速器只能用verilog寫嗎?
    發(fā)表于 09-30 10:45

    利用硬件加速器提高處理的性能

    處理內(nèi)部集成的硬件加速器可以實(shí)現(xiàn)三種廣泛使用的信號(hào)處理操作:FIR(有限沖激響應(yīng))、IIR(無(wú)限沖激響應(yīng))和FFT(快速傅里葉變換)。硬件加速器減輕了核處理的負(fù)擔(dān),能潛在的提升處理
    發(fā)表于 12-04 15:22 ?1218次閱讀

    Veloce仿真環(huán)境下的SoC端到端硬件加速器功能驗(yàn)證

    很多人認(rèn)為硬件加速器無(wú)非是一種速度更快的仿真而已。毫無(wú)疑問,由于硬件加速器使用物理硬件進(jìn)行仿真,使用硬件加速器驗(yàn)證復(fù)雜的集成電路和大型片上
    發(fā)表于 03-28 14:50 ?3501次閱讀
    Veloce仿真環(huán)境下的SoC端到端<b class='flag-5'>硬件加速器</b>功能驗(yàn)證

    基于Xilinx FPGA的Memcached硬件加速器的介紹

    本教程討論基于Xilinx FPGA的Memcached硬件加速器的技術(shù)細(xì)節(jié),該硬件加速器可為10G以太網(wǎng)端口提供線速M(fèi)emcached服務(wù)。
    的頭像 發(fā)表于 11-27 06:41 ?3630次閱讀

    毫米波傳感1443硬件加速器的簡(jiǎn)單介紹

    2.6 mmWave波形傳感簡(jiǎn)介1443硬件加速器
    的頭像 發(fā)表于 05-08 06:20 ?3199次閱讀
    毫米波傳感<b class='flag-5'>器</b>1443<b class='flag-5'>硬件加速器</b>的簡(jiǎn)單介紹

    硬件加速器提升下一代SHARC處理的性能

    硬件加速器提升下一代SHARC處理的性能
    發(fā)表于 04-23 13:06 ?6次下載
    <b class='flag-5'>硬件加速器</b>提升下一代SHARC處理<b class='flag-5'>器</b>的性能

    OpenHarmony 分論壇-華秋電子新硬件加速器

    OpenHarmony 分論壇-華秋電子新硬件加速器 今天的華為開發(fā)者大會(huì)2021上,OpenHarmony分論壇上展示了華秋電子新硬件加速器 。 HDC分論壇-OpenHarmony 分論壇推薦鏈接:http://t.elecfans.com/live/1708.htm
    的頭像 發(fā)表于 10-23 16:53 ?1635次閱讀
    OpenHarmony 分論壇-華秋電子新<b class='flag-5'>硬件加速器</b>

    OpenHarmony Dev-Board-SIG專場(chǎng):OpenHarmony 新硬件加速器

    OpenHarmony Dev-Board-SIG專場(chǎng):OpenHarmony 新硬件加速器
    的頭像 發(fā)表于 12-28 15:12 ?1257次閱讀
    OpenHarmony Dev-Board-SIG專場(chǎng):OpenHarmony 新<b class='flag-5'>硬件加速器</b>

    什么是AI加速器 如何確需要AI加速器

    AI加速器是一類專門的硬件加速器或計(jì)算機(jī)系統(tǒng)旨在加速人工智能的應(yīng)用,主要應(yīng)用于人工智能、人工神經(jīng)網(wǎng)絡(luò)、機(jī)器視覺和機(jī)器學(xué)習(xí)。
    發(fā)表于 02-06 12:47 ?4310次閱讀

    用于 AI 應(yīng)用的硬件加速器設(shè)計(jì)師指南

    當(dāng) AI 設(shè)計(jì)人員將硬件加速器整合到用于訓(xùn)練和推理應(yīng)用的定制芯片中時(shí),應(yīng)考慮以下四個(gè)因素
    發(fā)表于 08-19 11:35 ?1510次閱讀
    用于 AI 應(yīng)用的<b class='flag-5'>硬件加速器</b>設(shè)計(jì)師指南

    借助硬件加速器開發(fā)您的設(shè)計(jì)

    借助硬件加速器開發(fā)您的設(shè)計(jì)
    的頭像 發(fā)表于 01-03 09:45 ?810次閱讀

    VVAS調(diào)用HLS生成硬件加速器主要流程介紹

    我們以smartcam的預(yù)處理作為例子。xf_pp_pipeline的作用是將輸入圖像的格式從NV12轉(zhuǎn)換為BGR,再進(jìn)行減均值和歸一化操作。
    的頭像 發(fā)表于 06-26 16:55 ?947次閱讀
    <b class='flag-5'>VVAS</b><b class='flag-5'>調(diào)用</b><b class='flag-5'>HLS</b><b class='flag-5'>生成</b><b class='flag-5'>硬件加速器</b>的<b class='flag-5'>主要</b><b class='flag-5'>流程</b>介紹

    VVAS調(diào)用HLS生成硬件加速器主要流程

    本文介紹VVAS框架所支持調(diào)用的H/W(HLS)內(nèi)核
    的頭像 發(fā)表于 07-14 15:55 ?621次閱讀
    <b class='flag-5'>VVAS</b><b class='flag-5'>調(diào)用</b><b class='flag-5'>HLS</b><b class='flag-5'>生成</b>的<b class='flag-5'>硬件加速器</b>的<b class='flag-5'>主要</b><b class='flag-5'>流程</b>