Modelsim中的TCL使用
这篇文章是很久之前学习Modelsim时候找到的一个文档,在win平台上使用tcl脚本仿真流程很精简,适合初学入手,在此记录。
执行tcl
do ./work/run.tcl
编译
vlog
vlog testbench.v
vlog -work work testbench.v
启动仿真
vsim
vsim work.testbench
vsim -work work testbench
将信号加入波形
add wave *
view wave
执行仿真
run
run 1000
run -all // run to finish
run // 默认 run 100ns
退出仿真
quit -sim
TCL模板
################### ModelSim TCL ########################
################### Created by Zhiwei.Liu #######################
##### Create the Project/Lib #####
# vlib work
# map the library
# vmap work work
##### Compile the verilog #####
vlog testbench.v
##### Start Simulation #####
vsim work.testbench
add wave -binary clk rst
add wave -unsigned random c_count
run 990
##### Quit the Simulation #####
# quit –sim
为方便工程管理,建了三个文件夹来存放工程。
sim:
存放批处理文件,modelsim
的do
文件和存相对路径的文件
src:
存放源代码
data:
产生仿真的数据
批处理文件
下面开始写批处理文件与do
文件。
-
新建文件,改名为
sim.bat
,在这个文件里输入代码:vsim -do sim.do
; -
新建文件,改名为
path.f
,在这个文件中输入要仿真的源代码的相对路径:../src/test.v ../src/tb.v
-
新建
sim.do
文件,tcl
脚本文件,用于控制modelsim
仿真,输入代码如下:其中带#
号为注释部分:
#建立工作库并映射工作库
vlib work
vmap work work
#编译verilog源代码
vlog -f path.f
#编译systemc代码
vccom -f path.f
#连接systemc代码
vccom -link
#生成波形文件wlf
vsim -wlf test.wlf tb
#添加信号波形
add wave *
#开始仿真
run 200 ms
#结束仿真
quit -sim
操作流程
直接进入sim
文件夹下运行sim.bat
文件即可按照上述代码流程控制modelsim
。
下面就结合实例简要说明操作步骤:
-
编写好源文件,包括
camera.v
和它的Testbench文件
camera_tb.v`; -
编写
.do
文件camera_tb.do
,内容如下:# Create the work library vlib work vmap work work # Compile the verilog files vlog -work work camera.v vlog -work work camera_tb.v # Run simulation vsim -lib work camera_tb view wave add wave sim:/camera_tb/* run 55ms
可以根据案例,做一个适合自己的批处理文件,不如,也可以不写filelist.f
文件,直接在do
文件中添加编译,对源文件进行模糊匹配等。
快速创建仿真,从编译,启动,执行到保存波形一气呵成,这样处理可以节省很多时间。
推荐阅读
推荐阅读关于Modelsim仿真工具
的相关文章:
Modelsim原理图窗口——Schematic window;
史上最全Modelsim键盘快捷键和鼠标操作——官网文档翻译;
学习交流,如有分歧,欢迎评论区讨论~~