全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

在Vitis中把Settings信息传递到底层的Vivado

时间:2021-08-13 14:35

人气:

作者:admin

标签: Vivado  编译  DFx 

导读:本篇文章来自赛灵思高级工具产品应用工程师 Hong Han. 本篇博文将继续介绍在Vitis中把Settings信息传递到底层的Vivado. 对于Vivado实现阶段策略的指定: --vivado.impl.strategies 举例设置需要尝试...

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

本篇博文将继续介绍在Vitis中把Settings信息传递到底层的Vivado.

对于Vivado实现阶段策略的指定:

--vivado.impl.strategies

举例设置需要尝试的实现策略:

--vivado.impl.strategies “Performance_Explore,Area_Explore”

对应configure文件的内容:

#Vivado Implementation Strategies

[vivado]

impl.strategies=Performance_Explore,Area_Explore

在Vivado中可以建立多个基于相同的综合结果不同策略的impl run来尝试在单次运行获取更好的结果,而过去的Vitis一直以来只能支持单一的策略。这里我们可以看到Vitis 2020.2已经可以支持同时在一个run中选择多个策略进行尝试, 不同策略用逗号隔开,工具会自动选择先满足时序的策略来直接后续的步骤并生成XCLBIN文件。

如需等待所有策略都跑完再挑最好的结果,可以设置 --advanced.compiler 参数

[advanced]

param=compiler.multiStrategiesWaitOnAllRuns=1

在Vivado工程中,可以看到有三个impl runs,一个default策略和另两个用--vivado.impl.strategies 添加的 Performance_Explore和Area_Explore策略。

对于Vivado仿真阶段选项的指定

举例:意图在仿真xelab阶段覆盖原有的timeunit, 在Vivado中需要执行以下的命令: (关于仿真选项的具体含义,请参考UG900)

UG900 https://www.xilinx.com/support/documentation/sw_manuals/xilinx2021_1/ug900-vivado-logic-simulation.pdf

set_property -name {xsim.elaborate.xelab.more_options} -value {-override_timeunit -timescale 1ns/1ps} -objects [get_filesets sim_1]

相应的v++ --link 的选项:

--vivado.prop=fileset.sim_1.xsim.elaborate.xelab.more_options={-override_timeunit -timescale 1ns/1ps}

对于Vivado综合阶段选项的指定

Vitis加速kernel设计实际是一个DFX的设计(关于DFX的内容可以参考UG909),平台的逻辑属于静态逻辑,其布局布线事先就已经完成且锁定。 包含kernel的逻辑属于动态部分,需要单独做out-of-context综合并连接到平台的既有网表中做in-context 实现。

UG909:https://www.xilinx.com/support/documentation/sw_manuals/xilinx2021_1/ug909-vivado-partial-reconfiguration.pdf

加入我们期望对于这部分逻辑综合采用 AreaOptimized_medium Directive,需要执行的Vivado命令如下:

synth_design -top ulp -part xcu200-fsgd2104-2-e -mode out_of_context -directive AreaOptimized_medium

对应的V++ --link选项是:

vivado.prop=run.my_rm_synth_1.STEPS.synth_DESIGN.ARGS.DIRECTIVE=AreaOptimized_medium

注意:在这里synht run的的名字是my_rm_synth_1,可能随着Vitis版本或者平台有变化,使用的时候需要注意是否需要做相应的修改。

在底层Vivado工程的synth run的log文件中可以看到综合的Directive已经成功改为之前设置的值AreaOptimized_medium

其他的Vivado属性指定:

--export_script/--custom_script: 导出脚本/使用用户脚本定制编译和连接的过程

--remote_ip_cache: 指定远程IP Cache 目录

--no_ip_cache: 关闭IP Cache

总结:在这里介绍了通过Vitis选项将各类Vivado的设置传递到底层Vivado工程的方法并举例说明, 希望能帮助用户在Vitis侧能很精细地控制Vivado的各类属性。

编辑:jq

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信