与一般的Windows窗口相同,界面的最上一行为标题栏,显示当前的应用程序的名称,通过点击标题栏的图标
M(或Alt键+SpaceBar空
格键)可以对窗口进行诸如改变窗口大小、移动窗口位置、关闭窗口之类的操作,这
些与Windows完全相同。
标题栏下方为菜单栏。菜单栏有八个菜单项,分别是:File(文件)、Edit(编辑)、View(视图)、
Compile(编译)、Simulate(仿真)、Tools(工具)、Window(窗口)、Help(帮助)。下面分别罗列
其具体选项。
1. File(文件)菜单
文件菜单通常包含了对工程及文件等的操作。ModelSim的文件菜单包含的命令有:
New(新建),Open(打开),Close(关闭),Import(导入),Save(保存),Delete(删除),
Change Directory(更改路径),Transcript(对脚本进行管理),Add to Project(为工程添加文件),
Recent Directories(最近几次的工作路径) ,Recen Projects(最近几次工程),Quit(退出)。
(1) 新建文件命令(File/ New)
单击File/ New命令,将会出现一个子菜单,共包含四个选项:单击Floder(新建文件夹)后,会出现对话
框,提示输入新建的文件夹的名字,即可在当前目录下新建一个文件夹;单击Source(新建源文件)后,会
出现源文件类型的选项(VHDL,Verilog,Other),点击可分别新建对应格式的源文件;单击Project(新建
工程)后,会出现对话框,提示在Project Name处输入新建工程的名称,在Project Location处指定新建工
程的存放路径,在Default Library Name处指明默认的设计库的名称,用户设计的文件将编译到该库中;单
击Library(新建一个库)后,会出现对话框,提示选择Creat a New library and a logical mapping to
it(新建一个库并建立一个逻辑映象)或A map to an existing library(新建一个到已存在库的映象),在
Lirary name处输入新建库的名称,在Library phycial name处输入存放库的文件名称。
(2) Open(打开文件)
单击会出现子菜单选择打开File(文件)、Project(工程)及Dataset(WLF文件)。
(3) Close(关闭)
单击会出现子菜单选择关闭Project(工程)或Dataset(仿真数据文件)。
(4) Import(导入)
导入新的库,在进行某些仿真时需要的一些库可以通过该方法导入,根据提示指定源库路径及目标库路径,一
步步操作完成。注意ModelSim安装目录下的modelsim.ini文件不能为只读。在该文件中保存了ModelSim的
一些设置信息,后续章节将详细讨论该文件的内容及其含义。
(5) Save(保存)
保存当前仿真数据。
(6) Delete(删除)
删除指定的工程,即删除.mpf文件,mpf是ModelSim工程的后缀名。
(7) Change Directory(改变路径)
改变当前工作路径,ModelSim使用的是绝对路径,而不是相对路径,这与ISE不同,在ISE中,你可以将你的
设计整个目录拷贝到其他任何地方,只要目录完整,你可以直接打开工程文件。而在ModelSim中,若将整个
目录拷贝到其他地方,打开工程时其指向仍为原来工程的地址,可以通过更改路径来设置新的路径。
(8) Transcript(脚本)
单击会出现子菜单选择操作Save Transcript(保存主窗口中脚本)、Save Transcript As(把主窗口中脚本
另存为一个新文件)或Clear Transcript(清除主窗口中的脚本)。
(9) Add to Project(添加到工程)
单击会出现子菜单选择操作File(添加文件到当前工程)、Simulation Configuration(添
加设定的仿真配置)或Folder(添加文件夹)。
(10) Recent Directories(最近几次工作路径)
可以从中选取最近几次的工作路径。
(11) Recen Projects(最近几次工程)
可以打开最近几次的工程。
(12) Quit(退出)
退出 Model Sim.
2. Edit(编辑) 菜单
类似于Windows应用程序,在编辑菜单中包含了对文本的一些常用的操作。
(1) Copy(复制)
复制选中的文档
(2) Paste(粘贴)
把剪切或复制的文档粘贴到当前插入点之前。
(3) Select All(全选)
选中主窗口中所有的抄本文档。
(4) Unselect All(取消全选)
取消已选文本的选中状态。
(5) Find(查找)
在命令窗口中查找字符或字符串。
3. View(视图) 菜单
类似于其他Windows应用程序,视图菜单可以控制在屏幕上显示哪些窗口。
(1) All Windows(所有窗口)
打开所有的Model Sim窗口,你试一下该命令会发现ModelSim打开了许多窗口,包括波形窗口、信号列表窗口、源文件窗口等等。
(2) Dataflow(数据流)
打开Dataflow窗口,在该窗口中显示数据的流向。
(3) List(列表)
打开列表窗口。
(4) Process(进程)
打开过程窗口,该窗口显示了设计中的进程所在的位置。
(5) Signals(信号)
打开信号窗口。该窗口显示了设计中所有信号的列表
(6) Source(源文件)
打开源文件窗口,可以在源文件窗口中显示设计中使用的源文件。
(7) Structure(结构)
(8) Variables(变量)
打开变量窗口,该窗口以列表方式显示了设计中定义的所有变量。
(9) Wave(波形)
打开波形窗口,这是我们仿真时经常需要查看的窗口,在其中显示了输入和输出的波形。
(10) Datasets
打开Dataset浏览器来打开、关闭、重命名或激活一个Dataset。你在使用的时候会发现没有什么变化,
这时候你可以看看Workspace窗口下是不是多了一个选项卡。该选项卡显示的内容与Structure窗口显示的完全相同。
(11) Coverage(覆盖率)
查看仿真的代码覆盖率。
(12) Active Processes(活动的进程)
当前正在执行的进程。
(13) workspace(工作区)
打开当前的工作区。
(14) Encoding(编码)
以不同的编码查看。
(15) Properties
4. Compile(编译)菜单
(1) Compile(编译)
把HDL源文件编译到当前工程的工作库中。
(2) Compile Options(编译选项)
设置VHDL和Verilog编译选项,例如可以选择编译时采用的语法标准等。
(3) Compile All(全编译)
编译当前工程中的所有文件。
(4) Compile Select(编译选中的文件)
编译当前工程中的选中文件。
(5) Compile Order(编译顺序)
设置编译顺序,一般系统会根据设计对VHDL自动生成编译顺序,但对于Verilog需要指定编译顺序。
(6) Compile Report(编译报告)
有关工程中已选文件的编译报告。
(7) Compile Summary(编译摘要)
有关工程中所有文件的编译报告。
5. Simulate(仿真)菜单
这里的编译及运行命令类似于VC等高级语言的调试时候的命令。
(1) Simulate(仿真)
装载设计单元。
(2) Simulation Options(仿真选项)
设置仿真选项。
(3) Run(运行)
Run ***ns:在该仿真时间长度内进行仿真。若要改变长度,可在Simulation Options中设置或在工具栏中修改;
Run-All(运行所有仿真):进行仿真,直到用户停止它;
Continue(继续):继续仿真;
Run-Next(运行到下一事件):运行到下一个事件发生为止;
Step(单步):单步仿真;
Step-Over:仿真至子程序结束;
Restrat:重新开始仿真,重新加载设计模块,并初始化仿真时间为零。
(4) Break(停止)
停止当前的仿真。
(5) End Simulation(结束仿真)
结束当前仿真。
6. Tool(工具)菜单
(1) Waveform Compare(波形比较)
在子菜单中有具体进行波形比较的命令。
(2) Coverage(覆盖率)
测试仿真的代码覆盖率,所谓代码覆盖率是指仿真运行到当前已运行的代码占所有代码的比例,当然是越接近100%越好。
(3) Breakpoints(断点设置)
单击此选项出现断点设置对话框,设置断点。
(4) Execute Macro(执行宏文件)
所谓的宏文件就是保存后的脚本,脚本保存起来,以后可以利用该命令来重新执行。
(5) Options(选项)
Transcript File:设置脚本文件的保存。
Command History:命令历史。
Save File:保存脚本文件。
Saved Lines:限制脚本文件的行数。
Line Prefix:设置每一行的初始前缀。
Update Rate:设置状态条的刷新频率。
ModelSim Prompt:改变ModelSim的命令提示符。
VSIM Prompt: 改变VSIM的命令提示符。
Paused Prompt: 改变Paused的命令提示符。
HTML Viewer:设置打开在线帮助的文件。
(6) Edit Preferences(编辑参数选取):
设置编辑参数。
(7) Save Preferences(保存参数选取):
设置保存用的参数。
7. Window (窗口)菜单:
(1) Initial Layout(初始化版面)
恢复所有窗口到初始时的大小和位置。
(2) Cascade(层叠)
使所有打开的窗口层叠。
(3) Tile Horizontally(水平平铺)
水平分隔屏幕,显示所用打开的窗口。
(4) Tile Vertically(垂直平铺)
垂直分隔屏幕,显示所用打开的窗口。
(5) Layout Style(版面格式)
Default(默认格式):与Initial Layout格式相同;
Classic(经典格式):采样低于5.5版本的格式;
Cascade:与Cascade格式相同;
Horizontally:与Tile Horizontally格式相同;
Vertically:与Tile Vertically格式相同。
(6) Icon Children
除了主窗口之外的其他窗口缩为图标。
(7) Icon All
将所有窗口缩为图标。
(8) Deicon All
将所用缩为图标的窗口还原。
8. Help(帮助)菜单
(1) About ModelSim
显示ModelSim的版本、版权等信息。
(2) Release Notes
显示ModelSim的版本发布信息。
(3) Welocme Menu
显示欢迎画面。
(4) PDF Documentation
在子菜单中可以选择ModelSim的PDF文档。
SE HTML Documentation:ModelSim的超文本文档。
(5) Tcl Help:Tcl帮助文档。
Tcl是Tools Command Language的缩写, 它是一种可扩充的命令解释语言,具有与C语言的接口和命令的能力,应用非常广泛,这方面也有专门的书籍。.
(6) Tcl Man Pages:Tcl主页面。
(7) Technotes:技术文档。
工具栏
ModelSim的工具栏从左到右依次为:打开、复制、粘贴、如何更新ModelSim、编译选定、编译全部、仿
真、停止仿真、重新开始仿真、仿真步长、运行一步、继续运行、运行所有、单步执行、主程序的单步执
行。
从一个例子开始学习ModelSim
前面两节简要介绍了有关ModelSim的安装以及用户界面的功能,初学者可能会觉得又很多名词看不懂,这一
节我们来从一个简单的例子学习ModelSim的简单的使用。学完本节你会发现ModelSim不仅好用,而且易
用。
这一节我们使用的例子是一个分频
电路的设计。所谓分频电路是将较高频率的时钟分频,得到较低频率的时
钟,分频电路的使用较为广泛,例如,我们要编写一个显示时间的电路就需要一个分频器,将晶振的频率分频
得到1Hz的时钟信号。分频有几种方法,对于较为规则的分频,如2分频、4分频、8分频等可以调用ISE本身的
库函数来实现,对于较不规则的分频,我们也有两种方法,一种是利用计数器的某一位来作为分频输出,一种
是计数器计数到某一数值时,分频时钟信号翻转来实现分频。两种方法的可以从其仿真结果得到。之所以选择
这个例子,是因为这里例子有实用价值并且设计本身简单,仿真也较为简单。好了,下面我们开始我们的设
计。
3. View(视图) 菜单
类似于其他Windows应用程序,视图菜单可以控制在屏幕上显示哪些窗口。
(1) All Windows(所有窗口)
打开所有的Model Sim窗口,你试一下该命令会发现ModelSim打开了许多窗口,包括波形窗口、信号列表窗口、源文件窗口等等。
(2) Dataflow(数据流)
打开Dataflow窗口,在该窗口中显示数据的流向。
(3) List(列表)
打开列表窗口。
(4) Process(进程)
打开过程窗口,该窗口显示了设计中的进程所在的位置。
(5) Signals(信号)
打开信号窗口。该窗口显示了设计中所有信号的列表
(6) Source(源文件)
打开源文件窗口,可以在源文件窗口中显示设计中使用的源文件。
(7) Structure(结构)
打开结构窗口,该窗口以列表方式显示了设计中所有到的结构,双击某一结构,可以
查找定义该结构的语句。
(8) Variables(变量)
打开变量窗口,该窗口以列表方式显示了设计中定义的所有变量。
(9) Wave(波形)
打开波形窗口,这是我们仿真时经常需要查看的窗口,在其中显示了输入和输出的波形。
(10) Datasets
打开Dataset浏览器来打开、关闭、重命名或激活一个Dataset。你在使用的时候会发现没有什么变化,
这时候你可以看看Workspace窗口下是不是多了一个选项卡。该选项卡显示的内容与Structure窗口显
示的完全相同。
(11) Coverage(覆盖率)
查看仿真的代码覆盖率。
(12) Active Processes(活动的进程)
当前正在执行的进程。
(13) workspace(工作区)
打开当前的工作区。
(14) Encoding(编码)
以不同的编码查看。
(15) Properties
显示工作区中选中对象的属性
4. Compile(编译)菜单 (1) Compile(编译) 把HDL源文件编译到当前工程的工作库中。 (2) Compile Options(编译选项) 设置VHDL和Verilog编译选项,例如可以选择编译时采用的语法标准等。 (3) Compile All(全编译) 编译当前工程中的所有文件。 (4) Compile Select(编译选中的文件) 编译当前工程中的选中文件。 (5) Compile Order(编译顺序) 设置编译顺序,一般系统会根据设计对VHDL自动生成编译顺序,但对于Verilog需要指定编译顺序。 |
(6) Compile Report(编译报告)
有关工程中已选文件的编译报告。
(7) Compile Summary(编译摘要)
有关工程中所有文件的编译报告。
5. Simulate(仿真)菜单
这里的编译及运行命令类似于VC等高级语言的调试时候的命令。
(1) Simulate(仿真)
装载设计单元。
(2) Simulation Options(仿真选项)
设置仿真选项。
(3) Run(运行)
Run ***ns:在该仿真时间长度内进行仿真。若要改变长度,可在Simulation Options中设置或在工具栏中修改;
Run-All(运行所有仿真):进行仿真,直到用户停止它;
Continue(继续):继续仿真;
Run-Next(运行到下一事件):运行到下一个事件发生为止;
Step(单步):单步仿真;
Step-Over:仿真至子程序结束;
Restrat:重新开始仿真,重新加载设计模块,并初始化仿真时间为零。
(4) Break(停止)
停止当前的仿真。
(5) End Simulation(结束仿真)
结束当前仿真。
6. Tool(工具)菜单
(1) Waveform Compare(波形比较)
在子菜单中有具体进行波形比较的命令。
(2) Coverage(覆盖率)
测试仿真的代码覆盖率,所谓代码覆盖率是指仿真运行到当前已运行的代码占所有代码的比例,当然是越接近100%越好。
(3) Breakpoints(断点设置)
单击此选项出现断点设置对话框,设置断点。
(4) Execute Macro(执行宏文件)
所谓的宏文件就是保存后的脚本,脚本保存起来,以后可以利用该命令来重新执行。
(5) Options(选项)
Transcript File:设置脚本文件的保存。
Command History:命令历史。
Save File:保存脚本文件。
Saved Lines:限制脚本文件的行数。
Line Prefix:设置每一行的初始前缀。
Update Rate:设置状态条的刷新频率。
ModelSim Prompt:改变ModelSim的命令提示符。
VSIM Prompt: 改变VSIM的命令提示符。
Paused Prompt: 改变Paused的命令提示符。
HTML Viewer:设置打开在线帮助的文件。
(6) Edit Preferences(编辑参数选取):
设置编辑参数。
(7) Save Preferences(保存参数选取):
设置保存用的参数。
7. Window (窗口)菜单:
(1) Initial Layout(初始化版面)
恢复所有窗口到初始时的大小和位置。
(2) Cascade(层叠)
使所有打开的窗口层叠。
(3) Tile Horizontally(水平平铺)
水平分隔屏幕,显示所用打开的窗口。
(4) Tile Vertically(垂直平铺)
垂直分隔屏幕,显示所用打开的窗口。
(5) Layout Style(版面格式)
Default(默认格式):与Initial Layout格式相同;
Classic(经典格式):采样低于5.5版本的格式;
Cascade:与Cascade格式相同;
Horizontally:与Tile Horizontally格式相同;
Vertically:与Tile Vertically格式相同。
(6) Icon Children
除了主窗口之外的其他窗口缩为图标。
(7) Icon All
将所有窗口缩为图标。
(8) Deicon All
将所用缩为图标的窗口还原。
8. Help(帮助)菜单
(1) About ModelSim
显示ModelSim的版本、版权等信息。
(2) Release Notes
显示ModelSim的版本发布信息。
(3) Welocme Menu
显示欢迎画面。
(4) PDF Documentation
在子菜单中可以选择ModelSim的PDF文档。
SE HTML Documentation:ModelSim的超文本文档。
(5) Tcl Help:Tcl帮助文档。
Tcl是Tools Command Language的缩写, 它是一种可扩充的命令解释语言,具有与C语言的接口和命
令的能力,应用非常广泛,这方面也有专门的书籍。.
(6) Tcl Man Pages:Tcl主页面。
(7) Technotes:技术文档。
8. Help(帮助)菜单
(1) About ModelSim
显示ModelSim的版本、版权等信息。
(2) Release Notes
显示ModelSim的版本发布信息。
(3) Welocme Menu
显示欢迎画面。
(4) PDF Documentation
在子菜单中可以选择ModelSim的PDF文档。
SE HTML Documentation:ModelSim的超文本文档。
(5) Tcl Help:Tcl帮助文档。
Tcl是Tools Command Language的缩写, 它是一种可扩充的命令解释语言,具有与C语言的接口和命令的能力,应用非常广泛,这方面也有专门的书籍。.
(6) Tcl Man Pages:Tcl主页面。
(7) Technotes:技术文档。
工具栏
ModelSim的工具栏如图8-2-2所示。从左到右依次为:打开、复制、粘贴、如何更新ModelSim、编译选
定、编译全部、仿真、停止仿真、重新开始仿真、仿真步长、运行一步、继续运行、运行所有、单步执行、主程序的单步执行。
状态栏 ModelSim的状态条如图8-2-3所示,其中Project后面为当前工程的名称,Now后面为当前仿真时间。最右边的 为选定的仿真结构中变量。 |
从一个例子开始学习ModelSim
前面两节简要介绍了有关ModelSim的安装以及用户界面的功能,初学者可能会觉得又很多名词看不懂,这一
节我们来从一个简单的例子学习ModelSim的简单的使用。学完本节你会发现ModelSim不仅好用,而且易
用。
这一节我们使用的例子是一个分频电路的设计。所谓分频电路是将较高频率的时钟分频,得到较低频率的时
钟,分频电路的使用较为广泛,例如,我们要编写一个显示时间的电路就需要一个分频器,将晶振的频率分频
得到1Hz的时钟信号。分频有几种方法,对于较为规则的分频,如2分频、4分频、8分频等可以调用ISE本身的
库函数来实现,对于较不规则的分频,我们也有两种方法,一种是利用计数器的某一位来作为分频输出,一种
是
计数器计数到某一数值时,分频时钟信号翻转来实现分频。两种方法的可以从其仿真结果得到。之所以选择这
个例子,是因为这里例子有实用价值并且设计本身简单,仿真也较为简单。好了,下面我们开始我们的设计。
考虑到初学者,这里的讲述较为详细,初学者可以按照如下步骤开始:1、运行
ModelSim,方法是点击开始->程序->ModelSim XE II 5.7c->ModelSim或双击桌面上的快捷方式,
会出现如图所示的界面,如果上一次使用ModelSim建立过工程,这时候会
自动打开上一次所建立的工程;
点击File->New->Project,会出现如图示的界面,在Project Name中我们输入建立的工程名字为
DivClkSimu,在Project Location中输入工程保存的路径为
D:/yuProj/modelsim/DivClk,注意ModelSim不能为一个工程自动建立一个目录,这里我
们最好是自己在Project Location中输入路径来为工程建立目录,在Default Library Name
中为我们的设计编译到哪一个库中,这里我们使用默认值,这样,在我们编译设计文件后,
在Workspace窗口的Library中就会出现work库。这里我们输入完以后,点击OK;
3、这时有对话框如图所示,提示我们给定的工程路径不存在,是否建立该路径,我们的目的就是为工程建立一个新目录,因此,点击确定;
3、这时有对话框如图所示,提示我们给定的工程路径不存在,是否建立该路径,我们的目的就是为工程建立一个新目录,因此,点击确定;
这时候出现如图所示的界面,可以点击不同的图标来为工程添加不同的项目,点击Create New File可以为工程添加新建的文件,点击Add Existing File为工程添加已经存在的文件,点击Create Simulation为工程添加仿真,点击Create New Folder可以为工程添加新的目录。这里我们点击Create New File;
这时候出现如图所示的界面,可以点击不同的图标来为工程添加不同的项目,点击Create New
File可以为工程添加新建的文件,点击Add Existing File为工程添加已经存在的文件,点击Create Simulation为工程添加仿真,点击Create New Folder可以为工程添加新的目录。这里我们点击Create New File;
出现界面如图所示,我们在File Name中输入DivClkHDL作为文件的名称,Add file as type为输入文件的类型为VHDL、Verilog、TCL或text,这里我们使用默认设置VHDL,Folder为新建的文件所在的路径,Top Level为在我们刚才所设定的工程路径下。点击OK;并在Add items to the Project窗口点击Close关闭该窗口;
`