1、Modelsim仿真教程一、前期准备1、正确安装好modelsim和quartus软件。我用的平台的版本是Modelsim SE 10.1和Quartus II 10.1。2、在ModelSim中加入Quartus提供的仿真库在ModelSim中进行仿真需要加入Quartus提供的仿真库,原因是下面三个方面:Quartus不支持Testbench;调用了megafunction或者lpm库之类的Altera的函数;时序仿真要在Modelsim下做仿真。下面以Altera器件为例,介绍如何在ModelSim中加入Altera的仿真库,Quartus II软件中自带有Altera的仿真库,只要把它
2、拿到ModelSim中去编译一下就可以了,具体步骤如下:(1).设置仿真库路径打开ModelSim安装目录(我用的是ModelSim SE 10.1版本,安装在C:modeltech_10.1目录下),新建文件夹altera,我们就在该目录下存放预编译的各种Altera库。启动ModelSim SE ,在主窗口执行【File】/【Change Directory】命令将路径转到altera文件夹。(2).新建库Quartus II中提供的仿真库文件存放的路径是 altera10.1sp1quartusedasim_lib,每个库文件提供了两种形式:.v(Verilog)格式和.vhd(VHDL
3、)格式两种,根据你所用的语言选择使用。用于编译资源库的文件有220model.v,220model.vhd,220pack.vhd,altera_mf.v,altera_mf.vhd,altera_mf_components.vhd,altera_primitives.v,altera_primitives.vhd,altera_primitives_components.vhd文件。网上的很多教程都是把这些文件一起编译,这样适用于Verilog和VHDL混合仿真,但如果只用一种语言,如Verilog则完全没必要全部编译。下面以该目录下的altera_mf.v为例介绍建立预编译库的方法。注:M
4、odelSim中仿真库可以分为两大类:第一类是工作库(working),默认值为“work”目录,work目录中包含当前工程下所有被编译的设计单元,编译前必须建立一个work库,并且每个编译有且仅有一个work库;第二类是资源库(resource),存储能被当前编译引用的设计单元,在编译期间允许有多个resource库,这节所讲的都是添加altera资源库。在主窗口中选择【File】/【New】/【Library】命令,新建一个名为altera_mf的库。(3).编译库方便起见在altera文件夹下新建目录src,把用于编译资源库的文件复制到src文件夹中。在主菜单中选【Compile】/【C
5、ompile】命令,弹出Compile Source Files对话框,library中选择你刚才建立的库名altera_mf,查找范围你选择altera_mf.v文件,刚才你已经把它复制到了.alterasrc目录下。执行编译命令。继续按照步骤2和3中介绍的方法添加剩下的几个库。添加完成后如下图所示。1、(4).配置modelsim.ini文件这一步是为了将前面建立的库添加进系统库,以后就不用再重复添加了。ModelSim安装根目录下的配置文件modelsim.ini的只读属性去掉,用记事本或其他文本编辑程序打开。在Library下修改前面添加的库的路径。注意修改后关闭并改回只读属性。注:第
6、1步设置的仿真库路径必须在ModelSim的安装目录下才能能够用此相对路径。altera_primitives = $MODEL_TECH/altera/altera_primitives220model = $MODEL_TECH/altera/220modelaltera_mf = $MODEL_TECH/altera/altera_mf2、如果有需要,读者可以按此方法建其他资源库。这个所谓的前期准备不是必须的前期准备,大家可以在做具体的仿真工程中再建,只不此方法是是为了把这些新建的库添加到系统库中,这样就不用再在具体仿真的时候重复添加。二、功能仿真实例3、新建一个文件夹用于存放仿真工程。
7、4、执行【File】/【Change Directory】命令将工作路径转到你新建的文件夹下。5、新建一个工程。【File】/【new】/【project】,输入工程名。按OK后弹出如下对话框,如果你有编写好的.V文件可以在此添加,或者直接新建文件。4、再这里我选择新建一个文件counter.v和一个测试文件counter_tb.v代码如下:5、选择文件,右键/compile/compile all .6、开始仿真。菜单栏选择【simulate】/【start simulation】,在star simulation选项卡中的Design选项中选择测试文件counter_tb,点击【optimization options】在【visibility】中做如下选择:在libraries选项中添加需要的仿真库点击OK开始仿真。然后添加波形。执行【simulate】/【run】/【run 100】仿真一百个时间单位。或者点击工具栏中的run按钮 。仿真结果如下: