⑴ 如何用ModelSim se完全编译Xilinx库文件
Modlesim 仿真库的建立:
将Modelsim根目录下的modelsim.ini的属性由只读改为可写。
新建一个文件夹,比如library(为叙述方便,把它放在modelsim的根目录下)。D:/modelsim/library.
启动Modelsim,选择[File]/[chang Directory],选择D:/modelsim/library.
选择[File]/[New]/[library]命令,弹出[Creat a New library],在[lihrary Name]中输入“simprims_ver”,同时下一栏也自动输入“simprims_ver”,单击OK。
在主窗口中选择[compile]/[Compile]命令,弹出[compile Source Files],在[Library]的下拉列表中选择“simprims_ver”在[查找范围]中选中[Xilinx/veriog/src/simprims]目录下的全部文件,单击complie进行编译。(这时可能会花你一些时间,耐心等待编译完毕)用同样的方法将unisims和Xilinxcorelib三个仿真库进行编译。
这时在D:/modelsim/library 下就有以上三个仿真库。
7.总结步骤为a:建立库的放置路径b:对库进行编译c:对库进行映射。最后重新启动Modelsim可以在列表中看到建立的三个库。
那么这个办法明显是比较麻烦的。其实我们可以这样做;
首先将modelsim.ini文件只读模式去掉,存档前面打对勾。
在您安装ise的目录下,进入到bin
t目录下,例如e:ise6in
t,确认有compxlib这个程序
在cmd中运行compxlib -s mti_se -f all -l all -o e:modeltech_6.0xilinx_libs就可以了,e:modeltech_6.0是我安装modelsim的目录,您可以作相应的更改。参数也可以按照您的要求作相应的更改。
这样就可以了。
需要注意的是,千万记住ise和modelsim的安装目录都不要出现空格,最好是直接安装在根目录下
modelsim下编译xilinx库的方法
这几天,建库的问题比较多,写一个建库的方法。
所用软件:ISE7.1i+ModelsimSE6.0
语言:VHDL
首先安装软件。注意:ISE,Modelsim的安装路径不能含有空格。
另外,Modelsim的安装路径可设为“$:/modelsim”,其中$为盘符,不要使用默认的安装路径。
将Modelsim根目录下的modelsim.ini文件的只读属性去掉。
在modelsim的命令窗口中输入命令“compxlib -s mti_se -arch all -l vhdl -w -lib all”,按回车键即可。
编译完成后,将Modelsim根目录下的modelsim.ini文件的属性设置为只读。
关于“compxlib”命令各项参数的含义,请在modelsim的命令窗口中输入“compxlib -help”查询
把库建好后,接下来的事情就是使它成为modelsim的标准库。这只要修改modelsim安装目录下的modelsim.ini文件就可以了。修改后的内容如下:
[Library]
std = $MODEL_TECH/../std
ieee = $MODEL_TECH/../ieee
verilog = $MODEL_TECH/../verilog
vital2000 = $MODEL_TECH/../vital2000
std_developerskit = $MODEL_TECH/../std_developerskit
synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
simprim_ver = G:/EDA/Xilinx/simprim_ver(库的路径,以下同)
unisim_ver = G:/EDA/Xilinx/unisim_ver
xilinxcorelib_ver = G:/EDA/Xilinx/xilinxcorelib_ver
注意的是,这个文件是只读属性。修改之前要把这个属性去掉。
第六步:关掉工程,重启modelsim。查看这3个库是否在library框里面。
二、 在ISE环境下,调用synplify,生成后仿真所需要的文件。
之所以要在ISE环境下调用synplify,主要是因为方便!我也尝试过在synplify环境下综合设计文件,然后在ISE里编译synplify生成的edif文件。但是不成功。ISE在第三方工具支持方面做的是比较好的,感觉跟用ISE直接综合一样。不过有一个缺点是看不了RTL原理图。你可以在synplify中打开ISE生成的synplify工程文件,解决在ISE中不方便查看synplify综合结果的问题。现在,就要开始第二个大步骤了!
第一步:创建ISE工程文件。选择好器件。注意Design Flow中一定要选择Synplify Pro Verilog。
第二步:综合设计文件,也就是verilog文件。
ISE就会自动调用synplify。(如果没有的话,那可能是你的系统环境变量没有设置好)。此时会弹出一个对话框,要你选择synplify的liscense。(这步本来不用说的。如果没有对话框弹出来的话,也不要紧)随便选择一个,就等结果了。
第三步:生成后仿真需要的文件。
我们可以看到在Implement Design中有三个大分支,这对应着三种仿真。按你的需要按下相应的图标,生成modelsim后仿真所需要的文件,下面对生成的文件和生成这些文件的图标进行说明。
第三步:在弹出的对话框里,选择SDF项。把ISE生成的SDF文件添加进出。如下图:
记住Apply to Region这一项要写好。它对应的是你的tb文件(就是测试文件)调用的顶层模块名。(不是顶层模块名!!)比如你的测试文件是text,例化顶层模块top为i_top,那你应该这样填:text/i_top或者/text/i_top。如果是第一种仿真,此步可以省略。
第四步:添加library。
我们创建的那三个库终于派上用场了!我们要添加的就是这3个。选择library项,添加这3个库。你的库建在哪里,就去哪里找!这个也不用说了吧
第五步:选择要仿真的模块。
你先不要急,看清楚再选。(有些朋友性子急,驾轻就熟就选了)
我们要选的仿真模块可不止一个,如下图,用CTRL键实现!!选了之后点0k!!
⑵ 关于ISE的一个问题,请大家帮忙!
选择编译库和Modelsim的路径。在<ise安装路径>/bin/nt/下找到compxlibgui.exe并执行,按照图形界面提示逐步执行即可,其他方法不在介绍。选择正确的路径,Edit→prefences→ise general→integrated tools→model tech simulator,在此位置输入正确安装路径即可。完成上述步骤之后,就可实现无缝连接。如有疑问,可在我的播客留言http://perfectzj.zone.ku6.com/
⑶ 如何编译xilinx仿真库
首先介绍一下Xilinx几个主要的仿真库(路径:D:\Xilinx\11.1\ISE\verilog\src\)
Unsim文件夹:Library of Unified component simulation models。仅用来做功能仿真,包括了Xilinx公司全部的标准元件。每个元件使用一个独立的文件,这样是为了方便一些特殊的编译向导指令,如`uselib等。
XilinxCoreLib: CORE Generator HDL Library model。仅用来做功能仿真,包括了使用Xilinx Core Generator工具产生的IP仿真模型,例如FIFO等。
SIMPRIM: Library of generic simulation primitives。用来做时序仿真或者门级功能仿真。
SmartModel:用来模拟非常复杂的一些FPGA设计,其中用到了Power PC或者RocketIO等。
我们一般只用其中的三个库:simprims,unisims,xilinxcorelib。
编译Xilinx仿真库有多种方法,比如,可以在ISE软件中编译xilinx仿真库,这样在ISE调用Modelsim进行仿真了。但是利用ISE调用Modelsim仿真虽然操作方便,但是每次仿真前都要先进行综合,这样会很费时间,如果单独用Modelsim进行仿真,则可以不用进行综合而直接进行功能仿真。不进行综合就仿真的结果是可能本来的设计就是不可综合的。但是只要按照可综合的代码风格进行设计一般不会出现这中问题。这样做的好处是节省了综合需要耗费的时间,所以下面主要介绍直接利用Modelsim编译Xilinx库,并进行仿真的流程。
Step1:在Modelsim的安装路径下建立一个文件夹,用来存储编译后的库文件。
Step2:打开Modelsim,更改路径为xilinx_lib
Step3:新建一个库,命名为xilinx_unisims,用来存放unisims库编译后的文件。
Step4:将unisims库文件编译到xilinx_unisims库中。选择Compile
在Library选择刚创建的xilinx_unsims库,查找范围为D:\Xilinx\11.1\ISE\verilog\src\unisims,然后全选所有文件,点击右下角Compile进行编译
编译完成后可以看到unisims库的文件都被编译到xilinx_unsims库中去了。
Step5:按照Step4的方法创建xilinx_corelib和xilinx_simprims两个库,分别将XilinxCoreLib和simprims文件夹的文件编译到这两个库中去。编译完成后可以看到Library中多出了刚才创建的三个库。
Step6:在安装目录下找到modelsim.ini文件,关掉它的只读属性,并添加以下三个语句,将这三个库添加到默认库文件中去。
添加完成后,保存,并把modelsim.ini改为只读。
这样以后再次打开Modelsim以后就可以看到Library中多出了刚才创建的三个库。
⑷ 如何提高ISE的编译速度
如果你的cpu够强你应该学会如何利用好它来加速你的代码编译速度,那么你怎么才能够最大限度让你的cpu发烧呢?
下面是一个对比:
比如我的cpu是i7 3770k,
编译cocos2d-x的libcocos2d工程:
不优化:
1>Time Elapsed 00:01:35.25
优化后:
1>Time Elapsed 00:00:21.66
效果显着!!!
参考网页:
Visual Studio 2010中C++并行构建调优(1)
http://developer.51cto.com/art/201003/189235.htm
1>cl : Command line warning D9030: '/Gm' is incompatible with multiprocessing; ignoring /MP switch
解决办法是:
Properties -> Configuration Properties -> C/C++ -> Code Generation -> Enable Minimal Rebuild -> No(/Gm-)
Properties -> Configuration Properties -> C/C++ -> Geneal -> Multi-processor Compilation -> Yes(/MP)
一些含义和拓展资料:
Enable minimal rebuild
通过保存关联信息到.IDB文件,使编译器只对最新类定义改动过的源文件进行重编译,提高编译速度
Enable Incremental Compilation
同样通过.IDB文件保存的信息,只重编译最新改动过的函数
/MP (Build with Multiple Processes)
http://msdn.microsoft.com/en-us/library/bb385193.aspx
/Gm (Enable Minimal Rebuild)
http://msdn.microsoft.com/en-us/library/kfz8ad09.aspx
⑸ ise怎样编译
写好项目,文件之后,在左侧的Sources 点击主文件,下框自动显示Processes,请点击Implement Design的 “+” , 再右击 Implement Design, 选择 Run, Rerun 或者 Run All 即可!(参考版本Ise-V10.1)
⑹ xilinx ise 那个版本好用啊
6.X的确是底了点。
我现在用的版本是10.1.03
感觉很好用,编译的速度感觉上快了(也许只是感觉)
我觉得最好的地方在于它可以支持中文输入注释了,以前的版本稍不小心碰到了“Ctrl+空格”开了输入法。ISE就死掉了。
安装10.1,再安装10.1.03补丁。
还有个使用的就是 修正了下装Prom时经常校验错误的问题。
其他修正参考ISE的补丁说明。
补充回答。
对应CPLD不应该不支持的,只要是Xilinx的就应该有。
我的.3补丁不是下载的,是xilinx的技术支持给我同事拷贝的。不装也没什么问题的!具我所知,它修正了下装Prom时经常校验错误的问题(有时出错,校验正确就没有题了)。
⑺ xilinx ise 编译的过程支持多线程么
是下载线是USB的还是并口的? 若是USB的,如果开发板和下载线都没问题,下载配置也没问题,则可能是USB驱动的问题,如果刚装过其他版本的ISE则可能导致上述问题,最简单的方法就是卸载后重装ISE。 还有可能是开发板上的跳线没搞对,下载模式的问题
⑻ 在ise中,当编写好某一元件的代码后,怎么生成原理图
直接用vhdl写吧,原理图做大型逻辑工程的话还是勉强一些的
⑼ xilinx ISE 的verilog 编译时出现的错误,请大神解释一下这些错误是什么意思
第一个错误 模块例化的时候需要给定一个名字—— 模块名 例化名 都要有
第二个是没有找到对应的模块
⑽ Xilinx ISE 编译时,place & route 很慢.
个人看法,有两种可能:
1. 你的工程占用资源较多,随着资源的消耗,如果工程很大,ISE需要反复将之前布线好的部分进行优化,以腾出空间给后面的逻辑,所以越到后来布通所花费的时间就越长;
2. 你的约束中有较为苛刻或是不合理的时序约束,ISE需要花大量的优化计算去满足你的约束。
欢迎讨论。