Vitis 编译器支持您在完成指定步骤 (--to_step
) 之后停止构建进程、以某种方式手动干预设计或文件,然后通过指定用于恢复构建的步骤 (--from_step
) 来继续执行构建。--from_step
会指令 Vitis 编译器从 --to_step
停止位置的步骤或者该进程中更早的步骤开始恢复编译。如需了解有关 --to_step
和 --from_step
的信息,请参阅 v++ 常规选项。
--to_step
和 --from_step
选项为顺序构建选项,要求您在启动 v++ --link
--from_step
时所使用的工程目录与您在使用 v++
--link --to_step
时指定的工程目录相同。
Vitis 编译器还会提供 --list_steps
选项以列出指定构建目标的编译或链接进程的可用步骤。例如,通过以下命令即可找到硬件构建的链接进程的步骤列表:
v++ --list_steps --target hw --link
此命令会返回多个步骤,包括 Vitis 编译器在硬件构建的链接进程中执行的默认步骤和可选步骤。部分默认步骤包括:system_link
、vpl
、vpl.create_project
、vpl.create_bd
、vpl.generate_target
、vpl.synth
、vpl.impl.opt_design
、vpl.impl.place_design
、vpl.impl.route_design
和 vpl.impl.write_bitstream
。
vpl.impl.power_opt_design
、vpl.impl.post_place_power_opt_design
、vpl.impl.phys_opt_design
和 vpl.impl.post_route_phys_opt_design
。
启动 Vivado IDE 以执行交互式设计
--to_step
命令,即可启动构建进程以执行 Vivado 综合,然后在工程上启动 Vivado IDE 以手动对设计进行布局布线。要执行此操作,请使用以下命令语法:v++ --target hw --link --to_step vpl.synth --save-temps --platform <PLATFORM_NAME> <XO_FILES>
--to_step
时,您还必须指定 --save-temps
以保留此构建进程创建的所有临时文件。此命令可指定硬件构建的链接进程、通过综合步骤运行构建,并保存由构建进程生成的临时文件。
在由 Vitis 编译器使用 --interactive
命令构建的工程上,可直接启动 Vivado 工具。这样会打开 Vivado 工程(此工程位于构建目录的 <temp_dir>/link/vivado/vpl/prj 下),以供您对设计进行交互式编辑:
v++ --target hw --link --interactive impl --save-temps --platform <PLATFORM_NAME> <XO_FILES>
在此模式下调用 Vivado IDE 时,您可打开综合或实现运行以对该工程进行管理和修改。您可以按需更改运行详细信息,以达成时序收敛,并尝试不同的实现方法。您可将结果保存到设计检查点 (DCP),或者生成工程比特流 (.bit),以供在 Vitis 环境中用于生成器件二进制文件。
保存来自 Vivado IDE 的 DCP 后,即可关闭该工具并返回 Vitis 环境。--reuse_impl
选项可在 v++ 命令中应用先前实现的 DCP 文件来生成 xclbin
。
--reuse_impl
选项属于增量构建选项,要求您在使用 --reuse_impl
恢复 Vitis 编译器时,应用的工程目录与您使用 --to_step
启动构建时所指定的工程目录相同。以下命令通过使用来自 Vivado 工具的指定 DCP 文件,基于输入文件创建 project.xclbin,从而完成链接进程。
v++ --link --platform <PLATFORM_NAME> -o'project.xclbin' project.xo --reuse_impl ./_x/link/vivado/routed.dcp
v++ --link --platform <PLATFORM_NAME> -o'project.xclbin' project.xo --reuse_bit ./_x/link/vivado/project.bit
--reuse_bit
的 project.bit 是部分 BIT 文件,而非完整 BIT 文件。其他 Vivado 选项
在 v++
命令行或配置文件中可使用的部分其他开关包括:
-
--export_script
/--custom_script
编辑和使用 Tcl 脚本来修改编译或链接进程。 -
--remote_ip_cache
为 Vivado 综合指定远程 IP 高速缓存目录。 -
--no_ip_cache
为 Vivado 综合关闭 IP 高速缓存。这将导致在构建进程中重新综合所有 IP,并清理已缓存的数据。