如何在Vitis中把设置信息传递到底层的Vivado

时间:2025-11-01  作者:Diven  阅读:0

本篇文章来自赛灵思高级工具产品应用工程师 Hong Han

如何在Vitis中把设置信息传递到底层的Vivado

在Vitis 统一软件平台中使用v++ -link命令,可以把各种类型Kernel(C, C++, OpenCL™ C, 以及 RTL)的对象文件(.XO)整合到目标平台中,最终生成器件的二进制文件XCLBIN

在Vitis完成这个过程的底层,实际调用的是Vivado。Vitis会指定默认的Vivado策略来执行综合和实现的步骤。当默认的Vivado策略无法达到预期的时序要求时,我们需要在Vivado中分析时序问题的原因(不在本篇中详细讨论), 并根据时序失败的原因调整Vivado各个步骤的选项。有时我们也需要调整Vivado各个步骤的选项做不同方向的优化.

在Vitis中提供了"--vivado" 选项来精细控制Vivado各个步骤的选项,几乎所有期望加在Vivado中的选项都可以通过这个选项传递给Vivado。以下操作如何选择合适的选项需要对于Vivado的运行机制有一定的了解,对于Vivado不熟悉的用户,建议先阅读UG901以及UG904,两者分别是综合和实现的使用手册

1. 对于应用于Vivado的参数使用选项:

--vivado.param =

举例:

--vivado.param project.writeIntermediateCheckpoints=1

对应Vivado中参数设置的命令:

set_param project.writeIntermediateCheckpoints

这个命令也可以放在Vivado各个阶段的TCL.PRE/TCL.POST所指定的脚本中用--vivado.prop 执行(参考"Vivado工程的属性设置"的内容)

对应configure文件的内容:

[vivado]param=project.writeIntermediateCheckpoints=1

2. 对于Vivado工程的属性设置:

--vivado.prop . .

这里的Object_type是可以是run, fileset, file 或者 project

举例:

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步骤

(注:Vivado中PHYS_OPT_DESIGN步骤默认并不执行)

指定了在PHYS_OPT_DESIGN步骤采用的directive 是 Explore

指定了在Place_design之前需要先执行一个tcl脚本.

对应configure文件的内容:

[vivado]prop=run.impl_1.steps.phys_opt_design.is_enabled=1prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Exploreprop=run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl

不少Vivado实现阶段的选项无法直接在Vivado工程模式的各个阶段的既有选项中直接体现,例如在opt_design 阶段,我只想执行 -sweep 选项,这时我们可以用到这些步骤的"More Option"

opt_design -sweep 相当于在在工程模式中设置opt_design的More option 为 -sweep

由于"More Option" 这个选项中含有空格,使用起来要相当小心。一旦用错,这个选项在v++中可能和其选项混淆,导致工具报一些看似无关的错误

示例:

--vivado.prop "run.impl_1.{STEPS.OPT_DESIGN.ARGS.MORE OPTIONS}={-sweep}"

我们先将Vivado的相关属性加到Vitis link的选项中

完成Vitis platform link之后,打开生成的Vivado 工程,我们可以看到之前设置的Vivado 属性都能体现在底层Vivado工程中:

(Vivado工程文件所在目录(不同版本可能有所差异):

XX/XX_system_hw_link/Hardware/binary_container_1.build/link/vivado/vpl/prj/prj.xpr)

在Vivado 的TCL CONSOLE中可以执行get _param命令查看parameter是否已经设置成功:

猜您喜欢

对电阻器的功率承载能力提出了更高的要求。作为全球知名的电子元器件制造商,Samsung(三星)推出的升功率电阻优异的性能和可靠性,应用于各类电子产品中。本文将详...
2012-08-19 03:54:51

电子元件中,二极管是常见的半导体器件,应用于整流、信号调制和保护电路等方面。为了确保二极管的正常工作,定期测量其性能是非常重要的。万用表作为常用的测量工具,可以...
2025-03-29 15:30:02

现代电子设备中,开关电源已经成为重要的一部分,为各种设备提供稳定可靠的电力供应。然而,传统的开关电源存在功率因数低的问题,这会导致电能利用率降低,产生谐波污染,...
2024-11-20 00:00:00

贴片电阻R006的阻值并非固定不变,而是代表一个阻值范围。通常情况下,R006表示该电阻的封装尺寸为0603,即英制单位长0.06英寸,宽0.03英寸,公制单位...
2024-11-29 10:26:17

快速精准计算贴片电阻值,尽在贴片电阻计算器手机版!这款官方应用是电子工程师、爱好者和学生的必备工具,能帮您轻松解码复杂的色环电阻,省时省力。无需繁琐的查表,只需...
2024-11-29 10:26:32

现代工业和电子设备中,连接器的选择非常重要。TERMINAL_6.2X30.94MM_TM作为一种高性能连接器,因其优越的性能和广泛的应用场景而受到关注。本文将...
2025-03-08 03:17:21

肖特基二极管因其独特的结构和优异的性能,应用于整流电路中。与传统的PN结二极管相比,肖特基二极管具有更低的正向压降和更快的开关速度,这使得在高频和高效率的电源应...
2025-04-03 11:01:38

保护电路安全的元件变得尤为重要。自恢复保险丝因其能够在过载后自动恢复,应用于各种电子设备中。WONKEDQ作为知名的自恢复保险丝品牌,其产品以稳定的性能和高品质...
2021-03-14 07:59:30

贴片电阻电容的价格受多种因素影响,无法一概而论,一般在几分钱到几毛钱之间波动。具体价格取决于尺寸、容值/阻值、精度、材质、封装形式、采购数量以及市场行情等。一般...
2024-11-29 10:26:13

功率分析仪是用于测量和分析电力系统中各种电参数的重要工具,其主要优势体现在以下几个方面。功率分析仪能够提供高精度的测量数据,帮助工程师准确评估电力设备的性能。这...
2020-02-02 00:00:00