一.概述
总结下平常用到的TCL方式,TCL的使用可以分为非工程模式下的开发流程,工程模式下的开发流程,以及一些在TCL控制台用到的命令。
二.非工程模式下TCL开发流程
利用vivado自带的tcl shell窗来进行项目的开发,在vivado安装路径的bin文件夹下。
然后逐句执行以下脚本命令:
在执行之前可以使用pwd查看当前路径,通过cd切换路径。
set output ./Out
file mkdir $output
执行以上语句,新建一个工程输出的文件夹。
add_files [glob $output/*.v] #glob扫描当前文件夹的所有.v文件
add_files -fileset constrs_1 $output/led.xdc#仿真和约束文件需要加到对应的文件集中
执行以上语句,导入RTL代码和XDC约束。
synth_design -top flow_led -part xc7a35tfgg484-2
write_checkpoint -force $output/post_synth //force #写入时覆盖该文件
执行以上语句,输出dcp文件。
report_timing_summary -file $output/synth_timing_summary.rpt
report_power -file $output/synth_power.rpt
执行以上语句,输出综合后的时序报告和功耗报告。
opt_design #对设计进行优化
power_opt_design #对功耗进行优化
place_design #对设计进行布局
phys_opt_design #对布局后的设计进行逻辑物理优化
write_checkpoint -force $output/post_place
report_timing_summary -file $output/post_place_timing_summary.rpt
route_design
write_checkpoint -force $output/post_route
report_timing_summary -file $output/post_route_timing_summary.rpt
report_timing -sort_by group -max_paths 100 -file $output/post_route_timing.rpt
report_drc -file $output/post_impl_drc.rpt
write_bitstream -force $output/flow_led.bit
-sort_by 按时序裕量排序或者按时钟组排序,默认按时序裕量排序
结果:输出文件夹中会产生如下文件
三.工程模式下TCL开发流程
在GUI界面的左侧导航窗口中,setting里面,综合-优化-布局-布线的前后都可以载入tcl脚本。
四.常用TCL命令和知识点
常用的查看时序报告、功耗报告、时钟网络、利用率、qor报告、保存的ila图
write_debug_probes(itx文件 很有用)
时序约束时:常用命令 get_pins get_nets get_cells get_ports -of_objects