一、Modelsim建立工程仿真
创建一个工程和工程库;
加载设计文件(包括你编写好的testbench);
编译源文件;
运行仿真,并查看结果;
进行工程调试。1、 开始菜单启动Modelsim
2、 File–>New-Project,新建工程
3、 输入工程名,并选择工程存放路径(不要有中文和特殊字符,但可以有下滑线 _ ),然后点击ok
4、 在工程对应窗口单击鼠标右键添加文件,可以现写,也可以选择现有文件,文件存放的路径同样不能有中文,且单次只能添加一个文件。
文件添加后的界面如图所示
5、 右键单击工程窗口空白界面,选择All compile,编译完成后,文件名后的 ?会变成 √
6、 单击Library选项卡,选中第一个work库,打开可以看到如下两个文件
单击water_led_tb,右键选择simulate,开始编译整个工程
编译完成后,如果没有波形图界面,单击ViewWave,即可打开波形图界面
7、 单击sim选项卡,选中需要查看波形的模块,右键单击,选择add wave
8、 回到波形界面,选择仿真一段时间,即可看到相应波形
其余操作,和Quartus 联合 modelsim仿真一样
二、do脚本仿真
# filename.do
# do文件的注释是由“#”开始的,但不可以在代码行后面添加,只能另起一行。
#此脚本文件存放于工程文件夹下的tb子文件夹
#在 modelsim 的 transcript 窗口执行的时候使用
# do filename.do 命令后,自动执行仿真
vlib work
vmap work work
#编译 testbench文件
vlog tb_module_name.v
#编译 设计文件(位于工程文件夹下的rtl子文件夹)
# 如果存放于同级文件夹(tb),则不用添加 “ ../rtl ”
vlog ../rtl/*.v
#vlog ../rtl/*.v
#vlog ../rtl/*.v
#编译IP文件
#指定仿真顶层模块
vsim -novopt work. tb_module_name -t 1ns
#添加信号到波形窗
add wave -position insertpoint sim:/ tb_module_name //*
#运行2000个单位时间的仿真, 也可以用run–all命令来一直仿真下去
run 2000
编写好DO文件之后,在Modelsim中,将工作目录切换到filename.do文件所在目录下,然后在Transcript窗口中的命令行输入 do filename.do即可。切换工作目录的方法如下图,点击Change Directory:
如果在仿真的时候要修改.do文件,需要先在Modelsim的transcript窗口里运行quit
-sim,退出仿真,然后修改.do文件,再保存,然后再重新执行do filename.do指令即可。