【翻译】ModelSim指南 IV (ModelSim)(Verilog)(Digital Logic)
6
分析波形
简介
Wave窗口可查看仿真结果。它分为几个区域(图6-1)。各个区的大小、位置可重置。
扩展阅读
用户手册:Wave Window和Recording Simulation Results With Datasets
加载设计
本课用的范例,类似前面基本仿真的设计。
1. 如果刚完成前面的课程,ModelSim就已经打开了,否则,启动Modelsim。
2. 加载设计。
a) 选择File > Change Directory并打开在基本仿真那课里创建的目录。
work应该已经存在了。
b) 单击work库前的‘+’并双击test_counter。
ModelSim加载设计并打开Structure(sim)窗口。
给Wave窗口添加对象
ModelSim提供了几种给Wave窗口添加对象的方法。在本练习里,将试试。
1. 从Objects窗口添加。
a) 通过选择View > Objects打开Objects窗口。
b) 在Objects选择一项,右击,然后选择Add > To Wave > Signals in Region。
ModelSim打开一个Wave窗口并显示信号。
2. 调整Wave窗口。
ModelSim缺省在主窗口的右侧打开Wave窗口。可通过属性对话框(Tools > Edit Preferences)来调整。细节参考用户手册的Simulator GUI Preferences部分。
Wave窗口将独立出来,方便调整。
3. 使用拖拽添加对象。
可以将对象从其他窗口(如,Structure,Objedts,和Locals)拖到Wave窗口。
a) 在Wave窗口,选择Edit > Select All然后选择Edit > Delete。
b) 从Structure(sim)窗口拖一个实例到Wave窗口。
ModelSim将添加那个实例的对象到Wave窗口。
c) 从Objects窗口拖一个信号到Wave窗口。
d) 在Wave窗口,选择Edit > Select All然后选择Edit > Delete。
4. 使用命令添加对象。
a) 在VSIM提示符后输入add wave *。
ModelSim添加当前区域的所有对象。
b) 运行仿真,即可看到波形。
波形显示
有很多方法缩放波形。
1. 使用大量技巧缩放显示。
b) 在波形显示区,单击并拖拉至合适的位置。
可以看到蓝色的垂线和选定的放大区域的数字(图6-2)。
c) 选择View > Zoom >Zoom Last。
波形恢复先前显示。
e) 在波形显示区,单击并向右拖。
应该看到一条蓝色的线盒缩小的范围。
f) 选择View > Zoom > Zoom Full。
在Wave窗口使用光标
在Wave窗口,光标标记仿真时间。当ModelSim第一次在Wave窗口产生波形,在时间轴的0点放置了一个光标。单击波形的任何地方,可将光标放置。
你也可以:
l 添加光标。
l 命名、锁定、和删除光标。
l 使用光标测量时间间隔;
l 使用光标查找跳变。
用一个光标工作
1. 通过单击和拖拉放置光标。
b) 在波形区任意地方单击。
一个光标插入刚单击的位置(图6-3)。
c) 拖动光标并观察值的变化。
当移动光标时,信号的值也将变化。这也许是检测信号在特定时刻的值的最容易的方法。
d) 在波形区,拖动光标到波形跳变的一个位置。
光标抓到离左边最近的跳变。如果波形的边沿在10个像素内,光标可抓到波形边沿。可在窗口属性对话框设置分辨率(选择Tools > Window Preferences)。
e) 在光标区,拖动光标至一个跳变的右侧(图6-3)。
如果在光标块移动,光标将抓不到跳变。
2. 重命名光标。
a) 在光标块右击“光标1”,然后选择并删除文本。
b) 输入A并确定。
光标名将变为“A”(图6-4)。
3. 将光标跳往之前或之后的跳变。
a) 在路径名栏单击信号count。
b) 在Wave窗口的工具栏单击Find Next Transition图标。
光标跳往选定信号的下一个跳变。
c) 在Wave窗口的工具栏单击Find Previous Transition图标。
光标跳往选定信号的上一个跳变。
用多个光标工作
1. 添加第二个光标。
a) 在Wave窗口工具栏单击Insert Cursor图标。
b) 右击新光标的光标名并删除。
c) 输入B并确定。
d) 拖动光标B并观察间隔测量的动态变化(图6-5)。
2. 锁定光标B。
右击光标B的黄色盒子(在56ns)。
从弹出的菜单选择Lock B。
光标的颜色变为红色,不可移动(图6-6)。
3. 删除光标B。
右击光标B(在56ns处)并选择Delete B。
本课小结
本课至此结束,继续之前,先结束当前仿真。
1. 选择Simulate > End Simulation。单击Yes。