解决ise版本与仿真库版本不兼容的问题

ISE如果想调用外部的仿真器,比如常用的modelsim,那么就会用到Xilinx 预先给modelsim编译好的仿真库,比如有secureip,xilinxcorelib_ver,unisims_ver,unimacro_ver,等仿真库,如果没有预先编译,就得跑一次ise的编译向导,花好多个小时呢。于是刚刚装上ise14.5的我为了省事,直接把14.4编译好的库复制了,然后将modelsim.ini里的对应编译库的路径设置好:

secureip           = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/secureip
unisim             = D:\Program_Files\Xilinxmodelsim\ISE\vhdl\mti_se\10.1c\nt64/unisim
unimacro           = D:\Program_Files\Xilinxmodelsim\ISE\vhdl\mti_se\10.1c\nt64/unimacro
unisims_ver        = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/unisims_ver
unimacro_ver       = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/unimacro_ver
simprim            = D:\Program_Files\Xilinxmodelsim\ISE\vhdl\mti_se\10.1c\nt64/simprim
simprims_ver       = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/simprims_ver
xilinxcorelib      = D:\Program_Files\Xilinxmodelsim\ISE\vhdl\mti_se\10.1c\nt64/xilinxcorelib
xilinxcorelib_ver  = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/xilinxcorelib_ver
uni9000_ver        = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/uni9000_ver
cpld               = D:\Program_Files\Xilinxmodelsim\ISE\vhdl\mti_se\10.1c\nt64/cpld
cpld_ver           = D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64/cpld_ver

结果在ise调用modelsim时,发生了如下错误(只粘贴了其中一个库的错误,其它库的错误类似):

     > Compilation info: secureip
       ********************************************************
       + Source Library    : D:/Program_Files/Xilinx/14.4/ISE_DS/ISE/secureip/mti
       + Compilation Time  : Sat Dec 28 17:40:24 2013
       + Platform          : nt64
       + Simulator         : mti_se
       + Simulator Version : 10.1c
       + Xilinx Version    : 14.4
         ERROR: Xilinx software version mismatch!
                The simulation libraries were compiled for the '14.4' version but the version
                in use is '14.5'. Please recompile the libraries for the current version.
       + Number of Errors  : 0
       + Number of Warnings: 0
       ********************************************************

一看就知道是版本不兼容的问题,于是我就想找出这个版本信息放在哪里,然后把它改了,欺骗ise

在编译好的secureip仿真库文件夹里找到一个后缀名为.rpt的文件,我的modelsim是64位的,所以这个文件的名字是.cxl.verilog.secureip.secureip.nt64.rpt

D:\Program_Files\Xilinxmodelsim\ISE\verilog\mti_se\10.1c\nt64\secureip\.cxl.verilog.secureip.secureip.nt64.rpt

打开该文件:

CxlResult:D:\Program_Files\Xilinx\14.4\ISE_DS\ISE\verilog\mti_se\10.1c\nt64/secureip/.cxl.verilog.secureip.secureip.nt64.rpt =
	ExecutionPlatform = nt64 ,
	SourceLibrary = secureip ,
	SourcePath = D:/Program_Files/Xilinx/14.4/ISE_DS/ISE/secureip/mti ,
	Simulator = mti_se ,
	SimulatorVersion = 10.1c ,
	CompiledLibrary = secureip ,
	CompiledPath = D:\Program_Files\Xilinx\14.4\ISE_DS\ISE\verilog\mti_se\10.1c\nt64/secureip ,
	Timestamp = Sat Dec 28 17:40:24 2013 ,
	Time = 1388223624 ,
	Language = verilog ,
	XilinxBuildNumber = P.49d ,
	XilinxVersion = 14.4 ,
	LogFile = D:\Program_Files\Xilinx\14.4\ISE_DS\ISE\verilog\mti_se\10.1c\nt64/secureip/.cxl.verilog.secureip.secureip.nt64.log ,
	NumOfErrors = 0 ,
	NumOfWarnings = 0 ,

将XilinxVersion = 14.4字段改成正确的版本号就行了,其它的CompiledPath,SourcePath字段即使不对也没关系,它们的当前值是最初生成库时的路径。

依此类推,将其它的仿真库的版本都改过来,然后ise就能正确调用modelsim了。

最后强调一下,这种欺骗手法最好是在版本相差不大的时候用,否则很可能modelsim用了太老旧的仿真库导致仿真效果差。






评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值