向modesim中添加alter库 (或者在每次仿真时将库文件加入仿真文件夹一起编译)
在ModelSim中进行仿真需要加入Quartus提供的仿真库,原因是下面三个方面:
·Quartus不支持Testbench;
·调用了megafunction或者lpm库之类的Altera的函数;
·时序仿真要在Modelsim下做仿真。
下面以Altera器件为例,介绍如何在ModelSim中加入Altera的仿真库,Quartus
II软件中自带有Altera的仿真库,只要把它拿到ModelSim中去编译一下就可以了,具体步骤如下:
1.设置仿真库路径
打开ModelSim安装目录(我用的是ModelSim SE
6.5版本,安装在D:\ModelSim_6.5b目录下),新建文件夹altera,我们就在该目录下存放预编译的各种Altera库。
启动ModelSim SE 6.5,在主窗口执行【File】/【Change Directory】命令将路径转到altera文件夹。或在命令行中执行cd
D:/ModelSim_6.5b/altera。
2.新建库
Quartus
II中提供的仿真库文件存放的路径是...\altera\91\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的只读属性去掉,用记事本或其他文本编辑程序打开。在[Library]下修改前面添加的库的路径。注意修改后关闭并改回只读属性。
注:第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。
当然,在进行具体的仿真的时候,还有注意将这些已经编译的仿真库添加到当前工程中,具体是:打开Start
Simulation窗口,在Libraries栏中将相关仿真库Add进去即可,然后就可以进行相关的仿真了。

若是要进行时序仿真,则还应在SDF一栏将相关的.sdo延时文件添加进去,然后再进行仿真。
向modesim中添加alter库 (或者在每次仿真时将库文件加入仿真文件夹一起编译)的更多相关文章
- Link Binary With Libraries中添加的时候 也找不到libz.dylib 库
接到一个项目4个静态库找不到 在 Link Binary With Libraries中添加的时候 也找不到libz.dylib 郁闷了 原来是ios9后 原来的dylib后缀名的库全部修改tbd ...
- 如何在我自己的web 项目的jsp页面中添加链接,直接让别人通过内网在我的电脑上下载文件
今天接到一个任务,将昨天年会的视频,音频,图片等放在公司自己的服务器上,使连接同一个路由器的(即同一个内网)的同事可以通过内网下载视频(通过内网下载,可以提高下载速度). 备注:本次用的是tomcat ...
- 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?
在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "StdAfx.h"”? 右键选择该文件.cpp格式的->属性->预编译头,→ 不使用预编译 ...
- MFC中添加OpenGL
WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单 ...
- (原)netbeans中添加anaconda3安装的opencv
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/9974310.html 新装了ubuntu16.04后,直接安装了anaconda3,调试c++程序时 ...
- 用Retrofit发送请求中添加身份验证
用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”? 解决方法
错误描述: fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "StdAfx.h"”? 错误分析: 此错误发 ...
- VS2010在空解决方案中添加项目
如题,在空解决方案中添加第一个项目的时候会看不到那个solution解决方案文件,而是你当前添加的项目,当你再添加其他项目的时候就悲催了,找不到这个solution,只能在这个项目文件上新加文件,很郁 ...
- 在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...
随机推荐
- Support Vector Machine (2) : Sequential Minimal Optimization
目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...
- Linux 之加密类型,CA,Openssl,Openssh
TCP/IP:安全 A------->B 机密性:明文传输(ftp,http,smtp,telnet),被窃听 完整性:消息被篡改 身份验证:你访问的主机就是你真实要访问的那台,而不是钓鱼网站 ...
- 树莓派使用MJPG-Streamer实现网络监控
http://blog.sina.com.cn/s/blog_abd39cc70102vrdt.html ——————————————————————————————————————————————— ...
- Apache Server 添加虚拟主机(Virtual Host )
当前许多虚拟服务器如阿里云的ECS服务器,都提供各式各样的虚拟机,常见的有Linux.Windows等,如果我们使用了Apache Server作为虚拟机的Web服务器,并且我们希望多个web应用程序 ...
- jquery-1.3.2.js
Uncaught SyntaxError: Unexpected identifier
- Angularjs学习笔记(五)----显示和格式化数据
一.引用指令 在AngularJS的文档中,所有指令的名字以驼峰命名法.而在模板中,则需要以蛇形命名法.可以以冒号分割(ng:model)或下划线分割(ng_model),更常见的是以ng-model ...
- mac下webpagetest搭建
我的server和agent都是在mac上搭建的,所以会和linux下有些不同 一.安装配置Apache和PHP webpagetest需要使用PHP和Apache启动服务.mac默认安装了Apa ...
- [转载] Android动态加载Dex机制解析
本文转载自: http://blog.csdn.net/wy353208214/article/details/50859422 1.什么是类加载器? 类加载器(class loader)是 Java ...
- Camstar Portal modeling user guid --设置本地时间
登陆--studio --portal settings -- timezone settings 里面有EST 和EDT两个时间. 现在要设置为北京时间(08:00) 原文: Localizatio ...
- iOS中UITableView使用总结
链接:http://www.open-open.com/lib/view/open1430008922468.html