在开始编辑前
小编想说句
熟悉的黑框框
虽然很恶心,但是速度快啊
为什么呢?
因为Vivado会将每一步骤的文件从内存中写入磁盘
然后在进入内存编译下一步;可是使用黑框框呢,就会保证程序一直在内存中运行!
普遍提高时间在30%以上
1
优 势
2 步 骤
2.1
定义文件输出位置
set outputDir ./output
file mkdir $outputDir
set_part xc7k160tfbg676-2
(注意:保存在一个tcl脚本中,然后source *.tcl就可以了)
2.2 加入设计文件和约束
read_verilog [ glob ./sources_1/imports/new/*.v ]
read_ip [ glob ./sources_1/ip/PLL50MTo100M/*.xci]
read_ip [ glob ./sources_1/ip/Pll50MTo148M5Drg90/*.xci]
read_ip [ glob ./sources_1/ip/vio_0/*.xci]
read_xdc [ glob ./constrs_1/imports/new/*.xdc ]
2.3 进行综合,报告利用率,时序检测,写DCP文件
synth_design -top VS2Top
write_checkpoint -force $outputDir/post_synth
report_timing_summary -file $outputDir/post_synth_timing_summary.rpt
report_power -file $outputDir/post_synth_power.rpt
report_clock_interaction -delay_type min_max -file $outputDir/post_synth_clock_interaction.rpt
report_high_fanout_nets -fanout_greater_than 200 -max_nets 50 -file $outputDir/post_synth_high_fanout_nets.rpt
2.4 布局和逻辑优化,报告,时序检测,写DCP
opt_design
place_design
phys_opt_design
write_checkpoint -force $outputDir/post_place
report_timing_summary -file $outputDir/post_place_timing_summary.rpt
2.5 布线和逻辑优化,报告,时序检测,写DCP,DRC检查,xdc锁定
route_design
write_checkpoint -force $outputDir/post_route
report_timing_summary -file $outputDir/post_route_timing_summary.rpt
report_timing -max_paths 100 -path_type summary -slack_lesser_than 0 -file $outputDir/post_route_setup_timing_violations.rpt
report_clock_utilization -file $outputDir/clock_util.rpt
report_utilization -file $outputDir/post_route_util.rpt
report_power -file $outputDir/post_route_power.rpt
report_drc -file $outputDir/post_imp_drc.rpt
write_verilog -force $outputDir/project_impl_netlist.v
write_xdc -no_fixed_only -force $outputDir/project_impl.xdc
2.6
产生比特流
write_bitstream -force $outputDir/VS2Top.bit
ü 可以联合GUI进行更快速地开发
ü Start_gui 和stop_gui分别是进入和退出GUI命令,对于不用阶段的设计,可以使用place_design和route_design查看
3 参考资料
1. Vivado Design Suite User Guide (UG892)
2. Vivado Design Suite Tutorial (UG975)
3.https://www.xilinx.com/video/hardware/using-the-non-project-batch-flow.html