填入test bench的名字:rom_tb.点击file name右侧三个省略号一样的按钮:
来到工程目录下选中写好的testbench文件,点击OPEN按钮:
点击ADD按钮:
然后点击OK:
继续点击OK:
点击APPLY ,OK.
2,仿真
编译通过之后点击RTL simulation图标(在tool->simulation菜单下也可以找到) 随即就会调用MODELSIM进行仿真。要注意在这之前modelsim要处于关闭状态。
这个过程比较慢但是最终我们得到了仿真波形:
从波形来看,rom的功能正常,而且初始化成功。
Modelsim 有一个版本是modelsim-altera,quartus调用它会快一些。
(3)modelsim 直接仿真quartus II的IP核。
第二节的仿真方式显然不够灵活。
如果看过前面章节的介绍,已经可以猜到我们将通过关联IP核的库到work库的方法实现仿真。
这个方法网络上教程非常多,大体思路都是把220model.v、altera_mf.v、altera_primitives.v、cycloneii_atoms.v这几个库文件编译之后关联work库。
也可以把它们编译成modelsim的系统库。具体方法在下面的网址里: http://blog.sina.com.cn/s/blog_3f8b06cc01015h2f.html
可能是由于版本问题,我把这几个库关联之后依然得不到想要的波形。
下面介绍一种方式,就是通过quartus调用modelsim的方法获得编译库的信息,然后就知道需要哪些库了。
在上一节quartus 调用modelsim完成仿真之后,把transprint窗口的内容复制下来内容如下:
1,脚本记录文件
# Reading D:/Program Files/modeltech_10.1a/tcl/vsim/pref.tcl # // ModelSim SE 10.1a Feb 22 2012 # //
# // Copyright 1991-2012 Mentor Graphics Corporation # // All Rights Reserved. # //
# // THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION # // WHICH IS THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS # // LICENSORS AND IS SUBJECT TO LICENSE TERMS. # //
# do rom_run_msim_rtl_verilog.do # if ![file isdirectory verilog_libs] { # file mkdir verilog_libs # } #
# vlib verilog_libs/altera_ver
# ** Warning: (vlib-34) Library already exists at \#
# vmap altera_ver ./verilog_libs/altera_ver
# Copying D:\\Program Files\\modeltech_10.1a\\win32/../modelsim.ini to modelsim.ini # Modifying modelsim.ini
# ** Warning: Copied D:\\Program Files\\modeltech_10.1a\\win32/../modelsim.ini to modelsim.ini. # Updated modelsim.ini.
# vlog -vlog01compat -work altera_ver {d:/altera/11.1/quartus/eda/sim_lib/altera_primitives.v} # Model Technology ModelSim SE vlog 10.1a Compiler 2012.02 Feb 22 2012 # -- Compiling module global # -- Compiling module carry # -- Compiling module cascade # -- Compiling module carry_sum # -- Compiling module exp # -- Compiling module soft # -- Compiling module opndrn # -- Compiling module row_global # -- Compiling module TRI
# -- Compiling module lut_input # -- Compiling module lut_output # -- Compiling module latch # -- Compiling module dlatch # -- Compiling module prim_gdff # -- Compiling module dff # -- Compiling module dffe