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

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

3天内不再提示

使用AMD Vitis Unified IDE创建HLS组件

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

扫码添加小助手

加入工程师交流群

本文作者:AMD 工程师 Rachel Gaines

这篇文章在开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE) 的基础上撰写,但使用的是 AMD Vitis Unified IDE,而不是之前传统版本的 Vitis HLS。

工具流程为:AMD Vitis Unified (HLS) > AMD Vivado> Vitis Unified(平台和嵌入式应用)。我们将创建一个 HLS 组件,并将其整合到 Vivado 硬件设计中。然后,我们将创建一个独立的嵌入式应用工程,该工程使用 Vivado 中创建的 XSA 作为平台。该嵌入式应用工程将控制 HLS IP:

https://docs.amd.com/access/sources/dita/topic?isLatest=true&url=ug1399-vitis-hls&resourceid=fem1539734223327.html&ft:locale=zh-CN

教程的运行条件如下:

操作系统:Ubuntu 20.04

版本:2023.2

注释:请确保使用适合您的版本的操作系统 - 受支持的操作系统:

https://docs.amd.com/access/sources/dita/topic?isLatest=true&url=ug973-vivado-release-notes-install-license&resourceid=ypb1549384088486.html&ft:locale=zh-CN

与 Vitis 传统 IDE 相比,Vitis Unified IDE 发生了一些变化:

外观 - GUI 基于 Visual-Studio 而不是基于 Eclipse。

Vitis HLS、Vitis 库和 Vitis 应用工程以及 Vitis 平台创建都在同一个 GUI 内进行操作。

术语 - HLS 设计现在称为“组件”,而不是 IP 或内核。

不再支持多个 HLS“解决方案”并存 - 您将克隆自己的 HLS 设计来比较结果。

创建 HLS 组件

1. 启动 Vitis Unified IDE 并选择一个工作空间,该工作空间用于集中保存每个 Vitis 工程(HLS 组件、平台工程和应用工程)。

只需在命令行中输入 Vitis 即可启动 IDE。

40097caa-4b6b-11f0-b715-92fbcf53809c.png

工作空间会显示在左上角,即“VitisWS”。在“Welcome”页面上,有不同的 Vitis 开发框可供选择。我们将创建上面圈出的工程。我们将根据 HLS 设计示例创建一个 HLS 组件。

2. 选择左侧的示例图标。导航到“using_axi_master”并单击 + 号。

注释:如果未显示 HLS 示例,请通过选择“Vitis HLS Introductory Examples”标题旁边的下载箭头来下载仓库。

401b218a-4b6b-11f0-b715-92fbcf53809c.png

3. 选择组件的名称和位置,然后选择“Next”。

4. 复查汇总信息,然后单击“Finish”。

5. 打开设置文件 hls_config.cfg,编辑“Part”、“Flow”和“Output”文件。

hls_config.cfg 文件是新 IDE 的一部分,也是控制设计设置和编译指示使用的方法之一。还可以在编辑器窗口(而不是 GUI 视图)中查看该文件。

对于部件,请选择“ZCU104”,对于目标流程,请选择“Vivado IP Flow” 。

选择“IP/XO Packaging”,并确保针对输出格式选择“Generate Vivado IP and .zip archive”。

4028c132-4b6b-11f0-b715-92fbcf53809c.png

6. 选择“C Simulation”,并选中“Code Analyzer”框。当前设计过于简单,无法利用该功能,但将来可参考该方法启用该功能。可在“C Simulation > Reports > Code Analyzer”下查看分析结果。

