Vitis指南 | Xilinx Vitis 系列(六)
大侠好,欢迎来到“艮林子”专栏,本次为艮林子首次和大侠见面,新春佳节之际,略备薄礼,不成敬意,给大侠带来“Xilinx Vitis 系列连载”,给大侠提供参考学习的资料,如有不足之处,还请多多指教。
由于内容过多,首篇给大侠列出目录,后续有时间分篇连载,今天带来第六篇,介绍配置Vitis IDE和项目进出口。后续还会带来详细的开发教程,敬请关注。话不多说,咱们就进入正题。
VITIS简介
作者:艮林子 校对:陆辉
第一篇放个超链接https://zhuanlan.zhihu.com/p/350466734
第二篇放个超链接https://zhuanlan.zhihu.com/p/350471476
第三篇放个超链接https://zhuanlan.zhihu.com/p/350474904
第四篇放个超链接https://zhuanlan.zhihu.com/p/350641410
第五篇放个超链接https://zhuanlan.zhihu.com/p/350642591
八、使用Vitis IDE
8.5 配置Vitis IDE
在“助手”视图中,使用“ 设置”按钮(
)配置选定的项目或配置对象。
8.5.1 Vitis项目设置
要编辑Vitis项目设置,请在“助手”视图中选择项目,然后单击“设置”按钮(
)弹出“项目设置”对话框。通过此对话框,您可以为Vitis编译器v++命令指定链接和编译选项,以自定义项目构建过程。
Project name:项目名称。单击链接以打开项目的“属性”对话框。
Platform平台:该项目的目标平台。单击链接以打开“平台描述”对话框。单击浏览 以更改平台。
Runtime运行:显示此项目中使用的运行时。
Number of devices:指定在仿真过程中主机程序可以使用的OpenCL加速器设备的数量。
V++ compiler options:指定v++ 命令的编译器选项,如Vitis Compiler Command中所述。
V++ linker options:指定v++ 命令的链接选项。
8.5.2 Vitis Build 配置设置
要编辑项目下任何构建配置的设置,请在“助手”视图中选择构建配置,然后单击“ 设置”按钮(
)弹出“构建配置设置”对话框。在此对话框中,您可以启用主机和内核调试,指定在构建过程中要报告的信息级别,并指定硬件构建的优化级别。
Target:如构建目标中所述的构建配置目标。
Host debug:选择启用主机代码调试。
Kernel debug:选择以启用内核代码调试。
Report level:按照控制报告生成中所述指定要生成的报告级别。
Hardware optimization:指定在优化硬件上要花费多少精力。硬件优化是一项计算密集型任务。更高级别的优化可能会导致更多最佳硬件,但会增加构建时间。此选项仅在构建配置系统中可用。
“生成配置”对话框还包含指向“编译器”和“链接器工具链”设置的链接。它们提供了对标准Eclipse环境中所有设置的完全访问权限,并且可以用于配置Vitis核心开发工具包,如Vitis工具链设置中所述。其他选项卡中提供了Vitis特定设置,例如Vitis编译器和链接器标志,它们不属于标准C / C ++工具链。
8.5.3 Vitis运行配置设置
要编辑运行配置的设置,请选择一个构建配置,然后使用右键单击菜单导航至“运行” > “运行配置”以打开所选构建配置的“运行配置”对话框。如下所示,“运行配置”对话框使您可以指定调试选项,启用正在运行的应用程序的性能分析以及指定要收集的性能数据的类型。
Name:指定运行配置的名称。
Project:显示当前项目,但可以更改为其他打开的项目。
Build Configuration:指定当前选择的构建配置,或将您的设置应用于活动的构建配置。
Kernel Debug:选择以启用用于内核调试的波形视图,或启用实时波形视图,如基于波形的内核调试中所述。
Enable profiling:如Profile Summary Report中所述,在应用程序运行时启用概要文件数据的收集。
Generate timeline trace:如应用程序时间线中所述,为该应用程序生成时间线跟踪报告。
Collect Data Transfer Trace:按照Vitis Compiler常规选项和xrt.ini文件中的说明指定数据传输数据的收集。
Collect Stall Trace:使您可以指示各种条件下的停顿数据捕获,如Vitis Compiler General Options和xrt.ini File中所述。
“运行配置”对话框具有其他选项卡,可帮助您在运行应用程序时配置运行时环境。在下面的示例中,显示了“参数”选项卡,其中包含使应用程序成功运行所需的各种参数。
Program arguments程序参数:指定应用程序所需的参数和值。涉及路径的选项是相对于工作目录指定的,如上例中的xclbin文件所示。
Automatically add binary containers to arguments:自动将二进制容器添加到参数:启用此复选框可自动包含二进制容器。
Working directory:指定正在运行的应用程序的位置。这是由Vitis IDE 自动定义的,或者可以通过禁用“使用默认值”复选框并指定路径来覆盖。
8.5.4 Vitis二进制容器设置
要编辑项目下任何二进制容器的设置,请在“助手”视图中选择二进制容器,然后单击“ 设置”按钮(
),以打开“二进制容器设置”对话框。这使您可以为二进制容器指定新名称,并为v++命令指定链接选项。
Name:指定二进制容器名称。
V++ Linker Options:在指定的构建配置中输入所选二进制容器的链接选项。有关可用选项的更多信息,请参考《Vitis编译器命令》。
V++ Linker Command Line:显示当前v++命令行以及您指定的任何链接选项。
8.5.5 Vitis硬件功能设置
可以编辑项目中任何构建配置的硬件功能设置。在“助手”视图中,为特定的构建配置选择硬件功能,例如Emulation-HW,然后单击“ 设置”按钮(
)以打开“硬件功能设置”对话框,如下图所示。
通过此对话框,您可以设置与所选构建配置中的硬件功能相关的选项,例如,指定内核实例的计算单元数,或将内核端口映射到特定的全局存储库。具体选项包括:
Compute Units计算单位:为内核创建的计算单元的数量,如创建内核的多个实例中所述。
Max Memory Ports:对于OpenCL内核,启用后,将为内核函数签名中声明的每个全局内存缓冲区生成一个单独的物理内存接口(m_axi)。如果未启用,则为内存映射的内核端口创建单个物理内存接口。
Port Data Width:对于OpenCL内核,请指定数据端口的宽度。
Extra Source Files:定义此硬件功能所需的任何其他源文件,例如输入数据文件。
Compiler Options:为所选的硬件功能指定Vitis编译器选项。
Compute Unit Settings:如将计算单元分配给SLR中所述,为内核的每个计算单元定义SLR位置;如将内核端口映射到全局内存中所述,为计算单元的每个端口定义全局内存分配。
Hardware Debug and Profiling Settings:当选定的构建配置是系统构建时,“计算单元设置”还使您能够启用将调试和配置文件监视器插入每个计算单元的接口,以捕获和查看信号轨迹。这些监视器启用以下功能:
ChipScope Debug:添加监视器以捕获硬件跟踪调试信息。
ChipScope Debug:添加AXI协议检查器。
Data Transfer:添加性能监视器以捕获在计算单元和全局内存之间传输的数据。捕获的数据包括计数器和/或跟踪。
Execute Profiling:添加一个加速器监视器以捕获计算单元执行的开始和结束。
Stall Profiling:添加具有功能的加速器监视器,以捕获内核内部,两个内核之间或内核与外部内存之间的数据流中的停顿。
提示:硬件功能设置对话框中指定的设置将被写入Vitis编译器使用的配置文件,该--config选项具有Vitis Compiler Configuration File中所述的选项。
8.5.6 Vitis工具链设置
工具链设置提供项目的基于Eclipse的标准视图,并提供Vitis IDE中C / C ++构建的所有选项。
在“构建配置设置”对话框中,从“构建配置”窗口的底部单击“ 编辑工具链编译器设置”或“ 编辑工具链链接器设置”以显示包含所有C / C ++构建设置的编译器和“链接器设置”对话框。此对话框使您可以设置标准C ++路径,包括路径,库,项目范围的定义和主机定义。
在Vitis IDE项目中工作时,“工具设置”选项卡下的五个主要设置为:
V++ Kernel Compiler:指定v++命令以及在调用v++内核编译过程的命令时必须传递的所有其他选项。请参见Vitis内核编译器和链接器选项。
V++ Kernel Linker:指定v++命令以及在调用v++内核链接过程的命令时要传递的任何其他选项。请参见Vitis内核编译器和链接器选项。
emconfigutil:指定emconfigutil实用工具的命令行选项。请参见emconfigutil设置。
GCC Host Compiler (x86_64):指定g++在主机编译过程中必须传递的链接器参数。请参阅G ++主机编译器和链接器设置。
GCC Host Linker (x86_64):指定g++在主机链接过程中必须传递的链接器参数。请参阅G ++主机编译器和链接器设置。
8.5.6.1 Vitis内核编译器和链接器选项
1.Vitis内核编译器选项
V ++内核编译器部分显示了该v++ 命令以及在调用v++内核编译过程的命令时必须传递的所有其他选项。该 v++命令选项可以是符号,包括路径,或其他有效的选项,其中包括任何的v++要添加命令行选项。
Symbols:单击Vitis编译器下的“ 符号 ” 以定义调用命令时随选项传递的所有符号。 Includes:要将包含路径添加到Vitis 编译器,请选择包含,然后单击添加(
)按钮。
Miscellaneous:可以将必须传递给Vitis编译器的所有其他编译选项添加为“其他”部分中的标志。
2.Vitis内核链接器选项
VItis内核链接设置显示的v++命令和任何其他选项调用时传递v++的内核连接处理指令。
可以将需要传递给Vitis编译器的任何其他选项添加为“其他”部分中的标志。有关更多信息,请参考Vitis Compiler Command以获取链接过程中的可用选项。
8.5.6.2 emconfigutil设置
该emconfigutil命令选项可以在命令字段中输入创建中所描述的仿真配置文件emconfigutil实用。在启动运行配置之前,Vitis IDE 通过运行指定的命令来创建emconfig.json文件emconfigutil
8.5.6.3 G ++主机编译器和链接器设置
1.G ++编译器选项
Vitis核心开发套件g++使用的编译器参数可以在“工具链设置”的“ G ++主机编译器”部分下进行访问。
Dialect:指定用于选择要使用的C ++语言标准的命令选项。标准方言选项包括C ++ 98,C ++ 2011和C ++ 2014(1Y)。
Preprocessor预处理器:为主机编译器指定预处理器参数,例如符号定义。已经定义的默认符号包括平台,以便主机代码可以检查特定平台。
Includes:指定包含路径和包含文件。
Optimization:指定编译器优化标志和其他优化设置。
Debugging:指定调试级别和其他调试标志。
Warnings:指定与编译器警告相关的选项。
Miscellaneous:指定传递给g++编译器的任何其他标志。
2.G ++链接器选项
Vitis 技术G ++ Host Linker 的链接器参数通过此处提供的选项提供。具体部分包括常规选项,库和库路径,其他链接器选项以及共享库。
8.6 项目进出口
Vitis IDE提供了导出或导入一个或多个简化的方法,葡萄在工作区中的IDE项目。您可以选择包括关联的项目构建文件夹。
8.6.1 导出Vitis项目
导出项目时,将项目压缩为一个zip文件,其中包含导入到另一个工作区所需的所有相关文件。
1.要导出项目,请从主菜单中选择“ 文件” >“ 导出 ”
2.要更改档案的名称,请编辑“档案文件”字段。
3.要包括当前的构建配置,请在窗口底部启用“ 包括构建文件夹 ”。
提示:这可能会大大增加档案的大小,但是在某些情况下可能是必要的。
4.要使用所选文件创建档案,请单击“ 确定”以创建档案。
选定的Vitis IDE项目将被保存在指定的文件和位置中,并且可以由不同的用户在不同的工作空间,不同的计算机上导入到Vitis IDE中
8.6.2 导入葡萄项目
1.要导入项目,请从顶部菜单中选择“ 文件” >“ 导入 ”。
这将打开“导入项目”对话框以选择导入文件类型。您可以选择两种类型的文件来导入:
Vitis项目导出的zip文件
允许您导入先前从Vitis IDE 导出的项目,如“ 导出Vitis项目”中所述。
Eclipse工作区或zip文件
允许您从另一个Vitis IDE工作区导入项目。
2.下图显示了选择Eclipse工作区或zip文件并单击Next时打开的对话框。
3.对于“选择根目录”,指向Vitis IDE 的工作区,然后根据需要指定以下选项:
-
搜索嵌套项目 在工作空间中的其他项目中查找项目。
-
将项目复制到工作区 在当前打开的工作空间中创建项目的物理副本。
-
完成后关闭新创建的导入项目 创建项目后,在打开的工作区中关闭项目。
4.单击完成将项目导入到Vitis IDE中打开的工作区中
本篇到此结束,本次Vitis指南连载也到此结束,希望对大侠有所帮助,后续有时间再出详细的开发教程,欢迎大侠关注!
【QQ交流群】
群号:173560979,进群暗语:FPGA技术江湖粉丝。
多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有。
【微信交流群】
现微信交流群已建立08群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。
完
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!
转载:https://blog.csdn.net/qq_40310273/article/details/113802904