Simulate菜单提供的仿真选项,如图2-39所示。严格意义上讲,Simulate应该称为模拟,Emulate才应该称为仿真。鉴于目前中文翻译没有分得那么清楚,都把Simulate称为仿真,为了防止造成不必要的误解,本书也称Simulate为仿真。
相对于前面几个菜单,Simulate菜单具有的选项比较少,这是因为Simulate菜单只提供了一些基本的操作。例如,仿真的开始、结束和初始设置等,而具体到仿真过程中的操作和设置都是在对应窗口或多标签页区域中进行的。下面依次介绍菜单中各个选项的作用。
(1)Design Optimization(设计优化)。
Design Optimization命令中的选项可以对当前库中的模块进行优化。选中此命令后会弹出图2-40所示的窗口。选中需要优化的设计,在“Design Unit(s)”中会出现设计的名称,在左侧的“Output Design Name”中填入输出的设计,ModelSim就会把优化好的设计保存为“Output Design Name”中的名称。同时,这个对话窗口中还提供了立即仿真的功能。勾选“Start immediately”复选框,ModelSim就会在优化设计后对设计进行仿真。
图2-39 Simulate菜单
图2-40 Design Optimization窗口
(2)Start Simulation(开始仿真)。
Start Simulation命令可以选择要进行仿真的设计单元。执行该命令会弹出图2-41所示的窗口,在work库中选择要进行仿真的设计即可。
图2-41 Start Simulation窗口
(3)Runtime Options(运行时间选项)。
选中Runtime Options命令会弹出图2-42所示的窗口。在这里,可以设置“Defaults”“Message Severity”“WLF Files”三个标签中的不同选项。ModelSim SE 2020.4版本默认会显示进制,在波形信号等信号值的前方会有进制显示,如果不需要,则可以取消勾选“Showbase”复选框。
图2-42 Runtime Options窗口
(4)Run(运行)。
Run命令中的选项有子菜单,如图2-43所示。选择“Run 100”选项会运行100ns的仿真,这个命令运行时间的长短取决于在“Runtime Options”中的设置。选择“Run-All”选项会运行全部仿真,如果设计中没有跳出或中止命令,那么仿真会一直运行下去。“Continue”命令从当前暂停的仿真时间开始,一直运行到仿真结束。
(5)Step(步进)。
Step命令是按步进方式进行仿真的,如图2-44所示。“Step”是最简单的单步执行,一次执行一条语句;“Step-Over”是在单步执行情况下,如果当前语句是用户函数或调用的事件,则将整个函数或事件处理程序作为一条可执行语句;“Step-Line”是逐行步进执行;“Step-Out”是在子函数中直接跳出子函数操作。其余带有“-Current”的选项都是针对当前实例范围内所做的相应操作。
(6)Restart(重新开始)。
Restart命令可保留当前仿真中的一切设置,包括数据流、波形、载入的线网等,只是将时间清零,重新开始仿真。选中此命令后会出现图2-45所示的窗口,可以选择需要保留的选项。
(7)Break和End Simulation(中断和结束仿真)。
Break命令可以跳出当前运行的仿真,但是仿真的所有设置还会保留,只是将时间暂停住,这个命令适用于没有中断或跳出指令的测试平台。End Simulation命令则不同,该命令在仿真运行时是不可选的,在停止或中断仿真后才变为可选。选择此命令会完全退出仿真界面,同时会关闭与仿真相关的各个窗口,主要包括Workspace和MDI中的相关窗口。
图2-43 Run菜单
图2-44 Step命令
图2-45 重新开始仿真