以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长。自从前段时间,在自己电脑装MathType,360杀毒软件将它视为木马。我以为是360误报,直接将360安全卫士关闭了。后来,电脑上的软件一个接一个的出现问题,说是软件的某个文件被感染了。最后只能被迫重新装系统,装完后立刻装上ISE14.7,想着modelsim编译Xilinx器件库时间太久了,就不装了,先用ISE14.7自带的仿真工具ISIM。用了几天的ISIM,感觉实在不好用。这不,今天马上将modelsim10.2给装上了。也尝试了另外一种编译Xilinx器件库的方法,发现该方法好像编译时间更快了,全部编译完后,20分钟还不到。以前在ISE中直接编译大概需要半个小时到一个小时之间,不知道是不是错觉哈。现在,介绍下该编译器件库的方法。

(1)在开始菜单找到Xilinx Design Tools--->ISE Design Suite 14.7--->EDK--->Tools--->Compile Simulation Libraries,单击,如下所示:

(2)由于电脑上装的modelsim是SE版本的,故在选择仿真器那里选择ModelSim SE;此外,还要在下面选择modelsim执行文件的路径,其他参数默认,单击Next,如下所示:

(3)在硬件描述语言中,由于我只学过Verilog HDL,也只用Verilog HDL进行设计和仿真,故在为仿真选择硬件描述语言时选择Verilog,Next,如下所示:

(4)这一步是选择要进行编译的器件库,可根据自己需求进行选择,这里就全选了,Next,如下所示:

(5)为功能仿真和时序仿真选择库,这里把能选的都选上吧,其他两个空不用管,直接Next,如下所示:

(6)为生成的器件库选择存放的路径,这里在modelsim安装目录下新建xilinx_lib文件夹,并在下面的路径中指向这个文件夹,后面编译的器件库就放在这里了;其他参数默认;直接Launch Compile Process开始库的编译,如下所示:

(7)正在编译库中,如下所示。。。统计了一下时间,从开始编译到编译完成总共花了16分钟,相比于直接在ISE中直接编译库快多了,太快了(我电脑是i3的,买了四年了)。

(8)器件库编译完成后,给出了下面的总结信息,可以看出哪个库编译出现了错误和警告。虽然在edk库的编译中出现2个错误,但没有关系,直接Next,然后finish。

(9)但打开modelsim软件后并没有识别出刚刚编译好的器件库,如下所示:

(10)为了使modelsim能够识别器件库,还要做一下处理。找到存放器件库路径的modelsim.ini文件并打开,将48行~260行的内容用CTRL+C复制到剪贴板中,如下所示:

(11)然后再找到modelsim安装目录下自身的modelsim.ini文件,并去掉其只读属性(选中modelsim.ini文件,右键,属性),然后打开文件,将剪切板的内容复制到文件中去,接着关闭文件并将其只读属性勾上,如下所示:

(12)现在重新打开modelsim软件,发现器件库已经被识别了,如下所示:

至此,任务已完成!!!

转载至:http://blog.chinaaet.com/crazybird/p/40361

modelsim编译Xilinx器件库的另一种方法(节省时间)的更多相关文章

  1. Modelsim编译Xilinx器件库的另一种方法

    由 xooo 于 星期五, 09/18/2015 - 15:35 发表 以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有 ...

  2. VC中加载LIB库文件的三种方法

    VC中加载LIB库文件的三种方法 在VC中加载LIB文件的三种方法如下: 方法1:LIB文件直接加入到工程文件列表中   在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中&quo ...

  3. Quartus调用Modelsim SE避免重复编译Altera器件库的方法

    最近用Quartus 15.0配合Modelsim SE 10.4的64位版本,简直就是闪电一般的仿真速度.但是众所周知,SE版本最大的问题就是每次由Quartus自动调用时,都要重新编译所使用的器件 ...

  4. 每天进步一点点------Modelsim添加Xilinx仿真库的详细步骤

    Modelsim,可以选型SE和XE两个版本.Modelsim XE可以直接被ISE调用,而Modelsim SE需要手动添加仿真库.但SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的 ...

  5. Qt 添加外部库文件(四种方法)

    Qt添加外部库文件, 一种就是直接加库文件的绝对路劲,这种方法简单,但是遇到多个库文件的时候,会很麻烦,而且,如果工程移动位置以后还需要重新配置 另一种就是相对路径了,不过Qt 编译的文件会在一个单独 ...

  6. modelsim编译altera的库

    http://www.cnblogs.com/LJWJL/p/3515586.html 在modelsim的安装目录下,把配置文件modelsim.ini的只读属性去掉,然后在modelsim中运行T ...

  7. linux c++ 加载动态库常用的三种方法

    链接库时的搜索路径顺序:LD_LIBRARY_PATH --> /etc/ld.so.conf --> /lib,/usr/lib 方法1. vi .bash_profile    设置环 ...

  8. vs 添加第三方库lib的两种方法

    方法一1.代码: 方法二2.配置: 首先包含头文件 #include “../DuiLib/UIlib.h” 连接器->常规-->附加库目录.即是将lib所在的目录,千万要记得,还要写一处 ...

  9. linux用命令行编译使用函数库

    同步于气象家园日志 from fcode 视频 编译静态链接库   gfortran -c sub.f90 func.f90  产生了func.mod文件.注:mod文件是静态库的接口.如果删掉了fu ...

随机推荐

  1. 【Linux】文件夹及作用说明

    Tips Linux关机注意事项: 远程重启服务前,先停止相关服务 使用安全命令重启shutdown –r now,该命令在重启时会正常保存和终止服务器上正在运行的程序 不建议在本地直接对远程服务器关 ...

  2. 在spring boot微服务中使用JWS发布webService

    发布时间:2018-11-22   技术:Java+spring+maven   概述 在springboot微服务中使用JWS发布webService,在服务启动时自动发布webservice接口. ...

  3. 生命周期方法调用,以及在onStop()方法中处理草稿信息

    生命周期方法调用顺序 1. 从会话列表界面跳转到信息列表界面. 07-17 17:29:18.718: I/txrjsms(19370): MessageListActivity.onCreate 0 ...

  4. 【PHP采集】php采集、[\s\S]的使用、正则获取 换行字符串或html块

    1.如图,我想要获取 红框框中的html内容,但是普通的正则一直获取不到: 2.原因剖析:因为html换行了,所以直接 /<h3 class=\"s_name\"(.+?)& ...

  5. 推荐系统 SVD和SVD++算法

    推荐系统 SVD和SVD++算法 SVD:   SVD++: [Reference] 1.SVD在推荐系统中的应用详解以及算法推导 2.推荐系统——SVD/SVD++ 3.SVD++ 4.SVD++协 ...

  6. 消息队列状态:struct msqid_ds

    Linux的消息队列(queue)实质上是一个链表, 它有消息队列标识符(queue ID). msgget创建一个新队列或打开一个存在的队列; msgsnd向队列末端添加一条新消息; msgrcv从 ...

  7. fedora装机后要运行的脚本(原创)

    脚本:sh.sh #!/bin/zsh #安装rpmfusion源 dnf config-manager --add-repo=http://repo.fdzh.org/FZUG/FZUG.repo ...

  8. mysql insert if not exists防止插入重复记录的方法(转)

    MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当 ...

  9. 【java】JVM的内存区域划分

    学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行 ...

  10. 获取资源文件 r.drawable中的图片转换为drawable、bitmap

    1. Resources resources = mContext.getResources(); Drawable drawable = resources.getDrawable(R.drawab ...