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

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

配置文件也可用于指定 Vitis 编译器选项。配置文件可以提供一种有条理的方式,通过将相似开关组合在一起来向编译器传递选项,并最大程度缩短 v++ 命令行的长度。可通过配置文件条目来控制的部分功能特性包括:

  • 用于配置内核编译的 HLS 选项
  • 适用于系统链接的连接指令,例如,要例化的内核数或者将内核端口分配到全局存储器的方式
  • 用于配置 --package 选项 的封装指令。
  • Vivado Design Suite 用于管理硬件综合与实现的指令。

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

提示: 将编译 (v++ -c) 和链接 (v++ -l) 命令都放入同一个配置文件时,在编译期间错误检查可能会返回与链接相关的错误。因此,建议对编译和链接分别使用独立的配置文件。
表 1. 配置文件的节标签
节名 编译器/连接器 描述
[advanced] 任一 --advanced 选项
  • misc
  • param
  • prop
[clock] 编译器 --clock 选项
  • defaultFreqHz
  • defaultID
  • defaultTolerance
  • freqHz
  • id
  • tolerance
[connectivity] 连接器 --connectivity 选项
  • nk
  • sc
  • slr
  • sp
  • connect
[debug] 连接器 --debug 选项
  • chipscope
  • list_ports
  • protocol
[hls] 编译器 HLS 指令 --hls 选项
  • clock
  • export_mode
  • export_project
  • jobs
  • lsf
  • post_tcl
  • pre_tcl
[linkhook] 连接器 --linkhook 选项
  • custom
  • do_first
  • do_last
  • list_steps
[package] 封装器 --package 选项
  • aie_debug_port
  • bl31_elf
  • boot_mode
  • defer_aie_run
  • domain
  • dtb
  • enable_aie_debug
  • image_format
  • kernel_image
  • no_image
  • out_dir
  • ps_debug_port
  • ps_elf
  • rootfs
  • sd_dir
  • sd_file
  • uboot
[profile] 连接器 --profile 选项
  • aie
  • data
  • exec
  • stall
  • trace_memory
[vivado] 连接器 --vivado 选项
  • impl.jobs
  • impl.lsf
  • impl.strategies
  • param
  • prop
  • synth.jobs
  • synth.lsf
提示: 可通过在行开头处使用“#”来为配置文件添加注释。节末位置是以该节结束位置的空行来指定的。

由于 v++ 命令在每条 v++ 命令行上支持多个配置文件,因此您可将自己的配置文件拆分为相关选项,用于定义编译和链接策略或者 Vivado 实现策略,并在构建进程中应用多个配置文件。

配置文件为可选。对于这些文件并没有命名限制,且配置文件的数量可为 0 或多个文件。如果愿意,可将所有 v++ 选项置于单个配置文件内。但将相关开关组合到独立的文件内可帮助您组织自己的构建策略。例如,将 [connectivity] 相关开关组合到一个文件内,将 [Vivado] 选项组合到另一个文件内。

配置文件是通过使用 v++ --config 选项来指定的,如 Vitis 编译器常规选项 中所述。以下是 --config 选项示例:

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

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

  1. 命令行开关。
  2. 命令行上的配置文件,从左到右。
  3. 在配置文件内,优先顺序为从上到下。