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

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

3天内不再提示

如何在Unified IDE中创建视觉库HLS组件

XILINX开发者社区 来源:XILINX开发者社区 2025-07-02 10:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文作者:AMD 工程师 Rachel Gaines

最近我们分享了开发者分享|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 脚本。

这篇博客的测试环境如下:

操作系统Linux (Ubuntu 22.04.1)

版本: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 环境变量中:

c0088022-527d-11f0-b715-92fbcf53809c.png

3. 检查是否已设置环境变量。

c016e770-527d-11f0-b715-92fbcf53809c.png

4. 创建一个文件夹,用作您的工作空间。

c033c99e-527d-11f0-b715-92fbcf53809c.png

5. 在 Unified IDE 中启动工作空间:

c045a2b8-527d-11f0-b715-92fbcf53809c.png

第二步:从视觉库创建 HLS 组件

1. 单击左侧边栏上的“Examples”选项卡:

c0659bc2-527d-11f0-b715-92fbcf53809c.png

如果您无法展开“Vitis Libraries”选项,则可能需要下载此仓库 - 请参阅“Vitis_Libraries”右侧向下箭头下的内容。

还可以通过选择仓库右侧的铅笔图标来编辑仓库。

确保分支设置为“main”或“2024.2”,以匹配您当前使用的 Vitis 版本。

c07748ea-527d-11f0-b715-92fbcf53809c.png

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(用于内核流程)。

c09228a4-527d-11f0-b715-92fbcf53809c.png

如果您还未习惯使用配置文件的 GUI 视图,请滚动浏览整个视图。

编辑器视图(选择下面用红色圈出的代码符号)

c0a0ab86-527d-11f0-b715-92fbcf53809c.png

请注意编辑器视图中生成的路径 - 这些路径基于 Vitis_Library 仓库路径的位置生成。

要了解当前正在应用哪些功能(例如 csim.clean),查看编辑器视图是个好办法。

注释:并非所有默认设置都会在编辑器视图中列出。csim.clean 一开始并没有列出,但因为我们通过选中该框对其进行了编辑,所以从此刻起,它将出现在编辑器视图中

第四步:运行 C 语言仿真、C 语言综合与协同仿真

如果一切都设置正确,您应该能够成功运行完成 C 语言仿真、C 语言综合、协同仿真、实现和封装。如果遇到任何问题,请参阅下面的“故障排除”部分。

注释:代码分析器不适用于此示例,它会导致错误。

C 语言仿真:

c0bc9f80-527d-11f0-b715-92fbcf53809c.png

C 语言综合与综合报告:

c0dabcf4-527d-11f0-b715-92fbcf53809c.png

注释:在 2024.2 中,代码分析器不适用于此示例。目前正在修复此问题。

协调仿真、实现和封装已完成:

c105019e-527d-11f0-b715-92fbcf53809c.png

接下来做什么?

掌握如何在 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

    文章

    7329

    浏览量

    128650
  • IDE
    IDE
    +关注

    关注

    0

    文章

    363

    浏览量

    48745
  • Unified
    +关注

    关注

    0

    文章

    3

    浏览量

    8600
  • 组件
    +关注

    关注

    1

    文章

    553

    浏览量

    18927
  • HLS
    HLS
    +关注

    关注

    1

    文章

    133

    浏览量

    25605

