现在,由于很多人都是单独装Xilinx 和Modelsim,因此,在用到一些芯片厂家如Xilinx或Altera的的仿真库时,遇到Library没找到的情况;因为 Modelsim 本身并不自带各 FPGA 厂家的仿真库,因此就必须自己手动编译这些库。以下我就介绍三种方法增加Xilinx或Altera的库问题:
1. 找到modelsim的安装目录,在安装目录下找到$:\modeltech_6.5\modelsim.ini,修改modelsim.ini的属性(去掉“只读”);在目录ModelSim下的modelsim.ini文件中的[Library]到[vcom]之间加入如下代码:
;Xilinx
; VHDL Section
unisim = $MODEL_TECH/../xilinx/vhdl/unisim
simprim = $MODEL_TECH/../xilinx/vhdl/simprim
xilinxcorelib = $MODEL_TECH/../xilinx/vhdl/xilinxcorelib
aim = $MODEL_TECH/../xilinx/vhdl/aim
pls = $MODEL_TECH/../xilinx/vhdl/pls
cpld = $MODEL_TECH/../xilinx/vhdl/cpld
; Verilog Section
UNISIMS_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\unisims_ver
UNIMACRO_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\unimacro_ver
UNI9000_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\uni9000_ver
SIMPRIMS_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\simprims_ver
XILINXCORELIB_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\XilinxCoreLib_ver
AIM_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\abel_ver\aim_ver
CPLD_VER = C:\Xilinx\10.1\ISE\verilog\mti_se\cpld_ver
SECUREIP = C:\Xilinx\10.1\ISE\verilog\mti_se\secureip
(上述的安装路径是我电脑上的ISE的Library库路径)altera库的添加方法如上所示。
.......
2.
Simprim_ver:用于布局布线后的仿真。
Unisim_ver:如果要做综合后的仿真,还要编译这个库。
Xilinxcorelib_ver:如果设计中调用了CoreGen产生的核,则还需要编译这个库。
我们要为modelsim生成的是标准库。所谓的标准库就是modelsim运行后,会自动加载的库。不过这方面我还不是很肯定。因为我在后仿真时,还是要为仿真指定库的路径,不然modelsim找不到。
第一步:在modelsim环境下,新建工程,工程的路径与你想把库存储的路径一致。(这一步其实可不用,直接跳到第二步开始的...)
第二步:新建库,库名起作simprim_ver。我们首先就是要建的就是这个库。
第三步:在modelsim的命令栏上,打下如下命令:
vlog -work simprim_ver d:/Xilinx/verilog/src/simprims/*.v
其中的d:/Xilinx是我的Xilinx的安装路径,你把这个改成你的就行了。以下凡是要根据自己系统环境改变的内容,我都会用绿色标出,并加一个下划线。编译完之后,你会发现你的工程文件夹下出现了一个simprim文件夹,里面又有很多个文件夹。这些就是我们要的库了。
第四步:按照上面的方法,编译另外两个库。所需要键入的命令分别如下:
vlog -work unisim_ver d:/Xilinx/verilog/src/unisims/*.v
vlog -work xilinxcorelib_ver d:/Xilinx/verilog/src/XilinxCoreLib/*.v
如果你想要编译的是VHDL的库,你需要建立的库分别是simprim,unisim和xilinxcorelib。这三个库所需要的modelsim指令分别如下:
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vcomponents.vhd
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vpackage.vhd
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_VITAL.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCOMP.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VPKG.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VITAL.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCFG4K.vhd
vcom –work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.vhd
关于VHDL方面,我没有实践过,如果有误的话,改一下应该问题也不大。
第五步:把库建好后,接下来的事情就是使它成为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直接调用Modelsim做仿真了。
3. 第三种方法最简单,直接找到C:\Xilinx\10.1\ISE\bin\nt\compxlib.exe,打开compxlib.exe,一路默认确定即可...