大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。
由于内容过多,首篇给大侠列出目录,后续有时间分篇连载发出,欢迎各位大侠关注“FPGA技术江湖”,我们是真正做事的团队,希望大家多多支持,如果想获取更多资源,可以加大辉哥微信,进交流群,可以永久交流学习,共同进步。话不多说,咱们就进入正题。
今天带来第三篇,介绍使用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工具链设置
4.5.6.1 Vitis内核编译器和链接器选项
4.5.6.2 emconfigutil设置
4.5.6.3 G 主机编译器和链接器设置
8.6 项目进出口
8.6.1 导出Vitis项目
8.6.2 导入葡萄项目
正文
七、使用Vitis分析仪
Vitis分析仪是一种实用工具,允许查看和分析,同时建立并运行应用程序生成的报告。旨在查看由构建应用程序时的Vitis编译器和运行应用程序时的Xilinx®Runtime(XRT)库生成的报告。所述Vitis分析器可以用于观看来自两份报告v 命令行流,和Vitis集成设计环境(IDE)。您将使用vitis_analyzer命令启动该工具。
首次启动时,Vitis分析器将打开并显示一个主屏幕,让您从“构建”和“配置文件”报告中进行选择。单击这些链接中的任何一个,将打开一个文件浏览器,使您可以选择所述类型的特定文件。
对于“创建”部分:
Open Compile Summary:“编译摘要”报告由v 命令在编译期间生成,提供了内核编译过程的状态。在查看“编译摘要”报告时,该工具还会引用在编译过程中生成的以下报告:内核估计,内核指导,HLS综合和编译日志。
Open Link Summary:链接摘要报告是v 在链接期间由命令创建的,提供了FPGA二进制构建过程的状态。在查看“链接摘要”报告时,该工具还会引用链接期间生成的以下报告:系统估计,系统指导,时序摘要,利用率,操作跟踪,平台和系统图以及链接日志。当您打开链接摘要时,Vitis分析器将自动为使用v command 编译的内核打开关联的编译摘要。
注意:仅当构建针对硬件(而不是仿真)时,才会生成“时序摘要”和“利用率”。Open Binary Container:打开所选的xclbin文件以显示构建的平台图和系统图。
Open Directory:指定要打开的目录。该工具以递归方式检查目录的内容,并显示一个对话框,允许您选择要打开的文件类型和要打开的单个文件。
对于“个人资料”部分:
Open Run Summary:XRT库在应用程序执行期间创建“运行摘要”报告,并提供运行过程的摘要。在查看“运行摘要”报告时,该工具还引用了在应用程序运行期间生成的以下报告:“运行指南”,“概要摘要”,“应用程序时间表”,“平台和系统图”。
Run:此选项使您可以创建,选择和启动运行配置,并显示反映运行记录的命令控制台。
7.1 处理报告
通常,“编译摘要”,“链接摘要”和“运行摘要”报告为您提供了有关构建和分析应用程序的特定步骤的概述,以使您更好地了解应用程序在性能和优化方面的位置。对于单个内核,从“编译摘要”开始。对于FPGA二进制文件(xclbin),请从链接摘要开始,该链接摘要还将加载所包含内核的编译摘要。要分析与应用程序执行相关的数据,请从“运行摘要”开始。
此外,“ 文件”菜单还提供了一些命令,可让您打开各个报告以及报告目录。
Open Directory:指定要打开的目录。该工具以递归方式检查目录的内容,并显示一个对话框,允许您选择要打开的文件类型和要打开的单个文件。
Open Binary Container:FPGA二进制文件.xclbin,由编译和链接过程创建,如构建和运行应用程序中所述。
Open Report File:在编译,链接或运行应用程序期间,打开由Vitis核心开发套件生成的报告文件之一。您可以打开以下报告:
Application Timeline:请参阅申请时间表。
Profile Summary:请参阅配置文件摘要报告。
Waveform:波形数据库或波形配置文件,如Waveform View和Live Waveform Viewer中所述。
Utilization:当您构建系统硬件(HW)目标时,由Vivado®工具生成的资源利用率报告。
Vitis分析仪还可以打开核估计,动作追踪,系统评估,日志和定时汇总报表。请参阅对 应用程序进行概要分析,以获取有关由构建和运行过程生成的各个报告的更多信息。
Vitis分析仪的功能取决于您正在查看的特定报告。当报表的结构类似于电子表格时,您可以像电子表格一样与报表进行交互,选择数据行或单元格,并通过单击列标题对列进行排序。如果报告本质上是图形报告,则可以通过放大报告以查看详细信息,并缩小以查看更多信息来与报告进行交互。Vitis分析仪支持以下鼠标招让你快速放大和缩小的图形报告:
放大:按住鼠标左键,同时从左上角到右下角拖动鼠标以定义要放大的区域。
缩小:按住鼠标左键,同时从左下到右上画一条对角线。这会将窗口缩小可变的数量。
画出的线条的长度决定了所应用的缩放系数。或者,按Ctrl键 并向下滚动鼠标滚轮按钮以缩小。
缩放适合:按住鼠标左键,同时从右下到左上画一条对角线。窗口会缩小以显示整个设备。
水平滚动:在诸如“应用程序时间轴”之类的报告中,您可以在按住鼠标中键滚动时间轴的同时按住Shift键。
平移:按住并按住滚轮鼠标按钮以进行平移。
7.2 了解葡萄分析仪
下图显示了在Vitis分析器中打开的“链接摘要”和“系统指导”报告的示例。默认情况下,工作空间安排在三个视图中,包括“报告导航器”和“报告”以及“源代码”视图。
Report Navigator:在左侧,此视图列出了所有打开的摘要文件和关联的报告。您可以使用此视图快速查找并打开报告。在上图中,您可以看到“链接摘要”和“编译摘要”报告及其所有相关报告都在“报告导航器”中列出。
Reports:中心区域显示摘要文件和打开的报告的内容。您可以在“报告”视图中打开多个报告,然后通过选择视图顶部的窗口选项卡快速将其从一个报告更改为另一个报告。
Source Code:可选的源代码视图在工作区的右侧打开。例如,这使您可以基于系统指导报告的反馈来查看和编辑内核源代码。您可以通过选择“指导”报告中的链接来打开源代码窗口,或者在“报告导航器”中右键单击“编译摘要”,然后单击“ 开源”。可以通过单击工具栏上的“ 最小化”按钮来折叠“报表导航器”视图和“源代码”视图 ,然后通过单击折叠视图中的“还原”按钮来还原该视图。
要关闭与“摘要”报告关联的所有打开的报告,例如“链接摘要”,请在“报告导航器”视图中右键单击“摘要”,然后选择“ 关闭选项卡”。这将关闭与“报告”视图中的摘要关联的所有打开的报告。
要关闭“摘要”报告,例如“链接摘要”,请在“报告导航器”区域中右键单击该报告,然后选择“ 关闭文件”。关闭“摘要”报告将关闭所有关联的报告和文件。因此,例如,关闭链接摘要也将关闭构建的编译摘要。
要关闭“报告导航器”中显示的所有文件,请选择“ 文件” >“ 关闭所有文件”命令。这会将Vitis分析器返回到主屏幕。
要为在HLS中编译的C / C 或OpenCL™内核打开HLS项目,请在“报表浏览器”区域中右键单击相应的“ 编译摘要”,然后选择“ 打开HLS项目”。
7.3 创建运行配置
- Vitis分析仪可以让您创建运行配置,指定如何运行应用程序。您可以创建和保存用于软件仿真,硬件仿真和系统硬件的运行配置。
从“运行”菜单中,选择“ 编辑运行配置”命令以打开“运行配置”对话框,如下所示
- 通过“运行配置”对话框,您可以创建新的运行配置或编辑和管理现有的运行配置。另外,您可以 从左窗格的“ 配置 ”列表中选择运行配置,“ 右窗格”的“ 编辑配置”下的字段由所选配置的设置填充。配置设置包括:
Name:指定运行配置的名称。
Launch mode:将运行配置指定为仿真运行或硬件运行。
Executable:这定义了用于运行应用程序的主机程序。包括可执行文件的完整路径,或单击按钮找到所需的文件。
Working directory:这是收集运行输出并生成报告的目录。指定的目录必须在运行前存在,否则 Vitis Analyzer将返回错误。
Arguments:这些是“ 可执行文件”字段指定的主机程序的参数 。这些参数可以包括xitisbin 文件(在Vitis 示例中很常见),以及主机程序所需的任何其他输入。
Environment variables:这指定了主机程序所需的任何环境变量。它不需要如“ 运行应用程序”中所述的XCL_EMULATION_MODE定义 ,因为此环境变量是通过上面的“启动模式”下拉设置设置的。
XRT configuration:这将显示启动运行配置时将使用的xrt.ini文件的设置。单击按钮修改磁盘上的xrt.ini文件。有关更多信息,请参考xrt.ini文件。
Make this configuration active:此复选框指定当前运行配置应为Vitis分析器中的活动运行。快速运行菜单命令中显示活动运行。
Show this page before run:该复选框打开带有指定运行的“运行配置”对话框,允许您在实际运行之前编辑任何当前设置。
3.编辑运行配置后,选择确定以接受您的更改并关闭对话框。
4.选择应用接受更改并保持对话框打开,或者选择取消拒绝更改并关闭对话框。
5.如果在启动选定的运行之前已打开“运行配置”对话框,请选择“运行”启动运行,或按“ 取消”关闭对话框而不启动运行。
6.在Vitis 分析器中启动运行时,将打开一个控制台窗口,其中包含运行记录,所有报告均写入指定的工作目录。运行期间将生成各种报告,如运行应用程序中所述。
7.4 配置葡萄分析仪
工具> 设置命令打开葡萄分析器设置对话框如下所示。
在常规设置中,可以配置以下内容:
Default Directory:指定Vitis分析器打开时使用的默认目录。
Recent:配置该工具以在重新打开Vitis分析器时还原工作区,并为“ 文件” >“ 打开最近的命令” 指定要显示的条目数。
Reports:配置Vitis分析器以在打开“编译摘要”,“链接摘要”,“运行摘要”或“二进制容器”报告时打开所有相关报告。
在显示设置中,可以配置以下内容:
Scaling:设置字体缩放比例,以使显示更容易在高分辨率监视器上阅读。使用操作系统字体缩放使用操作系统为主显示器设置的值。用户定义的缩放比例允许您指定特定于Vitis分析仪的值。
Spacing:设置Vitis使用的空间量(IDE。默认设置为“舒适”。“紧凑”减少元素之间的空间量,以将更多元素放入较小的空间。
对于“报告”设置,您可以配置以下内容:
Compile Summary:选择“报告摘要”下“报告导航器”视图中列出的报告。
Link Summary:选择“链接摘要”下“报告导航器”视图中列出的报告。
Run Summary:选择“运行摘要”下“报告导航器”中列出的报告。
Binary Container:选择“二进制容器”下“报告导航器”视图中列出的报告。
对于“窗口行为”设置,可以配置以下内容:
Warnings:退出或刚退出Vitis分析仪时显示警告。
Alerts:在不受支持的操作系统上运行该工具时发出警报。
配置工具后,单击“ 确定”,“ 应用 ”或“ 取消”。您还可以使用“ 还原”命令来还原该工具的默认设置。
本篇到此结束,下篇还会继续连载,欢迎大侠关注!
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!