Modelsimse10.4如何编译altera库文件以支持IP仿真
前言
se版本默认没有ip之类的库支持,如果你用到了pll之类的ip,仿真前就得把库编译好。
版本:Modelsim10.4se
流程
readme:实现有版本两个,任选。理论都是一样的,把v文件编译到Modelsim库中。第一个版本采用多个文件夹(库)的方式,第二个版本采用单个文件夹(把所有你需要的库编译到这个文件夹中),除非你分别挂载库,版本1比较合适,像我这种懒人,全部挂载库比较方便拉。
1.版本一:
本例用的是altera的verilog库(cycloneⅣE器件库)。
1.首先在modelsim安装目录下新建altera文件夹,编译的库将存放在此。把D:\workfile\Quartus\quartus\eda\sim_lib文件夹下你需要的库文件拿出来放入altera文件夹下:

在altera文件夹下新建文件夹(不需要貌似,当你在Modelsim中新建库的时候,会自动创建相关文件夹):

altera_mf_ver:编译altera_mf.v
altera_ver:编译altera_primitives.v
cycloneive_ver:编译cycloneive_atoms.v
lpm_ver:编译220model.v
sgate_ver:编译sgate.v
2.打开modelsimse编译库文件:
改变目录到altera目录:

新建库,依次新建好上述的库,名字按照上述的名字更改:


分别编译对应的v文件到对应的库中:

3.配置modelsim.ini文件:
去掉modelsim.ini文件的只读属性,编辑添加库文件位置

保存,恢复modelsim.ini的只读属性。
4.打开modelsimse看结果,或者你仿真个ip检验也是可以的。

版本二
第一个版本操作个人感觉操作繁复,索性把所有需要用到的库编译到一个文件夹中(库),以下主要编译cycloneⅣE的器件库。
原理大抵是一样的。只是新建库的时候,只新建一个,并把所有的器件库v文件编译到cyclone34文件夹中(名字瞎起的2333):
参照版本一:
1.改变目录到altera目录。
2.新建库:cyclone34。
3.编译所有的v文件到这个库中。
4.更改ini文件。
所以脚本中挂载库只需要挂载一个库即可:

以上。
Modelsimse10.4如何编译altera库文件以支持IP仿真的更多相关文章
- Modelsimse10.1如何编译altera库文件以支持IP仿真
前言 se版本默认没有ip之类的库支持,如果你用到了pll之类的ip,仿真前就得把库编译好. 流程 本例用的是altera的verilog库. 1.首先在modelsim安装目录下新建altera文件 ...
- 提高编译速度! 第一次运行需要注释掉,不然会报错,因为需要编译SO库文件 !
// 提高编译速度! 第一次运行需要注释掉,不然会报错,因为需要编译SO库文件 ! tasks.whenTaskAdded { task -> if (task.name.contains(&q ...
- Makefile 编译动态库文件及链接动态库
本文为原创文章,转载请指明该文链接 文件目录结构如下 dynamiclibapp.c Makefile comm/inc/apue.h comm/errorhandle.c dynamiclib/Ma ...
- Makefile 编译静态库文件及链接静态库
本文为原创文章,转载需指明该文链接 1.代码目录结构如下: comm/ comm/inc/apue.h 3 atexit.c Makefile 5 staticlib/lib/ staticlib ...
- [笔记]Modelsim系列01:编译Altera库的方法
意义:一劳永逸,不用每次对那些包含Quartus II生成文件的工程进行功能仿真时,都需要重新编译一堆东西.节约时间成本. 版本:ModelSim SE 6.5d 打开Modelsim软件,默认会打开 ...
- FFmpeg编译找不到库文件
在编译FFmpeg的时候,用./configure 进行配置,经常会出现找不到库文件的情况,原因大概就两个: 1.没有安装库文件或者安装的库文件版本不对 2.FFmpeg没有找到库文件 前者的问题好解 ...
- vs 编译库文件
vs编译的库文件 静态库 debug和release版本 需要分开编译,我编译和实践的结果. 但是我也发现有的debug release都用同一个(搞不清楚). 然后添加到工程应用. 静态库 附件 ...
- ios编译库文件时出现的问题
1. 警告:directory not found for option "xxxxxxxx" 文件路径未找到 选择工程, 编译的 (targets) 选择 Build Setti ...
- VS2017编译boost库
1.http://www.boost.org/ 下载boost库. 2.解压到 D:\ProgramFiles\boost 3.环境配变量配置 VS2017更加注重跨平台性,安装文件较 ...
随机推荐
- i++ 相比 ++i 哪个更高效?为什么?
++i的效率高些,++i在运算过程中不产生临时对象,返回的就是i,是个左值,类似++i=1这样的表达式是合法的,而i++在运算的过程中会产生临时对象,返回的是零时对象的值,是个右值,像i++=1这样的 ...
- java----牛客练习
1. 形式参数就是函数定义时设定的参数.例如函数头 int min(int x,int y,int z) 中 x,y,z 就是形参.实际参数是调用函数时所使用的实际的参数. 真正被传递的是实参 ...
- H5 62-浮动元素字围现象
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- springboot在yml中配置控制台sql打印方法小结
方法一: logging: level: debug level.io.renren: debug path: logs/ file: admin.log 方法二 logging: leve ...
- 访问修饰符 public private protected default
- semantic-ui 标题
在semantic-ui中定义了5中标题样式,注意HTML中有h1-h6,而semantic-ui中只有h1-h5. 不过需要注意的是,semantic-ui的标题仍旧使用h1-h5来表示,但是在cl ...
- http1.0 1.1 与2.0
长连接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接. HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一 ...
- laravel创建项目
composer create-project --prefer-dist laravel/laravel=5.5.* blog
- python中的__init__和__new__的区别
一.__init__ 方法是什么?(init前后的线是双下划线) 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例 ...
- shiro使用ajax登陆实现,success但页面无法跳转的问题
首先:简述一下登陆的后台流程 页面提交——>对应controller中的方法——>对应Realm认证——>controller返回 json 这样,无论成功与否,都有返回值,可以用 ...