热度 19
2013-2-22 13:02
2917 次阅读|
0 个评论
Modelsim 调用 Altera 仿真库方法总结 前言: M odelsim仿真工具在数字设计仿真中发挥着重要的作用,但是当设计中用到某些公司的IP时,在仿真的时候就要添加相应的文件,否则不能进行仿真。一般会用到Xilinx或者Altera公司的IP,故而下面简单介绍调用Altera公司仿真库的方法总结(参考网上资料总结): 方法一: 在仿真的文件中加入 altrea_mf.v 的文件( verilog 语言来说,现在基本上设计语言都是 verilog ),就可以直接仿真在 Altera FPGA 中定制 IP 核的工程。 方法二: 1. 设置仿真库路径 打开 ModelSim 安装目录 , 新建文件夹 altera (其他名字也行,自己记住就行了) ,我们就在该目录下存放预编译的各种 Altera 库。 启动 ModelSim SE ,在主窗口执行【 File 】 / 【 Change Directory 】命令将路径转到 altera 文件夹。或在命令行中执行 cd D:/ModelSim/Installfiles/altera 。 2. 新建库 Quartus II 中提供的仿真库文件存放的路径是 ...\altera\80\quartus\eda\sim_lib ,每个库文件提供了两种形式: .v(Verilog) 格式和 .vhd(VHDL) 格式两种,根据你所用的语言选择使用。用于编译资源库的文件有 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 为例介绍建立预编译库的方法。 注: ModelSim 中仿真库可以分为两大类:第一类是工作库 (working) ,默认值为 “work” 目录, work 目录中包含当前工程下所有被编译的设计单元,编译前必须建立一个 work 库,并且每个编译有且仅有一个 work 库;第二类是资源库 (resource) ,存储能被当前编译引用的设计单元,在编译期间允许有多个 resource 库。 在主窗口中选择【 File 】 / 【 New 】 / 【 Library 】命令,新建一个名为 altera_mf 的库。 3. 编译库 方便起见在 altera 文件夹下新建目录 src ,把用于编译资源库的文件复制到 src 文件夹中。 在主菜单中选【 Compile 】 / 【 Compile 】命令,弹出 Compile Source Files 对话框, library 中选择你刚才建立的库名 altera_mf ,查找范围你选择 altera_mf.v 文件,刚才你已经把它复制到了 ...\altera\src 目录下。执行编译命令。 继续按照步骤 2 和 3 中介绍的方法添加剩下的几个库。添加完成后如下图所示。 4. 配置 modelsim.ini 文件 这一步是为了将前面建立的库添加进系统库,以后就不用再重复添加了。 ModelSim 安装根目录下的配置文件 modelsim.ini 的只读属性去掉,用记事本或其他文本编辑程序打开。在 下修改前面 添加的库的路径。注意修改后关闭并改回只读属性。 注:第 1 步设置的仿真库路径必须在 ModelSim 的安装目录下才能事业能够此相对路径。 altera_primitives = $MODEL_TECH/../altera/altera_primitives 220model = $MODEL_TECH/../altera/220model altera_mf = $MODEL_TECH/../altera/altera_mf 5. 添加 Altera 底层硬件原语仿真库 (ATOM) 在时序仿真时,必须加载所使用到的对应于具体 Altera 器件的底层硬件原语的仿真库 (ATOM) 。 上面编译了 Altera 三个资源库文件: 220model.v,altera_mf.v,altera_primitives.v, 编译通过之后。根据我们选用的具体器件型号继续编译我们所需要的器件底层原语仿真库文件,比如我们选择使用的是 cycloneii ,所以编译 cycloneii_atoms.v 。 另外,在进行仿真的时候,还要注意将上述已经编译的相关库添加到当前的工程中,以便相关 lpm 之类的核的调用,操作如下:在 Start Simulation 窗口的 libraries 一栏下进行添加,如图: 然后再选择 work 目录中当前工程的顶层实体进行仿真即可。 若是要进行时序仿真,则还应在 SDF 一栏进行 .sdo 延时文件的添加