前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vitis指南 | Xilinx Vitis 系列(五)

Vitis指南 | Xilinx Vitis 系列(五)

作者头像
FPGA技术江湖
发布于 2021-02-26 07:22:21
发布于 2021-02-26 07:22:21
1.3K0
举报
文章被收录于专栏:FPGA技术江湖FPGA技术江湖

大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。

由于内容过多,首篇给大侠列出目录,后续有时间分篇连载发出,欢迎各位大侠关注“FPGA技术江湖”,我们是真正做事的团队,希望大家多多支持,如果想获取更多资源,可以加大辉哥微信,进交流群,可以永久交流学习,共同进步。话不多说,咱们就进入正题。

今天带来第五篇,介绍建立系统和Vitis IDE调试流程。后续还会带来详细的开发教程,敬请关注。话不多说,咱们就进入正题。

这里放上前四篇的超链接。

Vitis指南 | Xilinx Vitis 系列(一)

Vitis指南 | Xilinx Vitis 系列(二)

Vitis指南 | Xilinx Vitis 系列(三)

Vitis指南 | Xilinx Vitis 系列(四)

VITIS简介

作者:艮林子 校对:陆辉

连载目录

一、Vitis 2019.2软件平台发行说明

1.1 Vitis软件平台中的内容

1.1.1 硬件加速的应用程序开发流程

1.2 改变行为

1.2.1 从SDAccel迁移

1.2.2 从SDSoC迁移

1.3 支持平台

1.3.1 数据中心加速卡

1.3.2 嵌入式平台

二、安装

三、Vitis加速环境简介

3.1 简介与概述

3.2 FPGA加速

3.3 执行模型

3.4 建立过程

3.4.1 主机程序构建过程

3.4.2 FPGA二进制构建过程

3.5 建立目标

3.5.1 软件仿真

3.5.2 硬件仿真

3.5.3 系统

3.6 使用Vitis软件平台加速应用程序的方法论

3.6.1 文件受众和范围

3.6.2 加速:工业类比

3.6.3 设计设备加速应用程序的方法

3.6.4 开发C / C ++内核的方法论

四、开发应用程序

4.1 程序设计模型

4.2 主机申请

4.2.1 设置OpenCL环境

4.2.2 在FPGA中执行命令

4.2.3 后处理和FPGA清理

4.2.4 摘要

4.3 RTL内核

4.3.1 RTL内核的要求

4.3.2 RTL内核开发流程

4.3.2.1 将RTL代码打包为Vivado IP

4.3.2.2 创建内核描述XML文件

4.3.2.3 从RTL内核创建XO文件

4.3.3 RTL内核向导

4.3.4 摘要

五、构建和运行程序

5.1 设置Vitis环境

5.2 建立目标

5.2.1 软件仿真

5.2.2 硬件仿真

5.2.3 系统硬件目标

5.3 构建主机程序

5.4 构建FPGA二进制文件

5.4.1 在Vivado HLS中创建内核

六、对应用程序进行性能分析,优化和调试

七、使用Vitis分析仪

7.1 处理报告

7.2 了解葡萄分析仪

7.3 创建运行配置

7.4 配置葡萄分析仪

八、使用Vitis IDE

8.1 Vitis命令选项

8.2 创建Vitis IDE项目

8.2.1 启动Vitis IDE工作区

8.2.2 创建一个应用程序项目

8.2.3 管理平台和存储库

8.2.4 了解Vitis IDE

8.2.5 添加源

8.2.5.1 添加源文件

8.2.5.2 创建和编辑新的源文件

8.2.5.3 在项目编辑器视图中工作

8.2.5.4 在助理视图中工作

8.3 建立系统

8.3.1 Vitis IDE指导视图

8.3.2 从Vitis IDE使用Vivado工具

8.4 Vitis IDE调试流程

8.5 配置Vitis IDE

8.5.1 Vitis项目设置

8.5.2 Vitis Build配置设置

8.5.3 Vitis运行配置设置

8.5.4 Vitis二进制容器设置

8.5.5 Vitis硬件功能设置

8.5.6 Vitis工具链设置

8.5.6.1 Vitis内核编译器和链接器选项

8.5.6.2 emconfigutil设置

8.5.6.3 G ++主机编译器和链接器设置

8.6 项目进出口

8.6.1 导出Vitis项目

8.6.2 导入葡萄项目

正文

八、使用Vitis IDE

8.3 建立系统

构建系统时,最佳实践是使用Build Targets中描述的三个可用构建目标。每个构建目标在助手视图中以单独的构建配置表示。按以下顺序完成这些构建配置:

仿真软件:构建软件仿真(sw_emu),以确认主机程序和内核代码一起工作的算法功能。

