关于xilinx ise10.1与modelsim仿真库编译
(2011-08-21 01:00:39)
转载▼
标签:
杂谈
分类: FPGA
首先介绍一下Xilinx几个主要的仿真库(路径:D:\Xilinx\11.1\ISE\verilog\src\)
1. Unsim文件夹:Library of Unified component simulation models。仅用来做功能仿真,包括了Xilinx公司全部的标准元件。每个元件使用一个独立的文件,这样是为了方便一些特殊的编译向导指令,如`uselib等。
2. XilinxCoreLib: CORE Generator HDL Library model。仅用来做功能仿真,包括了使用Xilinx Core Generator工具产生的IP仿真模型,例如FIFO等。
3. SIMPRIM: Library of generic simulation primitives。用来做时序仿真或者门级功能仿真。
4. SmartModel:用来模拟非常复杂的一些FPGA设计,其中用到了Power PC或者RocketIO等。
我们一般只用其中的三个库:simprims,unisims,xilinxcorelib。
安装ISE10.1, 没什么需要注意的。(有问题可以留言)
安装Modelsim,装好后需要做的事:
1、在C盘中建一个叫flexlm的文件夹,将keygen中的LICENSE.txt的文件放到上述文件夹中(将原来的删了重新产生)
2、右键我的电脑--属性--环境变量,新建环境变量,名LM_LICENSE_FILE,值C:/flexlm/LICENSE.TXT;
3、在你的安装路径中将一个叫modelsim.ini文件的属性的“只读”去掉。
方法一:
1、在modelsim安装目录下新建一个文件夹(如xilinx_libs),用来放xilinx编译的库文件,供modelsim调用的。
2、编译xilinx库文件:
运行—cmd:调出“命令提示符”,在DOS环境输入compxlib按回车,或者C:\Xilinx\10.1\ISE\bin\nt\compxlib.exe,打开compxlib.exe,一路默认确定即可...,会自动弹出可视化界面。一步一步默认即可,到需要选择编译的库所要到达的文件夹(output directory for compiled libraries)的时候选择刚才新建的文件夹。做之前确定modelsim.ini文件的属性的“只读”已去掉。
方法二:
如果你在DOS环境下输入compxlib不能自动跳出编译的界面,可以尝试下面的方法:
1在DOS环境输入“compxlib -s mti_se -f all -l all -o C:\modeltech_6.2b\xilinx_libs -p C:\Modeltech_6.2b\win32
其中第一个路径是在modelsim安装路径中自己新建的文件夹xilinx_libs(也可以是其他名字),用来放编译后的xilinx库文件。第二个路径就是在安装路径中的min32文件夹所在路径。
2 注意:如果在输入上述命令后出现错误(compxlib不是内部或外部命令)时,可以设置一下路径“set path=D:\Xilinx\10.1\ISE\bin\nt”其中的路径可在xilinx的安装路径中找到
3、如果编译完成后,打开modelsim发现左边栏里库没有增加,但是你之前用来放库文件的文件夹xilinx_libs中已有库,就需要手动改变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
sv_std = $MODEL_TECH/../sv_std
mtiAvm = $MODEL_TECH/../avm
mtiOvm = $MODEL_TECH/../ovm-2.0.1
mtiUPF = $MODEL_TECH/../upf_lib
mtiPA = $MODEL_TECH/../pa_lib
UNISIMS_VER = D:\modeltech_6.5b\xilinx_libs\unisims_ver
SIMPRIMS_VER =D:\modeltech_6.5b\xilinx_libs\simprims_ver
XILINXCORELIB_VER = D:\modeltech_6.5b\xilinx_libs\xilinxcorelib_ver
CPLD_VER = D:\modeltech_6.5b\xilinx_libs\cpld_ver
UNI9000_VER = D:\modeltech_6.5b\xilinx_libs\uni9000_ver
UNISIM = D:\modeltech_6.5b\xilinx_libs\unisim
SIMPRIM = D:\modeltech_6.5b\xilinx_libs\simprim
XILINXCORELIB = D:\modeltech_6.5b\xilinx_libs\xilinxcorelib
CPLD = D:\modeltech_6.5b\xilinx_libs\cpld
EDK =D:\modeltech_6.5b\xilinx_libs\edk
SECUREIP=D:\modeltech_6.5b\xilinx_libs\secureip
UNIMACRO=D:\modeltech_6.5b\xilinx_libs\unimacro
UNIMACRO_VER=D:\modeltech_6.5b\xilinx_libs\unimacro_ver
前面几行是其中本来有的,后面的几行是我自己手动加进去的
方法三:
所以下面主要介绍直接利用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中多出了刚才创建的三个库。