FPGA开发:Xilinx ISE 10.x 调用Modelsim SE 6.5仿真的若干问题及其解决方法 联系客服

发布时间 : 星期二 文章FPGA开发:Xilinx ISE 10.x 调用Modelsim SE 6.5仿真的若干问题及其解决方法更新完毕开始阅读93a4d5f9770bf78a65295487

定了本次Modelsim软件启动后所具备的库的多少和映射关系。在知道了这一点后,我就在电脑上搜索Modelsim.ini,结果惊讶的发现了在我的电脑上面居然有好几个Modelsim.ini文件。如图-7所示:

图-7 居然有好几个Modelsim.ini文件

看到上面的搜索结果,我才想起以前曾经使用过Modelsim,但都是FPGA软件安装包配套的版本,有ACTEL的FPGA设计软件Libero8.3自带的专业许可的Modelsim版本和Altera 的FPGA设计软件Quartus9.0自带的ModelSim-Altera 6.4a (Quartus II 9.0) Starter Edition版本,在使用的时候由于是专业版,都安装好了各自FPGA厂商的设计库,在用FPGA软件调用Modelsim是从未遇到过此类数据库lib方面的问题。

由此,我也发现EDA工具在生成Modelsim测试文件时会根据FPGA的设计环境生产一个Modelsim.ini文件,用于调用Modelsim软件仿真时初始化Modelsim的启动环境。该初始化文件一般都包含在各自的工程设计文件目录下。如图-8所示。

我打开我当前的设计工程目录:D:\\Program Files\\MATLAB\\R2007a\\work\\my_lab\\netlist下的Modelsim.ini文件,发现其中的库设置内容如下: [Library]

others = $MODEL_TECH/../modelsim.ini

;vhdl_psl_checkers = $MODEL_TECH/../vhdl_psl_checkers // Source files only for this release

;verilog_psl_checkers = $MODEL_TECH/../verilog_psl_checkers // Source files only for this release

;mvc_lib = $MODEL_TECH/../mvc_lib

上面语句的意思是每个库的名称及其映射路径,从上面并没有发现错误中所提到的xilinxcorelib这个库及其映射路径。所以出错也就理所当然啦!

另外从上面的语句还可以看出,Modelsim在启动时首先调用的是当前工程设计目录下的modelsim.ini文件,其他它通过others = $MODEL_TECH/../modelsim.ini还会调用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 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

floatfixlib = $MODEL_TECH/../floatfixlib

;vhdl_psl_checkers = $MODEL_TECH/../vhdl_psl_checkers // Source files only for this release

;verilog_psl_checkers = $MODEL_TECH/../verilog_psl_checkers // Source files only

for this release

;mvc_lib = $MODEL_TECH/../mvc_lib

中也就是我们在图-6的modelsim软件界面的library栏所见到的所有库了。

继而,我又在google上进一步搜索ISE调用modelsim进行仿真方面的问题。看到一些论坛的回帖中谈到,用Modelsim进行Xilinx FPGA设计的仿真时安装Xilinx库的各种方法。我将它们都一一试了一遍,问题依旧啊!特别是其中用ISE的compxlibgui.exe工具(安装路径\\Xilinx\\10.1\\ISE\\bin\\nt\\compxlibgui.exe)进行自动的Xilinx库编译时,由于选择了全部的库进行编译,用了近3个小时才完成。于是,我很不甘心就这样失败了。 回想整个工程,我又在电脑上搜索modelsim.ini文件,发现此时在ISE的安装目录下多了一个该文件(见图-7所示),于是迫不及待的打开,发现如下: [Library]

others = $MODEL_TECH/../modelsim.ini

;vhdl_psl_checkers = $MODEL_TECH/../vhdl_psl_checkers // Source files only for this release

;verilog_psl_checkers = $MODEL_TECH/../verilog_psl_checkers // Source files only for this release

;mvc_lib = $MODEL_TECH/../mvc_lib

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 SECUREIP = C:\\Xilinx\\10.1\\ISE\\verilog\\mti_se\\secureip 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 UNISIM = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\%unisim

UNIMACRO = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\%unimacro SIMPRIM = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\\simprim

XILINXCORELIB = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\\XilinxCoreLib AIM = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\\abel\\aim PLS = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\\abel\\pls CPLD = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\\cpld

奇迹般的发现了XILINXCORELIB = C:\\Xilinx\\10.1\\ISE\\vhdl\\mti_se\\XilinxCoreLib 于是,欣喜万分。将上面的全部粗体语句全部copy到当前工程目录下的modelsim.ini文件中,再在ISE下面重复上面的过程,奇迹终于出现啦! My God!所有的Xilinx库都出现了,仿真波形也出来了!

图-8 My God!所有的Xilinx库都出现了