ModelSim SE简明操作指南 批处理模式仿真必须运行在DOS或UNIX提示符下。
1. 生成一个新目录,设置成当前工作目录。拷贝..\examples\counter.vhd到该目录下。
2. 生成一个新的设计库:vlib work
3. 映射库:vmap work work
4. 编译源文件:vcom counter.vhd
5. 使用宏文件为计数器提供激励。拷贝..\example\stim.do文件到当前工作目录中。
6. 生成批处理文件,内容为:
add list –decimal *
do stim.do
write list counter.lst
7. 执行下面的命令,运行批处理模式仿真:
vsim –do yourfile –wlf saved.wlf counter
"在名为“counter”的设计单元调用vsim仿真器
"通过-wlf这个可选项通知仿真器在名为saved.wlf的日志文件中保存仿真结果
"运行yourfile指定:值以十进制的方式列示出来;执行名为stim.do的激励;并将结果写到名为counter.lst的文件中。缺省的设计名为counter。
8. 浏览仿真结果 vsim –view saved.wlf
9. 打开一些窗口 view signals list wave
10. 在窗口中放置信号 add wave *
add list *
11. 运用Variables windows实验保存的仿真结果。完成了结束仿真:
quit –f
有关批处理和命令行模式更多的信息,请参阅ModelSim User’s Manual。第七课 Executing Commands at startup
本课与第六课所介绍的工作于相同的目录,也是以命令行方式操作。
1. 这里将用到宏文件(DO)提供启动信息。拷贝..\examples\startup.do到当前工作目录。
2. 拷贝modeltech目录下的modelsim.ini文件到当前工作目录。然后编辑该文件,指定一个在设计导入之后被执行的命令。用notepad打开ini文件,取消下属语句的注释,它位于文件的[vsim]部分:(修改后保存)
Startup=do startup.do
3. 浏览这个DO文件,可以发现它用了一个预定义变量$entity来为不同的设计在启动时作不同的事情。
4. 键入以下指令指定将被仿真的顶级设计单元,开始仿真:vsim counter
注意到没有显示对话框仿真器就导入了设计单元。对于一再地仿真同一个设计单元,这样做是很便捷的。还可以注意到所有的窗口都打开了,这是因为命令view *包括在启动宏里面。
5. 结束ModelSim,执行quit –f命令。
6. 在其他例子中是不需要startup.do文件的,所以用文本编辑器注释掉modelsim.ini文件中的Startup这一行。第八课 Finding names and values
Finding items by name in tree windows
你可以使用各个窗口(List,Process,Signal,Source,Structure,Variables,and Wave window)中的查找对话框找寻你需要的HDL条目。Edit\FindSearching for item values in the List and Wave windows
你可以在List and Wave windows中搜寻HDL条目的值。Edit\Search你能够为Signal Name(s)定位值,搜寻基于以下的选项:"Search Type:Any Transition搜寻选取信号的任何变化
"Search Type:Rising Edge搜寻选取信号的上升沿
"Search Type:Falling Edge搜寻选取信号的下降沿
"Search Type:Search for Signal Value
搜寻Value域中指定的值(符合VHDL or Verilog的数值格式)
"Search Type:Search for Expression
搜寻评测一个布尔真值的Expression域中的表达式
表达式可以调用一个以上的信号,但是限制在纪录于List windows上的信号。表达式可以包括常量、变量和Tcl宏。如果没有指定表达式,搜寻将返回一个错误。参阅ModelSim Command Reference以获取更多关于表达式语法的信息。
"Search Options:Match Count
你能够搜寻关于值的第n个变化或者是第n个匹配。Match Count指示了搜寻到的变化或匹配的数量。
"Search Options:Ignore Glitches
忽略VHDL信号和Verilog网表中的零宽度的脉冲干扰。ModelSim SE简明操作指南(4)第四章 使用中的注意事项1. 如果打开ModelSim,没有出现Welcom to ModelSim对话框,可以在主窗口点击Help \ Enable Welcome,则以后打开ModelSim就会出现该对话框。
2. 在工作区底部的状态栏里会显示一些有用的信息。
3. 操作哪个目录中的文件一定要定位到该目录,或者是设置为当前工作目录。
4. 不能用UNIX或window命令来生成work子目录,因为里面没有_info文件,只能用菜单或vlib命令。
5. 断点只能设置在可执行的行上,这些行以绿色行号指示
6. 在Basic Verilog Simulation一课里面,编译两个文件的次序是不重要的(不同于被编译器指示生成的源码的从属性)。Verilog-Xl的用户可能再次感到奇怪,他们了解设计单元之间的接口检测或是编译器指示的继承关系上可能存在的问题。ModelSim推迟了这样的检测,直到设计被导入。所以在这里,如果你选择在tcounter.v之前或之后编译counter.v不存在任何问题。
7. 一组Verilog文件可以以任意次序编译,但是在一个混合VHDL/Verilog设计中,Verilog文件必须在VHDL文件值前编译。
8. force命令可以驱动clk,相当于给仿真初始化。
1. 路径选择
启动modelsim se仿真工具,在主窗口中选择【file】→【change directory】命令,将工作目录改变到你想存放仿真库的目录,点击【ok】.
2. 创建仿真库
在生窗口中选择【file】→【new】→【library】命令,在弹出的【create a new library】窗口中将选项【create】设置为【a new library and a logical mapping to it】,在【libryr name】和【library physical name】中键入所要创建库名字,如altera_library, ,此时在主窗口中已多了一个altera_library(empty)项; 注:这个过程实质上想当于在modelsim主窗口中的脚本区域中输入了vlib和vmap命令.
3. 编译库
在workspace中的library中选中你健入的库名altera_library(empty),在主菜单中选【compile】→【compile】命令;在弹出窗口compile source file窗口中的【libaray】下拉菜单中选中你的库名,在【查找范围】中选择quarturs安装目录\quarturs\eda\sim_lib文件夹下,对它下面的8个文件进行编译,一要编译两次或分两次编译,方法一:先选8个文件,点击【compile】,这次有错出象,完成后再点击【compile】,编译成功, 点击【done】;方法二:先编译220pack,再编译altera_mf_componenta.vhd,然后编译其它6个文件, 点击【done】
4. 配制modelsim
将modelsim根目录下的配制文件modelsim.ini的属性只读改为可写,这可使软件记录仿真库的路径以及映射关系,以后每次启动modelsim时,就会根据ini文件中的本身寻找仿真库,并且形成映射关系, 注:如果启动时出象”仿真库名(unavailable)”可选中它,点右键选择【edit】指定路径; 到些仿真库已创建,以后对altera设计仿真都不需要做库处理了;5. 后仿真配制
如果要做后仿真;就要把你用的系列库和quartursii生成文件一起编译即可,例如你用的是altera的max7000比利时列,就要加quartursii安装目录\quarturs\eda\sim_lib下的max_atoms;vmax_atoms.vhd;max_components.vhd加这三个文件一起编译; 注:在做仿真前建project时,在项目窗口default library name项中键入quartursii生成仿真文件的默认名。
关键词:
ModelSim
简明
操作指南
仿真
目录
设计