# modelsim如何仿真Altera IP
## 建立仿真库
我们将IP核等相关库文件编译到Modelsim中后,以后凡是设计中调用到IP核时,我们就不用再重复添加了。我们看一下如何在Modelsim中查看我们已经编译好的库,打开modelsim,如下图,会默认弹出名为library的窗口,窗口中的内容就有我们已经添加的库,一部分是Modelsim自带的库。
下面我们开始准备添加相关库文件。
第一步,首先在新建一个文件夹,用来存放我们编译后的库文件,这里命名为altera_lib,我们这里存放到了“C:\modeltech64_10.2c\”路径下,然后在altera_lib下新建四个文件夹lpm、altera_mf、altera_primitive、cyclone,如下图,后面我们会建立四个对应且相同名称的库。
第二步,建立库,我们以添加IP核库文件(altera_mf)为例进行介绍。首先打开Modelsim,选择菜单 File—>New—>Library。这里我们介绍一下“库”的概念,库实际就用来存放编译结果的一个文件夹,他最终都和我们实际硬盘上的物理空间的文件夹是一一对应的,在第五章我们提到过工作库(work库),存放的是我们自己设计文件的编译结果。
第三步,弹出新建库的窗口,我们选择第三项“a new library and a logical mapping to it”,即创建一个新库,并映射到我们硬盘的相应路径下。Library Name填写相应的库名称“altera_mf”,Library Physical Name中填写我们第一步中新建库对应文件夹的存放路径。这里altera_mf对应文件夹路径为“C:\modeltech64_10.2c\altera_lib\altera_mf”。然后点击确定。
口下,大家可以看到新建的altera_mf库,不过此时库文件为空的。如下图。
.
第五步,编译相应文件到库中,我们这里需要将相关IP核文件编译到altera_mf库中去。菜单栏选择compile—>compile…,弹出如下窗口,首先选择待编译的库library,这里选择我们刚新建的库“altera_mf”,然后找到在quartus安装目录下,找到Altera提供的关于altera IP核的编译文件altera_mf.v,路径为“altera\13.1\quartus\eda\sim_lib”。最后点击compile,完成编译后,关闭。此时可以看到library窗口下,altera_mf库不再是一个空的库。
第六步,重复2-5步,依次建立lpm、altera_primitive、cyclone三个库。对应的编译文件依次是220model.v(lpm)、altera_primitives.v(altera_primitive)、cycloneiv_atoms.v(cyclone库,这里我们只添加了cyclone4的库文件)。添加完成后可以在library中看到四个库,如下图。
第七步,找到Modelsim安装路径下的modelsim.ini文件,去除文件的只读属性,然后打开, 将上一步中的四个库的名称及路径以下图的方式,添加到57行后。关闭文件,再设置为只读属性。注意路径是反斜杠。
至此,我们已经将altera相关的库文件添加到了Modelsim SE中了。