7. 从 Flow Navigator 运行“C-Simulation”(、“C-Synthesis”、“C/RTL Co-Simulation”和“Package”。每一项的旁边都有一个绿色的勾选标记。现在已经准备就绪,可以在 Vivado 中使用 HLS 组件了。

8. 要更深入地了解如何使用 Unified GUI 进行 HLS 设计,请参阅在 Vitis Unified IDE 中创建 HLS 组件:

https://github.com/Xilinx/Vitis-Tutorials/blob/2024.1/Getting_Started/Vitis_HLS/unified_ide_project.md

40355af0-4b6b-11f0-b715-92fbcf53809c.png

创建 Vivado 平台

1. 启动 Vivado 并使用 ZCU104 评估板创建一个新工程。

注释:请勿将 Vivado 工程保存在您的 Vitis 工作空间文件夹中 - 请将这些工程/工作空间分开保存,以避免工具之间发生任何意外冲突/行为。

2. 将 HLS 组件添加到 IP 目录中。

打开 IP 目录,右键单击“Vivado Repository”,选择“add Repo”。

浏览到导出 IP 的位置,并将“ip”文件夹添加到目录中。默认路径为 /hls_component/example/hls/impl/ip

404f566c-4b6b-11f0-b715-92fbcf53809c.png

3. 创建一个新的块设计,并添加 HLS IP 和 AMD ZynqUltraScale+MPSoC。通过添加 S_AXI_HP0_FPD 端口来自定义 Zynq 器件。该评估板默认启用 DDR,但请在“DDR Configurations”选项卡中确认 DDR 是否已启用。

4058bc52-4b6b-11f0-b715-92fbcf53809c.png

4. 使用设计辅助来运行自动连接。它将通过 AXI Interconnect 和 AXI SmartConnect 自动连接 Zynq 和 HLS IP。

5. 当前示例中并未使用中断,但您可以手动将 HLS IP 上的中断端口连接到 Zynq 器件上的 pl_ps_irq 端口。您的设计应与以下示例相似:

40675d66-4b6b-11f0-b715-92fbcf53809c.png

6.打开“Address Editor”选项卡,确保已如下所示分配了所有地址 。

40772200-4b6b-11f0-b715-92fbcf53809c.png

7. 确认该设计。创建封装文件以及综合、实现和生成比特流的步骤。完成后,选择“File > Export > Export Hardware”,并选中“Include bitstream”以导出设计,并将 XSA 文件保存到期望的位置。

创建独立的嵌入式应用

Vitis Unified 工作空间应该仍处于打开状态。如果未打开,请重新打开用于 HLS 组件的工作空间。嵌入式应用的设置分为两步。

构建平台

从“Welcome”屏幕中选择“Create Platform Component”,用 XSA 创建自定义平台。

选择“Name”,将“Location”保留默认值(前提是默认设为工作空间路径)。

浏览至第 2 步中创建的 XSA。

这时将自动填充操作系统和处理器

复查汇总信息,然后单击“Finish”。

注释:此过程需要一些时间,但您将在左下角圈出位置看到平台创建的进度,然后它将作为一个工程出现在工作空间中。

在工作空间中列出平台工程后,从 Flow Navigator 中选择“Build”来构建平台,以供嵌入式应用工程使用。

409c7dac-4b6b-11f0-b715-92fbcf53809c.png

构建应用

要更深入地了解应用过程,请参阅 Vitis Unified 嵌入式 IDE 入门:

https://github.com/Xilinx/Vitis-Tutorials/tree/2024.1/Embedded_Software/Getting_Started

从“Welcome”页面选择“Create Application Component”,或者选择“File/New Component/Application”。

选择“Name”,将“Location”设置为工作空间路径,单击“Next”。

选择刚刚构建的平台,单击“Next” 。

40a6d8ec-4b6b-11f0-b715-92fbcf53809c.png

“Domain”将会自动生成 - 对于本示例,应该会列出 standalone 和 psu_cortexa53_0。

复查汇总信息,然后单击“Finish”。

现在,以下三个 Vitis 组件全都会出现在当前工作空间内 - HLS 组件、平台组件和嵌入式应用组件:

40bfc96a-4b6b-11f0-b715-92fbcf53809c.png

将这篇博客随附的源代码添加到应用工程中:

展开应用的 component/Sources/src。

右键单击“src”文件夹,然后选择“Import > Files”。

在应用代码中,可通过调用 HLS 自动生成的驱动程序函数 xexamples.h 来控制 HLS IP。这些驱动程序来自 XSA,在创建平台工程时生成。

40c90d22-4b6b-11f0-b715-92fbcf53809c.png ? ? ?

构建应用工程。

构建完成后,您即可编辑调试/运行配置选项,以连接到评估板,并在硬件上运行设计。

在 ZCU104 评估板上,已通过选择“Run As”选项中的“Launch Hardware”来对该工程进行了测试和验证。当连接到该评估板时,您还可以运行调试器并单步执行代码。您可使用终端连接到 UART (com0),以查看硬件上的输出。

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

    关注

    25

    文章

    5594

    浏览量

    136574
  • 嵌入式
    +关注

    关注

    5158

    文章

    19730

    浏览量

    318597
  • Vivado
    +关注

    关注

    19

    文章

    835

    浏览量

    68970
  • HLS
    HLS
    +关注

    关注

    1

    文章

    133

    浏览量

    24957
  • Vitis
    +关注

    关注

    0

    文章

    150

    浏览量

    7979

原文标题:开发者分享|AMD Vitis? HLS 系列 2:AMD Vivado? IP 流程(Vitis Unified)

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用AMD Vitis HLS创建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS创建一个 HLS IP,通过 AXI4 接口从存储器读取数据、执行简单的数学运算,然后
    的头像 发表于 06-13 09:50 ?756次阅读
    如何使用<b class='flag-5'>AMD</b> <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b><b class='flag-5'>创建</b><b class='flag-5'>HLS</b> IP

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

    Vivado IP 流程(Vitis Unified),在这篇 AMD Vitis HLS 系列 3 中,我们将介绍如何使用
    的头像 发表于 07-02 10:55 ?577次阅读
    如何在<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>

    Vitis2023.2使用之—— classic Vitis IDE

    AMD官网下载全系统安装包,或下载网页版安装包,安装好vitis全套组件。打开vivado建一个测试工程编译好后,在tcl命令输入框子输入命令 vitis –classic 即可打开传
    发表于 03-24 16:15

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

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

    FPGA高层次综合HLSVitis HLS知识库简析

    1、HLS最全知识库介绍高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。对于AMD Xilinx而言
    发表于 09-07 15:21

    使用Vitis HLS创建属于自己的IP相关资料分享

    1、使用Vitis HLS创建属于自己的IP高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过
    发表于 09-09 16:45

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

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

    Vitis HLS工具简介及设计流程

    Vitis HLS 是一种高层次综合工具,支持将 C、C++ 和 OpenCL 函数硬连线到器件逻辑互连结构和 RAM/DSP 块上。Vitis HLS 可在
    的头像 发表于 05-25 09:43 ?2865次阅读

    Vitis HLS如何添加HLS导出的.xo文件

    HLS导出的.xo文件如何导入到Vitis里面?需要把.xo文件解压,然后把文件夹导入到Vitis Kernel/src文件夹下吗?
    的头像 发表于 08-03 11:20 ?3528次阅读
    <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>如何添加<b class='flag-5'>HLS</b>导出的.xo文件

    Vitis HLS知识库总结

    对于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具叫Vivado HLS,之后为了统一将HLS集成到Vitis
    的头像 发表于 09-02 09:06 ?4095次阅读

    AMD全新Vitis HLS资源现已推出

    AMD Vitis HLS 工具允许用户通过将 C/C++ 函数综合成 RTL,轻松创建复杂的 FPGA 算法。Vitis
    的头像 发表于 04-23 10:41 ?1452次阅读
    <b class='flag-5'>AMD</b>全新<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>资源现已推出

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

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

    研讨会:利用编译器指令提升AMD Vitis? HLS 设计性能

    AMD Vitis 高层次综合 ( HLS ) 已成为自适应 SoC 及 FPGA 产品设计领域的一项颠覆性技术,可在创建定制硬件设计时实现更高层次的抽象并提高生产力。
    的头像 发表于 12-05 09:10 ?896次阅读
    研讨会:利用编译器指令提升<b class='flag-5'>AMD</b> <b class='flag-5'>Vitis</b>? <b class='flag-5'>HLS</b> 设计性能

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

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

    AMD Vitis Unified Software Platform 2024.2发布

    近日,全新 AMD Vitis Unified Software Platform 2024.2 版本推出。
    的头像 发表于 11-27 15:47 ?794次阅读