仿真硬件:构建硬件仿真(hw_emu),以将内核编译为硬件描述语言(HDL),确认所生成逻辑的正确性,并评估其仿真性能。

系统:执行系统硬件构建(hw),以实现在目标平台上运行的应用程序。

在启动build命令之前,请配置每个构建配置,以确保其满足您的需求。选择特定的构建配置,然后单击“ 设置”图标以打开“构建配置设置”对话框。有关使用此对话框的更多信息,请参考《 Vitis Build配置设置》。

除了构建配置设置外,许多会影响您的应用程序的设置都包含在“硬件功能”中,可通过“ Vitis硬件功能设置”对话框访问。最好查看配置Vitis IDE中讨论的每个“设置”对话框。

在助手视图中,指定了构建配置的各种选项,您可以通过选择构建配置并单击“ 构建”(

)按钮来启动构建过程。所述葡萄核心开发工具包使用,其产生的两个部分构建过程的FPGA二进制(.xclbin)用于硬件内核使用葡萄 编译器v++命令,并编译和使用该主机的程序代码链接g++的编译器。

构建过程完成后,“助手”视图将显示特定的构建配置,并带有绿色的复选标记,以指示已成功构建它,如下图所示。您可以打开任何构建报告,例如硬件功能中的“编译摘要”或二进制容器中的“链接摘要”。在“助手”视图中右键单击报告,然后选择“ 在Vitis Analyzer中打开”。

构建完成后,您现在可以在特定构建配置提供的上下文中运行应用程序。例如,在Emulation-SW构建中行使宿主程序和FPGA二进制代码一起工作的C模型,或者在Emulation-HW构建中在仿真中查看宿主程序和RTL内核代码,或者在目标计算机上运行应用程序系统构建中的平台。

要从Vitis IDE中运行该应用程序,请选择构建配置,然后单击“ 运行”按钮()以启动默认运行配置。您也可以右键单击构建配置,然后使用“ 运行” 菜单选择特定的运行配置,或按照Vitis“运行配置设置”中的说明编辑运行配置。

8.3.1 Vitis IDE指导视图

生成或运行特定的生成配置后,“控制台”视图的“引导”选项卡将显示与运行或生成过程相关的错误,警告和建议的列表。指导视图将自动填充并显示在控制台视图中的选项卡中。您可以查看指导消息,以进行代码或构建过程中可能需要的任何更改。

运行硬件仿真后,“指导”视图可能如下图所示。

为了简化对“指导”视图信息的排序,Vitis IDE允许您搜索和过滤“指导”视图以查找特定的指导规则条目。您可以折叠或展开树视图,甚至取消层次结构树表示,并可视化指导规则的精简表示。最后,您可以通过启用或禁用警告以及已满足的规则的显示来选择在“指导”视图中显示的内容,还可以根据消息的来源(例如构建和仿真)来限制特定的内容。

默认情况下,“指导”视图显示下拉菜单中所选项目的所有指导信息。要将内容限制为单独的构建或运行步骤,请执行以下操作:

  • 1.选择窗口> 首选项
  • 2.选择类别Guidance。
  • 3.取消选择按项目分类的组指导规则检查

8.3.2 从Vitis IDE使用Vivado工具

Vitis核心开发工具包调用 Vivado设计套件在链接过程中自动运行RTL合成并产生FPGA二进制(xclbin)时实现。可以选择直接从Vitis IDE 中启动Vivado工具,以与项目进行交互以合成和实现FPGA二进制文件。可通过Xilinx > Vivado集成菜单访问以下三个命令,以支持从Vitis IDE 与Vivado工具进行交互:

打开Vivado项目:这将自动打开与系统构建配置关联的Vivado项目(.xpr)。为了使此功能起作用,您必须事先完成系统构建,以便存在用于构建的Vivado项目。

打开Vivado 项目将启动Vivado IDE,并打开实现设计检查点(DCP)文件以编辑该项目,从而使您可以更直接地管理综合和实现的结果。然后,您可以使用此工作的结果,通过使用Import Design Checkpoint 命令来生成FPGA二进制文件。

导入设计检查点:可让您指定一个Vivado设计检查点(DCP)文件,用作系统构建和生成FPGA二进制文件的基础。

导入Vivado设置:可以导入配置文件(如Vitis Compiler配置文件中所述),以在链接过程中使用。

在独立模式下使用Vivado IDE可以探索各种综合和实现选项,以进一步优化内核的性能和面积。还有其他选项可用于与FPGA构建过程进行交互。有关更多信息,请参见在Vivado工具中管理FPGA综合和实现结果。

8.4 Vitis IDE调试流程

Vitis IDE提供方便的调试功能。手动执行时,设置可执行文件进行调试需要很多步骤。使用调试流程时,Vitis IDE将自动处理这些步骤。

