Vitis 编译器配置文件 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

建议将配置文件与 Vitis Unified IDE 或 v++ 支持的通用命令行搭配使用。配置文件提供了一种有条理的方法用于将选项传递到工具,具体包括将相似命令组合在一起、创建可复用的配置文件来执行连接或剖析之类的具体任务并最大程度减少和简化 v++ 命令行的使用。可通过配置文件条目来控制的部分功能特性包括:

  • AI 引擎命令,用于使用 v++ -c --mode aie 来配置组件创建
  • HLS 命令,搭配 v++ -c --mode hls 用于配置接口定义、配置综合与仿真、并控制封装
    提示: 几乎所有 HLS 命令都必须在一个配置文件中指定。例外包括 --platform--freqhz,允许在命令行上或者配置文件中指定这两条命令。
  • 连接指令,搭配 v++ --link 用于链接系统以指定要例化的内核数量,或者用于将 AI 引擎串流端口分配给 PL 内核端口
  • 封装指令,搭配 v++ --package 用于配置启动文件的创建、从 XSA 文件生成 XCLBIN 文件以及创建 SD 卡
  • Vivado Design Suite 用于管理硬件综合与实现的指令。
  • 可通过在行开头处使用“#”来为配置文件添加注释:
    # This is a comment line

Vitis Unified IDE 使用配置文件来驱动组件构建和仿真进程。配置文件可由该工具在创建组件时创建、从现有组件导入,或者也可以单独创建定制配置文件并添加到组件中。对于命令行流程,配置文件是使用 v++ --config 选项指定的,如 v++ 常规选项 中所述。以下是 --config 选项示例:

v++ --link --config ../src/system.cfg

配置文件命令可采用非组合命令,即仅允许运行一次,例如,--platform。在此情况下,按配置文件中遇到这些命令的顺序来读取命令。使用读取到的第一条命令。配置文件命令也可采用组合命令,即,可指定多个值并应用于设计中的特定端口或 CU。在此情况下,命令采用累积方式,忽略后续出现的冲突命令或者生成错误。

按遇到这些命令的顺序来读取命令。如果重复遇到相同开关,并且其中所含信息有冲突,则使用第一个读取的开关或者返回错误。开关优先顺序如下所示,第一项优先级最高:

  1. 命令行开关。
  2. 命令行上指定的配置文件取从左到右的顺序。
  3. 在单一配置文件内,优先顺序按从上到下顺序遇到的顺序来排列。

总之,在配置文件内可指定任何 v++ 命令选项。但是,配置文件支持在命令报头下定义多个小节,其中包含各组相关命令,以帮助管理构建选项和策略。下表中列出了定义的各节报头。

提示: 可在单个配置文件内定义多个进程。但建议为不同进程保留单独的配置文件,例如,HLS 组件创建、系统链接和系统封装。
表 1. 配置文件的节标签
节名 描述
未标记 通常,未标记的节可置于配置文件顶部,其中包含并非专用于以下任一节头的命令。这些命令示例包括 --part--platform--freqhz--debug
[advanced] --advanced 选项
[aie] 用于 AI 引擎编译,搭配 v++ -c --mode aie 命令使用
[clock] --clock 选项
[connectivity] --connectivity 选项
[debug] --debug 选项
[hls] 用于 HLS 组件编译,搭配 v++ -c --mode hls 命令使用。如需了解有关这些命令的描述,请参阅 v++ 模式 HLS
注释: 有些 [hls] 命令旨在搭配 v++ -c -k 模式用于编译 PL 内核以便进行软件仿真。如需了解有关这些命令的描述,请参阅 --hls 选项
[linkhook] --linkhook 选项
[package] --package 选项
[profile] --profile 选项
[vivado] --vivado 选项