大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。
由于内容过多,首篇给大侠列出目录,后续有时间分篇连载发出,欢迎各位大侠关注“FPGA技术江湖”,我们是真正做事的团队,希望大家多多支持,如果想获取更多资源,可以加大辉哥微信,进交流群,可以永久交流学习,共同进步。话不多说,咱们就进入正题。
今天带来第四篇,介绍使用Vitis IDE,包括Vitis命令选项和创建Vitis IDE项目。后续还会带来详细的开发教程,敬请关注。话不多说,咱们就进入正题。
这里放上前三篇的超链接。
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.1 Vitis命令选项
Vitis命令将使用您定义的选项启动Vitis IDE。它提供用于指定工作区的选项以及项目的选项。以下各节描述了Vitis命令的选项。
- 显示选项 以下选项显示要查看的指定信息。 -help:显示有关Vitis 核心开发工具包命令选项的帮助信息。 -version:显示Vitis核心开发工具包的发行版本。
- 命令选项 以下命令选项指定如何Vitis为当前工作空间和项目配置命令。 -workspace:指定Vitis IDE项目的工作空间目录。 {-lp <repository_path>}:将<repository_path>添加到Driver / OS / Library搜索目录列表。 -eclipseargs:特定于Eclipse的参数传递给Eclipse。 -vmargs:要传递给Java VM的其他参数。
8.2 创建Vitis IDE项目
在Vitis IDE中,您可以创建一个新的应用程序项目或平台开发项目。下一节将向您展示如何设置工作区,创建新的Vitis IDE项目以及如何使用IDE的关键功能。
8.2.1 启动Vitis IDE工作区
1.直接从以下命令行启动Vitis IDE。
2.选择一个工作空间,如下图所示。
工作区是在IDE中工作时用于存储项目,源文件和结果的文件夹。您可以为每个项目定义单独的工作空间,或者具有包含多个项目和类型的单个工作空间。以下说明显示了如何为Vitis IDE项目定义工作区。
3.单击浏览以浏览并指定工作区,或在工作区字段中键入适当的路径。
4.选择“ 将此用作默认值”,并且不再次询问将指定的工作空间设置为默认选项,并在以后的IDE使用中取消此对话框。
5.点击启动。
8.2.2 创建一个应用程序项目
1.选择文件> 新建> Vitis应用程序项目,或者如果这是第一次启动Vitis IDE,则可以在“欢迎”屏幕上选择“ 创建应用程序项目 ”。将打开“ New Vitis Project”向导。
2.在“创建新的Vitis应用程序项目”页面中,在“项目名称”字段中指定项目的名称 。
3.默认情况下,选择“ 使用默认位置”可以在工作空间的文件夹中找到您的项目。您可以取消选中此复选框以指定在您选择的位置创建项目。
4.如果指定位置,请使用“选择文件系统”选择默认文件系统JSch,或启用Eclipse远程文件系统资源管理器(RSE)。
5.单击“ 下一步”打开“平台”对话框,以指定Vitis目标平台:目标平台由基本硬件设计和用于将加速器附加到声明的接口的元数据组成。
6.选择目标平台,然后单击下一步。
7.如果选择“ 嵌入式目标平台”,如“平台”对话框的“流量”列中所示,则“域”页面将打开,如下图所示。选择域,然后为所选平台指定Sysroot路径。
a)域定义了用于在目标平台上运行主机程序的处理器域。
b)所述SYSROOT是其中基本系统根文件结构所限定的平台的一部分。该SYSROOT路径让你定义一个新的SYSROOT为您的应用。
8.单击“ 下一步”后,将显示“模板”页面,如下图所示。为新项目选择一个应用程序模板。
9.您可以选择“ 清空应用程序”来创建一个空白项目,您可以将文件导入其中并从头开始构建项目。您可以使用Vector Addition模板项目作为示例来了解Vitis IDE,也可以作为新应用程序项目的基础。
10.单击“ 完成”关闭“新建Vitis项目”向导,然后打开项目。
8.2.3 管理平台和存储库
可以从打开的项目的主菜单中的Xilinx > 添加自定义平台,或从“平台”对话框中管理Vitis IDE项目中可用的平台,如创建应用程序项目所示。这使您可以添加新平台或新平台存储库。
在“平台”对话框中,使用以下选项之一管理可用的平台和平台存储库:
添加自定义平台(
):将您自己的平台添加到可用平台列表中。要添加新平台,请导航到自定义平台的顶级目录,选择它,然后单击“ 确定”。该定制平台可立即从可用平台列表中进行选择。
管理平台存储库(
):添加或删除标准和自定义平台。如果添加了自定义平台,则新平台的路径会自动添加到存储库中。从存储库列表中删除平台后,该平台不再显示在可用平台列表中。
添加设备/平台(
):管理作为标准软件安装的一部分安装的Xilinx设备和平台。如果在安装过程中未选择设备或平台,则可以稍后使用此选项将其添加。这将启动Vitis安装程序,因此您可以选择其他内容进行安装。要将自定义平台直接添加到工具中,请选择“ 帮助” >“ 添加设备/平台”。
8.2.4 了解Vitis IDE
在Vitis IDE中打开项目时,工作空间将按一系列不同的视图和编辑器排列,在基于Eclipse的IDE中也称为 透视图。该工具将打开,并具有下图所示的默认透视图。
默认窗口中的一些关键视图和编辑器包括:
Explorer view资源管理器视图:显示项目文件夹及其关联的源文件,构建文件和工具生成的报告的面向文件的树形视图。您可以使用它来浏览项目文件的层次结构。
Assistant view助理视图:提供一个集中位置来查看和管理工作区的项目,以及项目的生成和运行配置。您可以与各种项目设置和不同配置的报告进行交互。从此视图,您可以构建和运行Vitis IDE应用程序项目,并启动Vitis分析器以查看报告和性能数据,如使用Vitis分析器中所述。
Project Editor view项目编辑器视图:显示当前项目,目标平台,活动的构建配置和指定的硬件功能;允许您直接编辑项目设置。
Console view控制台视图:显示多个视图,包括命令控制台,设计指南,项目属性,日志和终端视图。
Vitis IDE包括几个预定义的观点,如葡萄 IDE的角度来看,调试的角度来看,和性能分析视角。要在透视图之间快速切换,请单击Vitis IDE 右上角的透视图名称。
可以通过将视图拖放到IDE中的新位置来排列视图,以适应您的需求,并且视图的排列保存在当前透视图中。您可以通过选择“视图”选项卡上的“ 关闭” (X)按钮来关闭窗口。您可以使用“ 窗口” >“ 显示视图”命令并选择特定视图来打开新窗口。
要将透视图还原为默认的视图排列,请启用透视图,然后选择“ 窗口” >“ 重置视图”。
要打开不同的透视图,请选择“ 窗口” >“ 打开视图”。
8.2.5 添加源
该项目包含许多不同的源文件,包括C / C 文件和标头,OpenCL文件和标头,包含RTL内核中讨论的RTL内核的已编译Xilinx目标文件(.xo)或直接在Vivado中编译内核中所述的HLS内核。
8.2.5.1 添加源文件
1.在Vitis IDE中打开项目的情况下,要添加源文件,请在Project Explorer中右键单击src文件夹,然后单击Import Sources。
2.在对话框的“从目录”字段中,单击“ 浏览”命令以选择要从中导入源的目录。
3.在“到目录”字段中,确保指定的文件夹是您的应用程序项目的src文件夹。
4.选择所需的源文件,然后单击完成。
5.通过启用文件名旁边的复选框来选择所需的源文件,然后单击完成。
重要说明:将源文件导入工作区时,它将文件复制到工作区中。如果删除工作空间,对文件的任何更改都将丢失。
将源文件添加到项目中之后,您就可以开始配置,构建和运行该应用程序了。要在内置文本编辑器中打开源文件,请在“项目资源管理器”中展开src文件夹,然后双击特定文件。
8.2.5.2 创建和编辑新的源文件
1.在打开的项目中,右键单击src文件夹,然后选择“ 新建” >“ 文件”。
2.选择要在其中创建新文件的文件夹,然后输入文件名。
3.单击完成将文件添加到项目。
将源文件添加到项目中之后,就可以开始配置,构建和运行该应用程序了。要在内置文本编辑器中打开源文件,请在“项目资源管理器”中展开src文件夹,然后双击特定文件。
8.2.5.3 在项目编辑器视图中工作
构建系统需要编译并链接主机程序和FPGA二进制文件(xclbin)。您定义的应用程序项目在项目中导入或创建的src文件夹中都包含主机代码和内核代码。下图所示的“项目编辑器”视图提供了项目及其各种构建配置的顶层视图。它提供:
- 有关项目名称的一般信息
- 目标平台
- 活动构建配置
- 与该构建配置相关的几个配置选项
其中包括用于启用主机程序或内核代码的调试功能的调试选项,以及用于选择构建报告级别的菜单,如控制报告生成中所述。
编辑器视图的底部显示“硬件功能”窗口,该窗口显示分配给要构建到xclbin中的二进制容器的内核。要将内核添加到二进制容器,请单击窗口右上方的“ 添加硬件功能”(
)按钮。它显示了项目中定义的内核列表。从“添加硬件功能”对话框中选择内核,如下图所示。
添加内核之后,请在“硬件功能”窗口中的“计算单位”下输入一个值,以实例化内核的多个实例,如创建内核的多个实例中所述。
8.2.5.4 在助理视图中工作
助理视图提供了一个项目树,用于管理构建配置,运行配置以及设置这些配置的属性。它是资源管理器视图的配套视图,并在默认的Vitis IDE透视图中显示在该视图的正下方。下图显示了一个示例助理视图及其树结构。
助理视图层次结构中显示的对象包括顶级系统项目,应用程序项目,软件和硬件仿真构建配置以及系统硬件构建配置。
生成配置按照“ 生成目标”中的说明定义生成目标,并指定生成过程的选项。选择构建配置(例如Emulation-HW构建)并单击“ 设置”图标(
)时,将打开“ Vitis构建配置设置”对话框。您将使用此“设置”对话框为特定的仿真或硬件目标配置构建过程。
提示:您还可以通过双击配置对象来打开“设置”对话框。
每个构建配置的层次结构中都有二进制容器(或.xclbin),二进制容器中的一个或多个硬件功能,运行配置以及由构建或运行过程生成的任何报告或摘要。选择特定构建配置的硬件功能并单击“ 设置”图标时,将显示“ Vitis硬件功能设置”对话框。您将使用“硬件功能设置”对话框来指定每个内核的计算单元数量,将计算单元分配给SLR,并将内核端口分配给全局内存。
运行配置是用于运行已编译和链接的应用程序的配置文件。它定义了运行应用程序的环境和选项。选择一个构建配置,然后使用右键单击菜单导航到 Run > Run Configurations,打开Vitis Run Configuration Settings对话框,您可以在其中配置运行。
在助手视图中,“视图”菜单包含影响助手视图显示内容的选项,但不影响项目数据。左键单击向下箭头打开“查看”菜单,以显示以下选项:
Show Active Build Configurations Only:启用后,“助手”视图将仅显示每个项目的活动构建配置。此选项可用于减少“助手”视图中的混乱情况。在“项目编辑器”视图的“应用程序项目设置”选项卡中选择“ 活动构建配置 ”。
Link with Console:启用后,“控制台”视图中的构建控制台会自动切换以匹配“助手”视图中当前选择的构建配置。如果未启用,则构建控制台不会自动更改为与助手视图匹配。
Link with Guidance:启用后,“控制台”视图的“引导”选项卡将自动切换以匹配“助手”视图中的当前选择。
对于每个构建配置,将在构建和运行过程中生成报告,并在“助手”视图中显示报告,如下所示。您可以右键单击报告,然后选择“ 在Vitis Analyzer中打开”以按照使用Vitis Analyzer中的说明查看结果。
本篇到此结束,下篇还会继续连载,欢迎大侠关注!
【QQ交流群】
群号:173560979,进群暗语:FPGA技术江湖粉丝。
多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有。
【微信交流群】
现微信交流群已建立08群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。
完
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!