Step 1:编译生成Xilinx ip核的库文件
编译Xilinx有关IP的库,这样我们在仿真一些带有Xilinx ip核的工程时才不会报错,当然如果仿真的全是Verilog或者VHDL文件,可以直接将文件添加到Modelsim中进行仿真,不需要编译ip库。因为我们用Vivado关联Modelsim进行仿真,为了以后方便,先编译Xilinx ip核的库文件。
说明:3肯定选择ModelSim Simulator,因为我们就是准备用modelsim仿真的;
4是 Xilinx ip核编译库的存放位置,需要我们在modelsim安装路径下的新建一个文件夹(比如我这里新建的文件夹是Vivado2021.2_lib),与win64同一层级即可。(新建的库文件夹最好要放在modelsim安装路径下,放在其他地方好像也行,但是一旦编译完成后就不要随意改动库文件位置,不然后仿真会报错,因为编译的库文件都是使用的绝对路径,例如下图)。
5是仿真器的执行路径,选到win64即可。
6查资料了解指定GCC路径是用作编译SystmC IP用的,Vivado 2020.2版本新加入的,之前的版本没有,如果没用到SystemC IP,说是可随意指定一个路径,我这里的好像就是,哈哈~ 因为我没找到网上说的那个路径(只找到win64这里,后面的没找到),不过不能不填(好像会报警告),网上的路径类似于这样G:\Softdata\Xilinx_2021\Vivado\2021.2\tps\win64\msys64\mingw64\bin,这是Vivado自带的GCC.exe文件。
7必须勾选,默认也是勾选的,因为我们就是为了编译ip核的库。然后点击Compile等待编译完成即可。
这个编译库文件生成的时间比较长,根据电脑性能以及Vivado版本(不同版本,ip核数量也有一定的区别)而不同,像我就用了57分钟,时间有点长哈~
编译完成后在Tcl Console中会生成一个SUMMARY,大概看下有没有Error就可以了,个别用不到的有也没关系,只要生成的库文件能用就行。最后也会打印总耗时。
还有个问题哈,就是可能会遇到关联的Modelsim版本和Vivado版本不匹配的情况,我刚开始就遇到了, 如果不匹配,Tcl Console会打印相关的信息,如下图所示:
因为我最开始用的Vivado版本是2019.1,Modelsim版本是SE10.7,但是 Vivado2019.1匹配的是Modelsim_SE10.7c。后来我直接用的Vivado2021.2和Modelsim_SE 2019.2,具体两者对应版本可以去Xilinx官网查询。Vivado2021.2和Modelsim_SE 2019.2软件链接如下,有需要的自取:
Vivado2021.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modelsim_SE 2019.2
Step 2:Vivado设置中关联Modelsim仿真器
按照上面5步添加一下路径即可。
Step 3:将Vivado编译库添加到Modelsim中(链接)
Vivdao编译生成的库文件中会有一个modelsim.ini文件,将其打开并复制其中的库文件路径,如下图所示:
就是红框框的这些,因为有很多只截取一部分,将这些所有类似的路径复制,然后粘贴到Modelsim安装路径下的modelsim.ini文件中。
首先将Modelsim中的modelsim.ini文件属性只读取消,方便我们修改,然后打开该文件,将刚才复制的内容粘贴在里面,具体粘贴位置我认为没有什么讲究,找个大概位置粘贴即可,我放在了如下位置,modelsim运行没有问题
修改完后,别忘了再将modelsim.ini文件的属性修改为只读。
刚开始modelsim中的库文件有这么多:
上述添加步骤完成后,可以看到Vivado ip核的编译库都被添加进来了:
Step 4:开始仿真
Vivado编好测试tb文件,然后点击Run Simulation即可,然后就会直接弹出Modesimd的仿真页面,如下图所示:
~OVER~