首先确定下自己的Vivado版本和适配的ModelSim版本,可以在ug973中,找到对应的版本,比如我用的Vivado是2018.2的,然后匹配的ModelSim是10.6c的版本。(有时候版本不匹配也能用,不过还是建议尽量匹配版本的好,省得出一些奇怪的问题)
然后准备编译仿真库,打开Vivado,先打开Settings的仿真器配置
(注:我因为装过多个版本,仿真器要换成最16.c的版本,不然编译结果会因为版本不匹配出问题)
ModelSim的安装路径换成16.c版本的位置,库路径也设置好对应的位置,然后就可以OK保存并关闭了
接着在菜单栏中选 Tools > Compile Simulation Libraries
设置项里选好仿真器(此处为ModelSim),编译后的仿真库放置路径(就填上面设置的那个新的仿真库路径),ModelSim程序的路径,IP核编译那项别取消了,是为了编译Xlinx全部IP核的,其他项保持默认即可;TCL的命令就是根据这些配置生成的,然后点Compile就可以开始慢慢等编译结果了。
经过漫长的等待。。。。。。
结果出来了,检查下结果.......
ERROR: [Vivado 12-5603] compile_simlib failed to compile for modelsim with error in 1 library
看着红彤彤的ERROR,心里有那么一丝丝小慌,然后往上翻,看看哪ERROR了
查到是ldpc编码的这个IP核出了问题,这个平常也没用到,就直接无视这个错误了(要是你们的没错误,就更好了,这个好像是因为系统是64位导致的,具体就懒得深究了)……
如果是出现很多errors,就建议先检查下版本是否匹配上了,不然也不会疯狂报错……
就接着往下说吧~
打开要仿真的工程,然后对打开Settings,因为创建的工程默认是用的自带的仿真配置,所以需要改下仿真设置,首先将 Target simulator 改为 ModelSim Simulator,其次仿真库的位置也需要检查下是不是刚刚编译好的库对应的路径,检查无误就可以点OK,开始后面的了
直接运行仿真
过一小会儿,Modelsim就被Vivado调用了,观察窗口的输出,正常无误
接着运行100us的仿真
也能正常运行,联合仿真OK~~
最后补一点,假如自己不想编译库,想直接拿别人编好的,则拷贝好库后,还需要对库的初始化文件做对应的修改,找到库路径下的modelsim.ini(注:不要弄错成ModelSim安装路径下的那个ini了),然后用编辑器打开
可以看到这些库都有以绝对路径的形式链接,所以如果是从别的地方拷过来的,或者你打算换个路径放仿真库,那么就需要将旧的路径改为新的路径,然后其他的使用操作就和上面的一模一样了。
如果你没合适的ModelSim和Vivado版本,就自行后台回复获取吧