这篇文章主要为大家展示了“Vivado Tcl脚本编译工程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vivado Tcl脚本编译工程的示例分析”这篇文章吧。
创新互联建站主要从事网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务乐山,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
1 Vivado的Tcl能力概述
工具命令语言(Tcl--Tool Command Language)是Vivado®工具环境中集成的脚本语言。Tcl是半导体行业中用于应用程序编程接口的标准语言,并由Synopsys®设计约束(SDC)使用。
SDC是用于传达Synopsys Synplify和其他供应商的FPGA综合工具的时序约束的机制,并且是时序约束行业标准;因此,Tcl基础结构是脚本语言的“最佳实践”。
除了执行自动脚本之外,Tcl还使您可以对设计工具执行交互式查询。Tcl能够以交互方式“询问”设计数据库的问题,尤其是围绕工具和设计设置及状态的问题。示例包括:查询特定的时序分析报告命令有效,应用增量约束并在执行后立即执行查询以验证预期行为,而无需重新运行任何工具步骤。
2Non-Project Mode Tcl Script Example
Non-Project Mode 包含以下6步:
1)创建文件输出文件夹
2)读取资源(verilog ip vhdl)和约束(XDC)
3)综合
4)实现
5)产生bit流
#TCL script to run xilinx vivado
# A Vivado script that demonstrates a very simple RTL-to-bitstream non-project batch flow
#
# NOTE: typical usage would be "vivado -mode tcl -source run.tcl"
#
# STEP#0: define output directory area.
#
set outputDir ./led/output
file
mkdir $outputDir
#
#
STEP#1: setup design sources and constraints
#
read_verilog led.v
read_xdc led.xdc
#
# STEP#2: run synthesis, report utilization and timing estimates, write checkpoint design
#
synth_design -part xc7a35ticsg324-1L -top led
write_checkpoint -force $outputDir/post_synth
report_timing_summary
-file $outputDir/post_synth_timing_summary.rpt
report_power -file $outputDir/post_synth_power.rpt
#
# STEP#3: run placement and logic optimzation, report utilization and timing estimates, write checkpoint design
#
opt_design
place_design
phys_opt_design
write_checkpoint -force $outputDir/post_place
report_timing_summary
-file $outputDir/post_place_timing_summary.rpt
#
# STEP#4: run router, report actual utilization and timing, write checkpoint design, run drc, write verilog and xdc out
#
route_design
report_utilization
report_timing
write_checkpoint -force $outputDir/post_route
report_timing_summary -file $outputDir/post_route_timing_summary.rpt
report_timing -sort_by group -max_paths 100 -path_type summary -file $outputDir/post_route_timing.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_xdc -no_fixed_only -force $outputDir/led_impl.xdc
write_verilog -force led_syn.v
#
# STEP#5: generate a bitstream
#
write_bitstream -force led.bit
exit
以上是“Vivado Tcl脚本编译工程的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!