要准备可执行文件进行调试,必须更改构建配置以启用调试标志的应用。在Vitis IDE 的“项目编辑器”视图中设置这些选项。在“选项”部分中提供了两个复选框,用于“活动”构建配置。主机调试可在主机编译中启用调试结构。内核调试可启用内核调试。

还可以通过在“构建配置设置”对话框中启用调试功能,如Vitis“构建配置设置”所示,方法是在“助手”视图中选择构建配置,然后单击“ 设置”按钮。或者,您可以双击构建配置。出现了相同的两个复选框。虽然可以在所有目标上启用主机调试,但是仅软件仿真和硬件仿真构建目标才支持内核调试。

从Vitis IDE 运行GDB会话将完成所有必需的设置。它会自动管理用于硬件或软件仿真的环境设置。如xrt.ini File中所述,它配置Xilinx运行时(XRT)以确保在应用程序运行时提供调试支持,并管理执行主机代码,内核代码和调试服务器所需的不同控制台。

在设置好用于调试的构建配置之后,清理构建目录并重新构建应用程序,以确保该项目已准备好在GDB调试环境中运行。

要启动调试会话,请在“助手”视图中选择构建配置,然后单击“ 调试”(

)按钮。在Vitis IDE中启动调试会话时,透视图将切换到“调试”透视图,该视图被配置为显示其他窗口,以管理不同的调试控制台和源代码窗口。

启动应用程序后,默认情况下,应用程序会main在主机代码中函数主体的开头立即停止。与任何GDB图形前端一样,您现在可以设置断点并检查主机代码中的变量。该葡萄 IDE能够在一个透明的方式加速内核实现同样的功能。有关更多信息,请参阅调试应用程序和内核。

本篇到此结束,下篇还会继续连载,欢迎大侠关注!

【QQ交流群】

群号:173560979,进群暗语:FPGA技术江湖粉丝。

多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理人工智能等各个方向应有尽有。

【微信交流群】

