首页 > 技术 > 内容

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

时间:2026-01-23  作者:Diven  阅读:0

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

在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是否已经设置成功:

猜您喜欢


光敏电阻作为重要的光电元件,应用于各种光感应设备中。Uniohnm(厚声)作为国内知名的光敏电阻制造商,凭借其稳定的性能和高品质的产品赢得了市场的认可。本文将围...
2017-03-12 08:08:37
给油器是汽车燃油系统中的重要组成部分,负责将燃油以适当的比例和压力喷入发动机。选择合适的给油器,需要关注几个关键参数。首先是流量参数,通常以每小时多少升(L/h...
2025-01-03 00:00:00
熔断器作为重要的保护元件,起着保障电路安全的重要作用。LIRO 立熔熔断器作为市场上较为知名的品牌,因其质量稳定和性能优异而受到关注。市面上的立熔熔断器品牌众多...
2023-05-01 20:57:30
贴片电阻的最大功率并非越大越好,选择合适的功率值至关重要。它取决于电路设计中的实际功率消耗。如果电阻的实际功率超过其额定功率,电阻会过热,导致性能下降,甚至烧毁...
2024-11-26 11:30:03
贴片电感是电子元器件中重要的组成部分,很多设备中都有应用。测量贴片电感的好坏,直接关系到设备的性能。本文将介绍如何测量贴片电感的好坏,帮助大家更好地使用。准备工...
2025-04-12 12:00:38
无尘室粘尘滚筒是专为洁净环境设计的清洁工具,具备多项显著优势。其高效的粘尘效果能够迅速捕捉和去除空气中的微小尘埃,确保无尘室内的环境洁净,降低污染风险。粘尘滚筒...
2019-05-19 00:00:00
2024年3月28日,江苏省新能源汽车专用计量技术委员会全体工作会议暨计量技术规范审定会在无锡成功召开。此次会议汇聚了众多行业内的专家学者,共同研讨新能源汽车计...
2024-04-01 16:40:00
0 引言与H.264/AVC相比,新一代视频压缩标准H.265/HEVC能够在相同的图像质量下实现更低的码率,即更高的压缩比 。由于人眼的视觉特性,在动态码率...
2018-07-24 17:28:00
LVDS(低压差分信号)芯片因其高速度和低功耗的特性,应用于高速数据传输中。根据不同的应用需求,LVDS芯片可以分为几种主要类型。按照功能分类,LVDS芯片可分...
2010-06-09 00:00:00
电位器作为重要的调节元件,应用于音响设备、仪器仪表、家用电器等领域。TA-I(大毅)电位器优良的性能和稳定的品质,受到行业内外的关注。本文将围绕“TA-I(大毅...
2012-09-23 04:30:26