Vivado 中Tcl使用

2024-01-09 06:32:03

????????Tcl顾名思义,Tool Command Language,它的工具交互性要好些,可以很好地运用于书写工具命令脚本。尤其是目前很大一部分EDA工具是支持TCL语言的,应该说它们的母语就是TCL。综合功能的EDA软件都采用TCL语言,比如,DC、Vivado、quartus、Synplify等。TCL是面向ASIC和FPGA设计工具的一种近乎标准的脚本语言。EDA工具都按这种格式下约束(Vivado的时序约束和管脚物理约束),TCL本身就是为了配合工具使用的,没有太大的独立价值。TCL语法不同于其他脚本语言,许多开发者很难习惯。TCL具有良好的文档和团队支持。
1.建立工程
  利用Tcl建立工程,配置相关芯片信号、设置工程路径、建立工程名称相关工程的基本参数,一键完成新工程使用。

#设置器件型号
set device_model xc7z035fbg676-2
#设置工程创建路径
set dev_dir {G:\DeskTop\ZynqCode\11_Tcl_test}
#切换到工程路径
cd $dev_dir
#显示工程路径
puts “The home_dir is $dev_dir now!”
#工程名称
set project_name tlc_test
#创建工程
create_project $project_name $dev_dir -part $device_model
#设置仿真语言为 verilog
set_property simulator_language Verilog [current_project]

2.添加文件
  利用Tcl脚本将工程所需要的文件添加进入工程。减少手动添加过程:

#添加仿真tb文件
add_files -fileset sim_1 ./Sources/hdl/cpu_tb.v
# 添加VHDL文件
add_files [ glob ./Sources/hdl/bftLib/*.vhdl ]
add_files ./Sources/hdl/bft.vhdl
# 添加verilog文件
add_files [ glob ./Sources/hdl/*.v ]
add_files [ glob ./Sources/hdl/mgt/*.v ]
add_files [ glob ./Sources/hdl/or1200/*.v ]
add_files [ glob ./Sources/hdl/usbf/*.v ]
add_files [ glob ./Sources/hdl/wb_conmax/*.v ]
# 添加约束文件
add_files -fileset constrs_1 ./Sources/top_full.xdc
set_property library bftLib [ get_files [ glob ./Sources/hdl/bftLib/*.vhdl ]]

3.添加初始化脚本
  Tcl脚本在Vivado软件还可以自定义初始化脚本,添加图标,这样软件可以通过点击图标自动运行脚本,非常方便。zynq内嵌了ARM核和FPGA,在工程设计中添加ARM核应该是最常用的操作,因此这里就用添加ARM核作为初始化脚本功能来进行示例。
3.1.设计脚本
????????首先建立一个Tcl脚本,脚本大致内容为:
????????1.生成 block design;
????????2.添加 “processing_system7” IP 核;
????????3.配置使用的DDR 型号为"MT41J256M16 RE-125"

# 生成block design,命名为“design_1”    
create_bd_design "design_1" 
# 编译文件 sources_1      
update_compile_order -fileset sources_1     
# 生成zynq ps的IP核      
startgroup      
create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0      
endgroup 
# 配置IP核所用的DDR为“MT41J256M16 RE-125”     
set_property -dict [list CONFIG.PCW_UIPARAM_DDR_PARTNO {MT41J256M16 RE-125} CONFIG.PCW_UART1_PERIPHERAL_ENABLE {1}] [get_bd_cells processing_system7_0]

3.2.建立命令
  通过vivado 的Tools -> Custom Commands -> Customize Commands,进行配置。
进入配置命令页面:
1.左侧"+" ,添加命令的名称;
2.右侧录入描述,在Source Tcl file 中添加刚才写好的脚本路径;
3.命令可以自己上传图片作为命令的工具栏图标。勾选 “Add to the toolbar”,选择我们的图标,点击"Apply"便完成了一键配置添加、配置PS核的脚本操作。

????????由于是在软件中自定义的命令操作,因此重新建立工程也无须重新配置。使用vivado软件时,将通用、重复软件操作配置为命令,在工具栏一键自动完成操作,将大大节省时间,提高工作效率。
下面是刚才建立的Command的相关演示。

4.help使用
  把help 单独立一小节是因为在使用Tcl脚本的过程中,偶尔会忘记脚本使用或者命令名称等。这就需要常常使用Vivado 自带的Tcl help 功能。类似matlab一样,help相关命令会显示相关命令的使用方法、变量参数等,实在是很方便也很重要。

文章来源:https://blog.csdn.net/weixin_58624086/article/details/135462472
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。