0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用VVAS调用HLS生成硬件加速器的主要流程

XILINX开发者社区 来源:XILINX开发者社区 2023-08-04 11:00 次阅读

本文作者:AMD 工程师Shaoyi Chen

本篇博客介绍 VVAS 框架所支持调用的 H/W(HLS) 内核。 H/W 内核指的是使用 HLS 工具生成的在 FPGA 部分执行的硬件功能模块。

HLS kernel 创建:

我们以 smartcam 的预处理作为例子,相关的代码可以在参考链接中找到。xf_pp_pipeline 的作用是将输入图像的格式从 NV12 转换为 BGR,再进行减均值和归一化操作。xf_pp_pipeline 的实现基于 HLS vision library。Vitis 视觉库是为在 Vitis 开发环境中工作而设计的,它为在 FPGA 设备上加速的计算机视觉功能提供了一个软件接口。Vitis 视觉库的功能大多与 OpenCV 的功能相似。更多的详细说明可以在参考链接中找到。

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

xf_pp_pipeline_accel.cpp 作为硬件的一部分,需要将它和 platform 结合在一起。v++ 将 HLS kernel 打包为 xo 文件用于后续的硬件集成。

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

kv260_ispMipiRx_vcu_DP 是 smartcam 应用使用的 platform,xf_pp_pipeline.cpp 打包成 xo 对象后,通过v++ 链接为完整的硬件工程并生成 xclbin 文件。完整的硬件框图如下图所示,红框部分为对应的 HLS kernel。

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

Kernel 调用:

使用 VVAS 框架为 xf_pp_pipeline.cpp 编写自定义驱动是要实现四个函数,分别是:

xlnx_kernel_start

xlnx_kernel_done

xlnx_kernel_init

xlnx_kernel_deinit

xlnx_kernel_init() 函数读取 json 文件中的 mean_r、mean_g、mean_b、scale_r、scale_g、scale_b。

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

xlnx_kernel_start() 函数为 HLS kernel 配置参数

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

xlnx_kernel_deinit() 函数用来释放不需要的句柄。

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

xlnx_kernel_done() 函数进行超时检测

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

通过这四个函数就完成了 VVAS 自定义插件的设计。在 smartcam 应用运行时,通过命令行 gst-launch-1.0 -v filesrc XXXXXX ! queue ! vvas_xmultisrc kconfig="/opt/xilinx/kv260-smartcam/share/vvas/facedetect/preprocess.json" ! XXXXXX 完成插件的调用。


其中 preprocess.json 的内容为:

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

本文简要介绍了 VVAS 调用 HLS 生成的硬件加速器的主要流程,更多的细节可以参考 VVAS 手册。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593199
  • amd
    amd
    +关注

    关注

    25

    文章

    5197

    浏览量

    132633
  • 内核
    +关注

    关注

    3

    文章

    1309

    浏览量

    39846
  • 硬件加速器
    +关注

    关注

    0

    文章

    38

    浏览量

    12636
  • Vitis
    +关注

    关注

    0

    文章

    144

    浏览量

    7155

