Modelsim独立仿真vivado带IP核的工程Tools:Vivado2015.4&&Modelsim10.2——By我有风衣在使用vivado进行工程代码仿真时,有2种方法可实现功能仿真。第一种是在vivado下直接调用Modelsim进行功能仿真,另外一种是单独使用Modelsim进行功能仿真。一般对于在vivado下使用了IP核的工程,此时直接调用Modelsim进行仿真会方便很多,这时首先按照下图所示的方法,先编译好vivado的仿真库,再进行相关设置,即可用vivado直接调用Modelsim进行功能仿真。但是打开vivado本身电脑就会比较卡顿,当工程较大时,再调用Modelsim仿真有时候会非常慢,因此本文会结合一个简例(fifo_test.xpr),介绍直接利用Modelsim仿真vivado带IP核的工程。首先说明如何在vivado下直接调用Modelsim进行功能仿真(1)首先用vivado的Tools下的CompileSimulationLibraries编译vivado仿真库一般在Modelsim的安装目录下新建一个文件夹,比如D:\modeltech64_10.2\vivado_libs_201504。接着在CompileSimulationLibraries下进行相关设置后点击Compile。接着等待编译结束。一般i7的电脑几分钟就编译好了(本人的电脑是i74790+16G内存,嘻嘻),编译完成后会在D:\modeltech64_10.2\vivado_libs_201504下生成大约2.5G左右的仿真库文件。接着在vivado下进行仿真设置。图中划线的地方注意根据你自己的设置来确定。主要是仿真激励文件的指定(tb_fifo_test)、编译库文件的位置指定(D:\modeltech64_10.2\vivado_libs_201504)。设置好后,在vivado直接点击仿真,如下图划线地方所示。点击后,Modelsim启动,仿真如下图所示。代码是测试FIFO,连续写入0~254即255个数据后开始连续读出0~254个数据。我们还可以打开Modelsim的Library页,看看该仿真涉及到了哪些仿真库,如下图所示。从上图中看出路径在D:\modeltech64_10.2\vivado_libs_201504下的仿真库都是通过CompileSimulationLibraries生成的,而有个fifo_generator_V13_0_1是工程里的sim文件里的,该IP的仿真文件在msim库里,这个就是下面直接调用Modelsim进行功能仿真的关键。//-----------------------------------------------分割线----------------------------------------------------(2)下面说明如何只用Modelsim对该fifo_test工程进行功能仿真首先还是先建立上述fifo_test的vivado工程,目的是生成IP核对应的库仿真文件,这里的是FIFOIP核,因此在msim文件夹下会出现fifo_generator_V13_0_1这个仿真库文件。具体路径如下图所示。路径如下:E:\prj_temp\fifo_test\fifo_test\fifo_test.sim\sim_1\behav\msim\fifo_generator_v13_0_1,个人根据自己的实际情况做参考修改接着首先在Modelsim下新建工程,取名tb_fifo_test,指定好ProjectLocation,如下图所示。添加仿真文件,AddExtingFiles。如下图所示,添加以下三个文件,fifo_mod.v是调用vivado生成的IP核模块文件,fifo_test.v是功能测试模块代码,即工程顶层文件,tb_fifo_test.v是测试激励文件。接着全编译。在点击Simulation时,设置仿真库的路径位置,这个位置也是vivado在生成IP核时生成的。如下图所示,路径如下,上面提过。E:\prj_temp\fifo_test\fifo_test\fifo_test.sim\sim_1\behav\msim\fifo_generator_v13_0_1添加好后,再在Design标签下点击tb_fifo_test,进行仿真。你会得到和直接在vivado下调用Modelsim进行仿真时一样的仿真波形图。