本篇博文将继续介绍在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/ug9...
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/ug9...
加入我们期望对于这部分逻辑综合采用 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的各类属性。
微软Visual Studio 2022首个64位版预览版将于今年夏季发布
三极管等效电路分析
英飞凌XENSIV连接传感器套件:“英”领物联,“智”享未来
新日本无线开发了最适合检测脉搏用的光电传感器NJL5303R
P35系列压电偏转镜的特点以及技术参数的介绍
如何在Vitis中把设置信息传递到底层的Vivado
毫米波和独立组网将成为5G发展新趋势的关键
基于嵌入式Linux和Qt编程实现数码相框的设计
美国空军融合多种光电技术增强监视雷达能力
24C01读写的c51源程序代码分享
iOS11怎么样?iOS11的发布:让系统由内而外的改变
问天实验舱应用任务进展顺利
超声波流速传感器的分类与原理
物联网技术能收集有关多种不同现有药物和分子的数据?
FPGA将在众多AI芯片中脱颖而出
世界上第一个可供散户投资者和交易员使用的人工智能交易软件
ios中国市场份额狂降!苹果在中国遭遇史上最大麻烦,等待iphone8的降临?
智能时代:消费类电子产品的设计之道
压力变送器检定前的准备工作
苏州移动全程进行4K超清直播,通过移动的和直播全程观看工程启动仪式