原文标题:开发者分享|使用 VVAS 调用硬件加速器

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADAU1451硬件加速器摆动什么用?

    Hi,HenryLj.mo请问下在Sigma 300里面使用硬件加速器slew,slew mode为RC type时,对应的time constant 与数据从当前值到目标值得时间有什么关系,或者说不同的time constant的值有什么用? Thanks,Jack
    发表于 01-29 06:55

    无法导入硬件加速器

    嗨!我已经创建了一个硬件加速器(在vhdl中)并且合成成功完成。但是,当我使用创建和导入外围设备向导时,它向我显示我的包在库中不可用,尽管它是。我能做什么 ???L'enfer,c'est l
    发表于 02-27 14:15

    协调屏幕旋转和硬件加速器

    )。而且,在我的测试中,我发现关闭“硬件加速器”允许屏幕在旋转时正确地绘制,但是这使得系统使用起来非常缓慢和痛苦(坏的用户体验)。谢谢任何帮助。
    发表于 04-03 10:56

    如何充分利用数字信号处理上的片内FIR和IIR硬件加速器

    上的片内FIR和IIR硬件加速器也分别称为FIRA和IIRA,我们可以利用这些硬件加速器来分担FIR和IIR处理任务,让内核去执行其他处理任务。在本文中,我们将借助不同的使用模型以及实时测试示例来探讨如何在实践中利用这些加速器
    发表于 12-28 06:26

    H.264解码中CABAC硬件加速器怎么实现?

    H.264解码中CABAC硬件加速器怎么实现?
    发表于 06-07 06:48

    问下ARM3的硬件加速器只能用verilog写吗?

    问下ARM3的硬件加速器只能用verilog写吗?
    发表于 09-30 10:45

    【KV260视觉入门套件试用体验】硬件加速之—使用PL加速矩阵乘法运算(Vitis HLS

    四、硬件加速之—使用PL加速矩阵乘法运算(Vitis HLS) 前四期测评计划: 一、开箱报告,KV260通过网线共享PC网络 二、Zynq超强辅助-PYNQ配置,并使用XVC(Xilinx
    发表于 10-13 20:11

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

    处理器内部集成的硬件加速器可以实现三种广泛使用的信号处理操作:FIR(有限冲激响应)、IIR(无限冲激响应)和FFT(快速傅里叶变换)。硬件加速器减轻了核处理器的负担,能潜在的提升处理器的计算吞吐
    发表于 12-04 15:22 1080次阅读

    Veloce仿真环境下的SoC端到端硬件加速器功能验证

    很多人认为硬件加速器无非是一种速度更快的仿真器而已。毫无疑问,由于硬件加速器使用物理硬件进行仿真,使用硬件加速器验证复杂的集成电路和大型片上系统(SoC)能比软件仿真器快若干数量级。与
    发表于 03-28 14:50 3232次阅读
    Veloce仿真环境下的SoC端到端<b class='flag-5'>硬件加速器</b>功能验证

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

    本教程讨论基于Xilinx FPGA的Memcached硬件加速器的技术细节,该硬件加速器可为10G以太网端口提供线速Memcached服务。
    的头像 发表于 11-27 06:41 3471次阅读

    OpenHarmony 分论坛-华秋电子新硬件加速器

    OpenHarmony 分论坛-华秋电子新硬件加速器 今天的华为开发者大会2021上,OpenHarmony分论坛上展示了华秋电子新硬件加速器 。 HDC分论坛-OpenHarmony 分论坛推荐链接:http://t.elecfans.com/live/1708.htm
    的头像 发表于 10-23 16:53 1528次阅读
    OpenHarmony 分论坛-华秋电子新<b class='flag-5'>硬件加速器</b>

    借助硬件加速器开发您的设计

    借助硬件加速器开发您的设计
    的头像 发表于 01-03 09:45 632次阅读

    VVAS调用HLS生成硬件加速器主要流程介绍

    我们以smartcam的预处理作为例子。xf_pp_pipeline的作用是将输入图像的格式从NV12转换为BGR,再进行减均值和归一化操作。
    的头像 发表于 06-26 16:55 700次阅读
    <b class='flag-5'>VVAS</b><b class='flag-5'>调用</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调用HLS生成硬件加速器主要流程

    本文介绍VVAS框架所支持调用的H/W(HLS)内核
    的头像 发表于 07-14 15:55 435次阅读
    <b class='flag-5'>VVAS</b><b class='flag-5'>调用</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>

    Alveo卡的区块链硬件加速器解决方案

    电子发烧友网站提供《Alveo卡的区块链硬件加速器解决方案.pdf》资料免费下载
    发表于 09-15 14:42 0次下载
    Alveo卡的区块链<b class='flag-5'>硬件加速器</b>解决方案