配置文件也可用于指定 Vitis 编译器选项。配置文件可以提供一种有条理的方式,通过将相似开关组合在一起来向编译器传递选项,并最大程度缩短 v++
命令行的长度。可通过配置文件条目来控制的部分功能特性包括:
- 用于配置内核编译的 HLS 选项
- 适用于系统链接的连接指令,例如,要例化的内核数或者将内核端口分配到全局存储器的方式
- 用于配置 --package 选项 的封装指令。
- 供 Vivado Design Suite 用于管理硬件综合与实现的指令。
总之,在配置文件内可指定任何 v++
命令选项。但是,配置文件支持对包含各组相关命令的各节进行定义,以帮助管理构建选项和策略。下表中列出了定义的各节。
提示: 将编译 (
v++ -c
) 和链接 (v++
-l
) 命令都放入同一个配置文件时,在编译期间错误检查可能会返回与链接相关的错误。因此,建议对编译和链接分别使用独立的配置文件。节名 | 编译器/连接器 | 描述 |
---|---|---|
[advanced] | 任一 |
--advanced 选项:
|
[clock] | 编译器 |
--clock 选项:
|
[connectivity] | 连接器 |
--connectivity 选项:
|
[debug] | 连接器 |
--debug 选项
|
[hls] | 编译器 | HLS 指令 --hls 选项:
|
[linkhook] | 连接器 |
--linkhook 选项
|
[package] | 封装器 |
--package 选项
|
[profile] | 连接器 |
--profile 选项
|
[vivado] | 连接器 |
--vivado 选项:
|
提示: 可通过在行开头处使用“#”来为配置文件添加注释。节末位置是以该节结束位置的空行来指定的。
由于 v++
命令在每条 v++
命令行上支持多个配置文件,因此您可将自己的配置文件拆分为相关选项,用于定义编译和链接策略或者 Vivado 实现策略,并在构建进程中应用多个配置文件。
配置文件为可选。对于这些文件并没有命名限制,且配置文件的数量可为 0 或多个文件。如果愿意,可将所有 v++
选项置于单个配置文件内。但将相关开关组合到独立的文件内可帮助您组织自己的构建策略。例如,将 [connectivity]
相关开关组合到一个文件内,将 [Vivado]
选项组合到另一个文件内。
配置文件是通过使用 v++ --config
选项来指定的,如 Vitis 编译器常规选项 中所述。以下是 --config
选项示例:
v++ --config ../src/system.cfg
开关按遇到的顺序来读取。如果重复遇到相同开关,并且其中所含信息有冲突,则使用第一个读取的开关。开关优先顺序如下所示,第一项优先级最高:
- 命令行开关。
- 命令行上的配置文件,从左到右。
- 在配置文件内,优先顺序为从上到下。