Vivado Tcl 脚本编译工程

2020-02-14 11:07:17 浏览数 (1)

Vivado Tcl 脚本编译工程

1 Vivado的Tcl能力概述

工具命令语言(Tcl--Tool Command Language)是Vivado®工具环境中集成的脚本语言。Tcl是半导体行业中用于应用程序编程接口的标准语言,并由Synopsys®设计约束(SDC)使用。

SDC是用于传达Synopsys Synplify和其他供应商的FPGA综合工具的时序约束的机制,并且是时序约束行业标准;因此,Tcl基础结构是脚本语言的“最佳实践”。

除了执行自动脚本之外,Tcl还使您可以对设计工具执行交互式查询。Tcl能够以交互方式“询问”设计数据库的问题,尤其是围绕工具和设计设置及状态的问题。示例包括:查询特定的时序分析报告命令有效,应用增量约束并在执行后立即执行查询以验证预期行为,而无需重新运行任何工具步骤。

2 Non-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/outputfile

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_utilizationreport_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

最终生成的报告

视频演示

0 人点赞