由 xooo 于 星期五, 09/18/2015 - 15:35 发表

以前在用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://xilinx.eetrend.com/blog/9146

Modelsim编译Xilinx器件库的另一种方法的更多相关文章

  1. modelsim编译Xilinx器件库的另一种方法(节省时间)

    以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长.自从前段时间,在自己电脑装MathType,360杀毒软件将它视为 ...

  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. redis常用命令记录

    cd App/opt/redis/bin/ ./redis-cli 1.查看所有key值 keys 前缀* 2.删除指定key值 删除一条 del key全名 删除多条 exit ./redis-cl ...

  2. android实现六边形等不规则布局

    在去年广告机项目中,UI设计出一个比较华丽的UI,但是对于我来说无从下手,我试过view的叠加并设置外边距实现,虽然勉强可以实现,但是获取单击焦点是有很多问题: 效果图如下: 最后只有另外想办法:我对 ...

  3. locate 命令(转)

    原文:http://www.cnblogs.com/peida/archive/2012/11/12/2765750.html locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法 ...

  4. jdbc第三天

    事务 什么是事务? 转账: 1. 给张三账户减1000元 2. 给李四账户加1000元 当给张三账户减1000元后,抛出了异常!这会怎么样呢?我相信从此之后,张三再也不敢转账了. 使用事务就可以处理这 ...

  5. [Done]ftp使用小结

    基本命令: put 本地文件名 ftp文件名 get ftp文件名 本地文件名 mget ftp文件多个文件  注意使用该命令时先用 lcd切换本地路径 还有一些常用的  ls mkdir 等,参考 ...

  6. Drupal的$messages是怎么显示的?

    Drupal的默认主题bartik会在页面顶部显示系统信息,例如警告.状态等.这个过程是如何实现的? 首先,在bartik目录下找到page.tpl.php,这是bartik主题的页面显示模板.其中有 ...

  7. IT忍者神龟之 oracle行转列、列转行

    一.行转列 须要将例如以下格式 转换为: 这就是最常见的行转列,主要原理是利用decode函数.聚集函数(sum).结合group by分组实现的 create table test( id varc ...

  8. PC端轻松控制Android手机,PC Control Andoroid,PC控制安卓手机

    记录此次经历的目的是帮助需要的人或下次使用时少走弯路,我为此试用了不少工具及方法,因为追求免费,像"Weak Control:在PC上控制你的Android手机"还要收费的我就不弄 ...

  9. Ant build xml中的各种变量解释

    Ant build.xml中的各种变量 Ant环境变量分为四种: 1.      build.properties文件中定义的变量 2.      build.xml文件中定义的变量, 3.      ...

  10. EF GroupBy 分组 取某条的 总数

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...