TCL语言控制Modelsim仿真 2

  以下内容是根据明德扬教程按照个人习惯整理

#新建一个库

vlib work

#将其映射到work
vmap work work
#编译指定的verilog文件
vlog tb_mdy_fifo_1_1.v
vlog mdy_fifo_1_1.v
vlog ../fifo_ahead.v
vlog ../altera_mf.v

#仿真work库下面的tb_mdy_fifo_1_1实例
vsim -novopt work.tb_mdy_fifo_1_1

#添加模块所有信号到波形图

add wave -position insertpoint sim:/tb_mdy_fifo_1_1/uut/*
#仿真指定时间
run 10000000

下面是调用步骤

打开Modelsim,点击file - change director,然后选中脚本所在的文件夹

 

 

 

 或者使用cd 命令

 

 在Modelsim最下面输入DO命令,格式为:do xxxx.do,例如:do tb_fifo_1_1.do,回车后就可以看到波形了。

 

 仿真完成

 

 下面列举一些常见的TCL脚本命令参考了网友的博客https://www.cnblogs.com/ninghechuan/p/8685991.html

Run do文件的一些常用命令

#打开现有工程

project open C:/Users/jayash/Desktop/sim/ImageProcess

#新建一个库

vlib my_lib

#将其映射到work

vmap my_lib work

#删除制定库

vmap -del my_lib

#添加指定设计文件

project addfile src/Verilog/test.v

#编译工程内所有文件

project compileall

#编译指定verilog文件

vlog src/Verilog/test.v

#编译指定的vhdl文件,同时检查可综合性

vcom –check_synthesis src/video_cap.vhd

 

##仿真work库下面的test_tb实例,同时调用220model_ver库,不再进行任何优化,仿真分辨率1ns。

vsim –t 1ns –L 220model_ver –gui –novopt work.test_tb

#取消warning,例如‘x’,‘u’,‘z’信号的警告,对提高编译速度很有帮助

set StdarithNoWarning 1

#查看object

View objects

#查看局部变量

View locals

#查看source

View source

#添加模块顶层所有信号到波形图

add wave*

#10进制无符号显示

Radix usigned

#16进制显示

Radix hex

#重新进行仿真

Restart

#开始仿真

Run

#仿真指定时间

Run 1ms

#时钟激励50ns周期 占空比50%

Force –repeat 50 clk 0 0,1 25

#指定信号置0

Force rst_n 0

#指定信号置1

Force rst_n 1

#指定信号赋值

Force din_a 123

Force din_b 39

如果想要仿真出来的波形直接就是10进制,或者16进制,而不是二进制,例:

vlib work
vmap work work

vlog tb_mdy_fifo_1_1.v
vlog mdy_fifo_1_1.v
vlog ../fifo_ahead.v
vlog ../altera_mf.v
vsim -novopt work.tb_mdy_fifo_1_1

add wave -position insertpoint sim:/tb_mdy_fifo_1_1/uut/*

run 10000000

radix -unsigned

即可

 

posted @ 2021-09-12 12:58  万古深寒  阅读(239)  评论(0编辑  收藏  举报