建立仿真库的方法有两种。一种是在用户界面模式下,点File->New->Library出现下面的对话框,选择a newlibrary and a logical mapping to it,在LibraryName内输入要创建库的名称,然后OK,即可生成一个已经映射的新库。另一种方法是在Transcript窗口输入以下命令:
vlib work
vmap work work
图4 建立仿真库
如果要删除某库,只需选中该库名,点右键选择Delete即可。
需要注意的是不要在modelsim外部的系统盘内手动创建库或者添加文件到库里;也不要modelsim用到的路径名或文件名中使用汉字,因为modelsim可能无法识别汉字而导致莫名其妙的错误。
3.3.2编写与编译测试文件在编写Testbench之前,最好先将要仿真的目标文件编译到工作库中,点Compile->Compile或,将出现下面的对话框,
图5 编译目标文件
在Library中选择工作库,在查找范围内找到要仿真的目标文件(Library选择刚才建立的库,查找范围选择目标文件所在的文件夹),然后点Compile和Done;或在命令行输入vlogCounter.v。此时目标文件已经编译到工作库中,在Library中展开work工作库会发现该文件。
当对要仿真的目标文件进行仿真时需要给文件中的各个输入变量提供激励源,并对输入波形进行的严格定义,这种对激励源定义的文件称为Testbench,即测试台文件。下面先讲一下Testbench的产生方法。
方法一:我们可以在modelsim内直接编写Testbench,而且modelsim还提供了常用的各种模板。具体步骤如下:
图6 应用模板生成 Testbench文件
双击Creat Testbench会出现一个创建向导,见下图。
图7 创建向导
选择Specify Design Unit工作库下,work工作库下的目标文件,点Next,出现下面对话框:
图8 设置Testbench向导
可以指定Testbench的名称以及要编译到的库等,此处我们使用默认设置直接点Finish。这时在Testbench内会出现对目标文件的各个端口的定义还有调用函数接下来,设计者可以自己往Testbench内添加内容了(有注释的为添加的内容),然后保存为.v格式即可。按照前面的方法把Testbench文件也编译到工作库中。
图9 生成及修改后的Testbench文件
方法二:在 Quartus II 内编写并编译 Testbench ,之后将 Testbench和目标文件放在同一个文件夹下,按照前面的方法把 Testbench 文件和目标文件都编译到工作库中之后。
PS:如果在工作库中没有该文件(在Testbench文件没有端口的情况下),则在Simulate——>StartSimulate卡片中去掉优化选项,如下图所示。之后再重新编译,即可在工作库中找到该文件。
图10 去掉优化选项
3.3.3执行仿真 因为仿真分为前仿真和后仿真,下面分别说明如何操作。
⑴ 前仿真前仿真,相对来说是比较简单的。在上一步我们已经把需要的文件编译到工作库内了,现在我们只需点simulate->StartSimulation或快捷按钮 会出现start simulate对话框。点击Design标签选择Work库下的 Testbench文件,然后点 OK 即可,也可以直接双击 Testbench文件Counter_tb.v,此时会出现下面的界面。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-38414-2.html
我辈仍需努力
一个重庆市里生活的大学生
全中国人民都坚持