使用modelsim do文件进行仿真的基本操作与modelsim do文件的基本语句,以及常见错误
modelsim do文件的写法
#这个do文件一边都放在仿真激励文件的目录下
#此处是注释
#退出现有工程
quit -sim
#清除命令行显示信息
.main clear
#在根目录下建立了一个lib的文件夹,这个根目录其实就是指和我们当前文件在同一个文件夹下
vlib ./lib
#lib文件夹下再建立一个文件夹
vlib ./lib/work
#vmap:映射逻辑库名,就是将modelsim编译之后的一些文件放在work下,这个work就是library窗口下的那个work,这条语句的作用是将这个逻辑库映射到lib/work的文件夹下
vmap work ./lib/work
vlog -work work ./tb_ex_shiftreg.v #编译tb文件,并把编译结果放在了work库
vlog -work work ./../design/ex_shiftreg.v (*.v) #编译被测试文件
vsim -voptargs=+acc work.tb_ex_shiftreg #相当于点了simulate
add wave -divider {tb_ex_shiftreg} #给下面的这5个波形起一个名字
add wave tb_ex_shiftreg/lvds_d #添加激励文件的波形(前面那个是激励文件模块的名字 不是文件的名字)
add wave tb_ex_shiftreg/o_lvds_d
add wave tb_ex_shiftreg/i_30
add wave tb_ex_shiftreg/lvds_clock
add wave tb_ex_shiftreg/rst_n
add wave -divider {ex_shiftreg_inst} #把下面的波形和上面的波形分开
add wave tb_ex_shiftreg/ex_shiftreg_inst/* #*是通配符匹配所有信号,添加例化模块的名字
run 100us
写do文件时一些需要注意的地方
添加波形时的注意事项
一部分波形是测试文件中,定义的一些变量;还有一部分就是逻辑文件中的变量。添加这一部分的时候也是 测试文件的模块名/遍历时定义的模块的名字/* 如在上面的例子中我的逻辑文件的名字是ex_shiftreg;而ex_shiftreg_inst只是测试文件中的遍历时起的名字
do文件的语法常见错误
do文件的注释符号是 #
do文件在写的时候没有任何的标点符号
在写do文件的时候注意加 空格 比如上面的divider后一定要有空格
do文件操作的流程
首先打开modelsim软件,和普通建工程一样先创建一个工程,这个工程一般放在和do一个文件夹下,然后在下面的命令行下输入 do 都文件名.do 其实操作没有问题的话在输入do以后就会跳出出我们写的do文件,点击,回车即可