本篇文章来自赛灵思高级工具产品应用工程师 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的各类属性。
视频监控摄像机怎样面对环境问题
2021年半导体涨价潮要比去年更加猛烈
图为科技与西安科技大学战略合作签约,共建大学生社会实践基地
WTK6900G-24SS语言识别芯片简介
2017年数字经济发展大数据图表分析
在Vitis中把Settings信息传递到底层的Vivado
高通预计将从与苹果的和解中获得45亿-47亿美元专利费
马道杰出任紫光展锐董事长!为其科创板IPO保驾护航?
“第三届CMMB睛彩终端产业论坛”将于6月16日在深圳召开
焊条电弧焊常见的焊接缺陷及解决措施
浅谈电机必须强制性CCC认证的重要性
凯迪正大高压开关电阻测量仪
五款三端稳压器典型应用电路
如何选择合适的电源驱动LED照明应用
全栈工程师是什么
Matsuda对AR未来的展望,它的未来确实是光明的
重合闸后加速保护结线的改进
人工智能在未来10年将创造超过6000亿美元的经济价值
三星冰箱新品“大有玄机” 助力家装新婚季
人工智能时代下将颠覆电工的传统工作模式