现微信交流群已建立08群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA技术江湖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vitis指南 | Xilinx Vitis 系列(三)
大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。
FPGA技术江湖
2021/02/26
2.4K0
Vitis指南 | Xilinx Vitis 系列(三)
Vitis指南 | Xilinx Vitis 系列(一)
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近50个IC技术公众号。
FPGA技术江湖
2021/02/26
2.1K0
Vitis指南 | Xilinx Vitis 系列(一)
Vitis指南 | Xilinx Vitis 系列(二)
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近50个IC技术公众号。
FPGA技术江湖
2021/02/26
2.3K0
Vitis指南 | Xilinx Vitis 系列(二)
Vitis指南 | Xilinx Vitis 系列(四)
大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。
FPGA技术江湖
2021/02/26
2.1K0
Vitis指南 | Xilinx Vitis 系列(四)
Vitis指南 | Xilinx Vitis 系列(六)
大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。
FPGA技术江湖
2021/02/26
2.3K0
Vitis指南 | Xilinx Vitis 系列(六)
​构建自定义 AXI4-Stream FIR 滤波器
副标题:优秀的IC/FPGA开源项目(五)-在Vivado中构建自定义 AXI4-Stream FIR 滤波器 IP
FPGA技术江湖
2024/12/11
1970
​构建自定义 AXI4-Stream FIR 滤波器
FPGA Xilinx Zynq 系列(一)
今天给大侠带来FPGA Xilinx Zynq 系列第一篇,基于含有 ARM® Cortex®-A9 的 Xilinx® Zynq®-7000 全可编程片上系统的嵌入式处理器,本系列分享来源于《The Zynq Book》,Louise H. Crockett, Ross A. Elliot,Martin A. Enderwitz, Robert W. Stewart. L. H. Crockett, R. A. Elliot, M. A. Enderwitz and R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, First Edition, Strathclyde Academic Media, 2016。
FPGA技术江湖
2020/12/30
2.5K1
FPGA Xilinx Zynq 系列(十八)Zynq 的第一个工程
今天给大侠带来FPGA Xilinx Zynq 系列第十八篇,本篇是第一部分 PART A的最后一篇,下一篇将开启PART B,Zynq SoC & 硬件设计。本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
1.2K0
RecoNIC 入门:SmartNIC 上支持 RDMA 的计算卸载-FPGA-智能网卡-AMD-Xilinx
当今的数据中心由数千台网络连接的主机组成,每台主机都配有 CPU 和 GPU 和 FPGA 等加速器。 这些主机还包含以 100Gb/s 或更高速度运行的网络接口卡 (NIC),用于相互通信。 我们提出了 RecoNIC,这是一种基于 FPGA、支持 RDMA 的 SmartNIC 平台,旨在通过使网络数据尽可能接近计算来加速计算,同时最大限度地减少与数据副本(在以 CPU 为中心的加速器系统中)相关的开销。 由于 RDMA 是用于改善数据中心工作负载通信的事实上的传输层协议,因此 RecoNIC 包含一个用于高吞吐量和低延迟数据传输的 RDMA 卸载引擎。 开发人员可以在 RecoNIC 的可编程计算模块中灵活地使用 RTL、HLS 或 Vitis Networking P4 来设计加速器。 这些计算块可以通过 RDMA 卸载引擎访问主机内存以及远程对等点中的内存。 此外,RDMA 卸载引擎由主机和计算块共享,这使得 RecoNIC 成为一个非常灵活的平台。 最后,我们为研究社区开源了 RecoNIC,以便能够对基于 RDMA 的应用程序和用例进行实验
晓兵
2024/05/04
2.1K0
RecoNIC 入门:SmartNIC 上支持 RDMA 的计算卸载-FPGA-智能网卡-AMD-Xilinx
FPGA Xilinx Zynq 系列(七)Zynq 设计指南( 如何使用?) 之 设计流程概述
今天给大侠带来FPGA Xilinx Zynq 系列第七篇,本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
3K0
RTL与HLS强强联合打造FPGA新开发之路
高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。
碎碎思
2023/08/30
6960
RTL与HLS强强联合打造FPGA新开发之路
FPGA Xilinx Zynq 系列(二十三)Zynq 片上系统的开发
今天给大侠带来FPGA Xilinx Zynq 系列第二十三篇,开启十一章,讲述Zynq 片上系统的开发等相关内容,本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
1.5K0
FPGA Xilinx Zynq 系列(二十七)Vivado HLS: 近视 之 项目剖析
今天给大侠带来FPGA Xilinx Zynq 系列第二十七篇,开启十五章,讲述Vivado HLS: 近视之项目剖析等相关内容,本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
2.2K0
HLS最全知识库
高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。
碎碎思
2023/02/14
2.1K0
HLS最全知识库
基于FPGA的轻量级RISCV SoC
随着以RISC-V(RISC,精简指令集计算机;V表示为第五代)为代表的新型开源ISA(instruction set architecture,指令集架构)的出现,使得国内在处理器研发上有了新的ISA可供选择。国内在处理器研发方面的人才需求也越来越多。但是由于目前国内计算机科学教学用具主要是8086微机和51单片机等陈旧的架构,这些处理器不仅缺乏相关的底层逻辑实现,而且指令架构过于陈旧不具备参考价值。综上所述,为了方便老师教学和学生由浅入深地了解处理器设计,需要一种开源的,简单的,同时使用了新型ISA的处理器,并且基于此集成一个SoC。
FPGA技术江湖
2020/12/29
3.6K0
基于FPGA的轻量级RISCV SoC
Vitis尝鲜(二)
上一篇安装完相关程序后,这一篇就简单运行一个“Hello Vitis”的程序。  本例硬件平台为ZYNQ平台,具体芯片为XC7Z035。  ZYNQ 芯片分为 PL 和 PS, PS 端的 IO 分配相对是固定的,不能任意分配,而且不需要在 Vivado 软件里分配管脚,虽然本实验仅仅使用了 PS,但是还要建立一个 Vivado 工程,用来配置 PS 管脚。虽然 PS 端的 ARM 是硬核,但是在 ZYNQ 当中也要将 ARM硬核添加到工程当中才能使用。
碎碎思
2020/06/30
2K0
FPGA Xilinx Zynq 系列(三十一) IP 重用与集成
今天给大侠带来FPGA Xilinx Zynq 系列第三十一篇,开启十八章, 带来 IP 重用与集成等相关内容,本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
1.6K0
FPGA Xilinx Zynq 系列(二十五)IP包设计
今天给大侠带来FPGA Xilinx Zynq 系列第二十五篇,开启十三章,讲述IP包设计等相关内容,本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
1.9K0
创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台
这是《创建 Vitis 加速平台》系列的第 3 篇博文。在前文中,我们讲解了如何创建硬件和软件工程。在本文中,我们将讲解如何在 Vitis™ 中将所有这些工程封装在一起。
碎碎思
2020/11/03
2K0
创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台
FPGA Xilinx Zynq 系列(八)Zynq 设计指南( 如何使用?) 之 ISE 和 Vivado 设计套件​
今天给大侠带来FPGA Xilinx Zynq 系列第八篇,本篇内容目录简介如下:
FPGA技术江湖
2020/12/30
1.2K0
推荐阅读
相关推荐
Vitis指南 | Xilinx Vitis 系列(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档