原文标题:开发者分享|AMD Vitis™ HLS 系列 3:内核流程 - 在 Unified IDE 中创建视觉库 HLS 组件

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用AMD Vitis HLS创建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS创建一个 HLS IP,通过 AXI4 接口从存储器读取数据、执行简单的数学运算,然后将数据写回存储器。接着会在 AMD Vivado Design Suite 设计中使用此
    的头像 发表于 06-13 09:50 1294次阅读
    如何使用AMD Vitis <b class='flag-5'>HLS</b><b class='flag-5'>创建</b><b class='flag-5'>HLS</b> IP

    使用AMD Vitis Unified IDE创建HLS组件

    这篇文章在开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE) 的基础上撰写,但使用的是 AMD Vitis Unified ID
    的头像 发表于 06-20 10:06 1932次阅读
    使用AMD Vitis <b class='flag-5'>Unified</b> <b class='flag-5'>IDE</b><b class='flag-5'>创建</b><b class='flag-5'>HLS</b><b class='flag-5'>组件</b>

    何在AMD Vitis Unified IDE中使用系统设备树

    您将在这篇博客中了解系统设备树 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 维护来自 XSA 的硬件元数据。本文还讲述了如何对 SDT 进行操作,以便在 Vitis
    的头像 发表于 11-18 11:13 2824次阅读
    如<b class='flag-5'>何在</b>AMD Vitis <b class='flag-5'>Unified</b> <b class='flag-5'>IDE</b>中使用系统设备树

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

    上一章聊了一下vitis2023.2怎样使用classic Vitis IDE,这章我们来说一说基于classic Vitis IDE的工程怎么样更新到新版本的Vitis Unified ID
    发表于 03-24 17:14

    Vivado HLS视频加速Zynq-7000 All Programmable SoC OpenCV应用

    OpenCV应用。如何重构一个使用I/O功能来封装加速器的OpenCV应用。如何在加速器功能, 通过替换为HLS综合视频功能的方迅速加速OpenCV功能调用。如
    发表于 12-30 16:09

    何在HLS 14.3编写pow功能?

    嗨〜 如何在HLS 14.3编写pow功能? HLS 14.3不支持exp和pow功能。我在我的代码写了“#include math.h
    发表于 03-05 13:40

    何在Nuclei Studio IDE编译lib文件?

    请教下: 1, 如何在Nuclei Studio IDE,编译lib文件,类似于stm32 keil中生成的lib。如下图: 2, 如何在
    发表于 08-11 10:59

    AN1246文手册之如何在Microchip图形创建控件

    本文介绍了AN1246文手册之如何在Microchip图形创建控件。
    发表于 06-21 09:25 8次下载
    AN1246<b class='flag-5'>中</b>文手册之如<b class='flag-5'>何在</b>Microchip图形<b class='flag-5'>库</b><b class='flag-5'>中</b><b class='flag-5'>创建</b>控件

    何在Vitis HLS中使用C语言代码创建AXI4-Lite接口

    在本教程,我们将来聊一聊有关如何在 Vitis HLS 中使用 AXI4-Lite 接口创建定制 IP 的基础知识。
    的头像 发表于 09-13 10:04 7327次阅读
    如<b class='flag-5'>何在</b>Vitis <b class='flag-5'>HLS</b>中使用C语言代码<b class='flag-5'>创建</b>AXI4-Lite接口

    何在Vitis HLS中使用C语言代码创建AXI4-Lite接口

    您是否想创建自己带有 AXI4-Lite 接口的 IP 却感觉无从着手?本文将为您讲解有关如何在 Vitis HLS 中使用 C 语言代码创建 AXI4-Lite 接口的基础知识。
    的头像 发表于 07-08 09:40 2729次阅读

    使用AXI4-Lite将Vitis HLS创建的IP连接到PS

    在 AXI 基础第 6 讲 - Vitis HLS 的 AXI4-Lite 简介,使用 C 语言在 HLS
    发表于 08-02 09:43 1231次阅读
    使用AXI4-Lite将Vitis <b class='flag-5'>HLS</b><b class='flag-5'>创建</b>的IP连接到PS

    何在Vitis HLS GUI中使用库函数?

    Vitis™ HLS 2023.1 支持新的 L1 向导,本文将讲解如何下载 L1 、查看所有可用功能以及如何在 Vitis HLS G
    的头像 发表于 08-16 10:26 2043次阅读
    如<b class='flag-5'>何在</b>Vitis <b class='flag-5'>HLS</b> GUI中使用库函数?

    Vitis Unified IDE 和通用命令行参考手册

    AMD Vitis Unified IDE 是用于为 AMD 自适应 SoC 和 FPGA 器件开发应用的设计环境。它集成了 Vitis IDE、Vitis HLS 和 Vitis A
    的头像 发表于 09-13 08:15 1727次阅读
    Vitis <b class='flag-5'>Unified</b> <b class='flag-5'>IDE</b> 和通用命令行参考手册

    何在MCUXpresso IDE测量能耗?

    何在MCUXpresso IDE测量能耗?
    的头像 发表于 09-19 16:40 1136次阅读
    如<b class='flag-5'>何在</b>MCUXpresso <b class='flag-5'>IDE</b><b class='flag-5'>中</b>测量能耗?

    在Windows 10上创建并运行AMD Vitis™视觉示例

    本篇文章将演示创建一个使用 AMD Vitis™ 视觉的 Vitis HLS 组件的全过程。此处使用的是 Vitis
    的头像 发表于 05-08 14:02 1668次阅读
    在Windows 10上<b class='flag-5'>创建</b>并运行AMD Vitis™<b class='flag-5'>视觉</b><b class='flag-5'>库</b>示例