本节内容介绍在 test bench 文件编写完成并且在Quartus II 也做好了正确设置后,介绍modelsim下如何进行仿真设置及modelsim 的初步使用。更复杂的使用见modelsim仿真进阶篇。本节还是以“ testbench 编写初步”一节的例子作为本节使用范例来介绍。例子重新书写如下:
例1:
实体部分:
|
1 2 3 4 5 6 7 8 9 10 |
module add ( input [3:0] a, input [3:0] b, output [4:0] c ); assign c = a + b; endmodule |
test bench部分
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
`timescale 1 ns / 1 ps module tb_test ( ); reg [3:0] ta,tb; wire [4:0] tc; integer i, j; initial begin ta = 0; tb = 0; i = 0; j = 0; #10 for(i = 0; i < 16; i = i + 1) begin for(j = 0; j < 16; j = j + 1) #10 tb = tb + 1; ta = ta + 1; end end add add_inst ( .a (ta), .b (tb), .c (tc) ); endmodule |
仿真结果如图1所示:

图1
ModelSim的整体界面如图2:

图2
- 运行工具的使用,在图2中红框标注的部分,是Modelsim程序运行工具栏,放大后如图3所示,

图3
图3中最左边的按钮
- restart(程序从头重新运行),相当于复位。
- Run(运行),每次点击运行时间由左边的Run length确定,如图3中的190 ps,可以修改成合适的值如100 ns等。
- ContinueRun是与break对应的,继续运行当前的程序。
- Run all ,运行直到结束。
- Break,中止当前运行的程序,与ContinueRun配合使用。
- stop,当激励是无限过程时,可以用stop按钮停止当前的运行程序。
Zoom工具栏,
图4
- Zoom In 展开波形界面
- Zoom Out 压缩波形界面
- Zoom All (full) 将整个波形压缩到页面内

图5
- Zoom In On Active Cursor 将波形界面以光标为中心展开

图6
- Zoom In between Active Cursor 将波形界面以第一光标为起点,以第二光标作为波形结束点展开。
如果要使用Zoom In between Active Cursor 功能,使用图7工具栏中的工具添加第二光标,添加后如图8,
图7

图9
配合以上工具的使用就可以初步操作Modelsim并观察仿真结果。
上面介绍了几个基本工具的使用,按下鼠标的滚轮拖动鼠标进行左上,左下,右上,右下移动也可以达到同样的效果。更多内容将在后续课程中介绍。
对应视频:

图8