由于一直在忙,都没有空来解决,然后发现网上也有遇到这问题,但是似乎没有解决方法,并且更多的提示是在于破解没有破解好。后来自己琢磨,发现问题并不在modelsim的破解。
解决方案为:将库uinsims文件夹中的verilog文件分批次编译
下面是我的实例,xilinx库为随便ISE拷过来的unisims库,第一个文件是AFIFO36_INTERNAL.v,最后一个文件是ZHOLD_DELAY.v,如果在编译库的时候,一次性选择所有文件,编译就会出现上图的错误。但是如果将unisims库中文件分几次编译就不会出错,感觉原因是由于计算机配置比较低造成的。
编译后的结果是:
这样编译就没有问题,但是此时库并不能使用,点击modelsim的library会发现unisims后面的显示和其他的不一样。
对于这种情况,就需要修改modelsim安装路径下的modelsim.ini文件。去掉modelsim.ini文件的只读属性,将modelsim.ini文件默认情况下的:
修改为:
其中=后面的为在modelsim中新建库unisims的存放路径。保存后,再次打开modelsim。
出现这样的结果,就表明库已经编译成功。
上面编译库的方法,对于altera的库非常适用,但是对于xilinx的库就有些不太方便。在xilinx的ISE或是vivado中都可以编译库,到时候只要将编译好的文件夹的路径在modelsim.ini文件中修改。
例如:在其他电脑中编译好了xilinx的库文件,并放在文件夹compile_simlib中,如图
如何区别这是否是编译好的,主要是打开文件夹,如果文件夹里面有很多@,那么就是编译好的库,如果是verilog/vhdl文件,则是没有编译的,如图:
可以看出我只是将文件夹compile_simlib放在D盘下,然后修改文件modelsim.ini,修改为:
然后打开modelsim,点击library,发现多了上面的库文件了,如图:
这样就可以不安装ISE或是vivado,就可以使用modelsim来仿真xilinx的IP core了