--vivado 选项 - 2023.2 简体中文

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

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

–-vivado.XXX 选项用于配置 Vivado 工具,以对器件二进制文件 (.xclbin) 执行综合与实现。例如,您可以指定要生成的作业数量、用于实现运行的 LSF 命令或者要使用的特定实现策略。您还可配置最优化、布局、时序或者指定要输出的报告。

重要: 为了最有效地利用这些选项,您需要熟悉 Vivado Design Suite。如需了解更多信息,请参阅 Vivado Design Suite 用户指南:实现(UG904)

--vivado.impl.jobs

--vivado.impl.jobs <arg>

指定 Vivado Design Suite 用于实现器件二进制文件的并行作业数量。增加作业数量即可允许 Vivado 实现步骤生成更多并行进程并更快完成作业。

例如:

v++ --link --vivado.impl.jobs 4

--vivado.impl.lsf

--vivado.impl.lsf <arg>

指定 bsub 命令行作为传递给 LSF 集群的字符串。该选项是使用 IBM Platform Load Sharing Facility (LSF) 进行 Vivado 实现所必需的选项。

例如:

v++ --link --vivado.impl.lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'

--vivado.impl.strategies

--vivado.impl.strategies <arg>

指定 Vivado 实现运行的策略名称列表(以逗号分隔)。ALL 可用于运行所有可用的实现策略。这样您即可在构建进程中同时运行各种实现策略,使您能够更快速地解决设计的时序和布线问题。

重要: 运行 ALL 实现策略可能在 Vivado 工具中启动 30 或更多次运行。这可能消耗大量资源,因此不建议使用。为避免发生此情况,可以定义一组要运行的策略,并使用命令队列以某种受管方式(例如,通过 --vivado.impl.jobs--vivado.impl.lsf 命令)分发进程负载。

--vivado.param

--vivado.param <arg>

指定要在 FPGA 二进制文件 (xclbin) 的综合与实现期间使用的 Vivado Design Suite 参数。

提示: 您可在 Vivado 工具中使用 report_param Tcl 命令来识别可用参数。

--vivado.prop

--vivado.prop <arg>

指定要在 FPGA 二进制文件 (xclbin) 的综合与实现期间使用的 Vivado Design Suite 属性。

表 1. 属性选项
属性名称 有效值 描述
vivado.prop <object_type>.<object_name>.<prop_name> 类型:各种类型 支持您指定 Vivado 硬件编译流程中使用的任何属性。

<object_type>run|fileset|file|project

如需了解有关 <object_name><prop_name> 值的信息,请参阅 Vivado Design Suite 属性参考指南(UG912)

示例:
vivado.prop run.impl_1.
{STEPS.PLACE_DESIGN.ARGS.MORE 
OPTIONS}={-no_bufg_opt}
vivado.prop fileset.
current.top=foo

如果 <object_type> 设置为 file,则不支持 current

如果 <object type> 设置为 run,则可使用特殊值 __KERNEL__ 来指定所有内核的运行最优化设置,而无需逐一指定其设置。

例如,在命令行中输入:

v++ --link --vivado.prop run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
--vivado.prop run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore
--vivado.prop run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl
以上示例支持在 Vivado 实现过程中使用可选 PHYS_OPT_DESIGN 步骤、为该步骤设置 Explore 指令,并指定要在 PLACE_DESIGN 步骤之前运行的 Tcl 脚本。
提示:管理 Vivado 综合、实现和时序收敛 中所述,Vivado 综合与实现进程中的每个步骤都可包含 1 个 Tcl PRE 脚本(于该步骤之前运行)和 1 个 Tcl POST 脚本(于该步骤之后运行)。这样您即可通过围绕不同步骤插入预处理和后处理 Tcl 命令来自定义构建进程。您可按上述示例所示来指定这些脚本。

在配置文件中的 [vivado] 节头下也可使用如下格式指定这些选项:

[vivado]
prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore
prop=run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl
重要: 部分 Vivado 属性的名称中包含空格(如 MORE OPTIONS),Tcl 语法要求使用括号 {} 将这些属性括起。但在 --vivado 选项中,括号的放置方式至关重要。您必须使用括号将整个属性名称括起,而不是将名称中某一部分括起。例如,正确的放置方式如下:
--vivado.prop run.impl_1.{STEPS.PLACE_DESIGN.ARGS.MORE OPTIONS}={-no_bufg_opt}
而以下示例会在构建进程中导致错误:
--vivado.prop "run.impl_1.{STEPS.PLACE_DESIGN.ARGS.MORE OPTIONS}={-no_bufg_opt}"

--vivado.synth.jobs

--vivado.synth.jobs <arg>

指定 Vivado Design Suite 用于综合器件二进制文件的并行作业数量。增加作业数量即可允许 Vivado 综合生成更多并行进程并更快完成作业。

例如:

v++ --link --vivado.synth.jobs 4

--vivado.synth.lsf

--vivado.synth.lsf <arg>

指定 bsub 命令行作为传递给 LSF 集群的字符串。该选项是使用 IBM Platform Load Sharing Facility (LSF) 进行 Vivado 综合所必需的选项。

例如:

v++ --link --vivado.synth.lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'