这几天写了个UVM的验证环境,要用questasim来运行,而待测试的DUT是之前用VIVADO做的,就得把VIVADO中的工程移植到quetasim里,其中调用了Xilinx的ROM、RAM等IP核。
首先是移植VIVADO的工程,参考这篇文章:modelsim仿真调用xilinx IP的一种方法_拾贝壳的大男孩-CSDN博客
把所有的设计和仿真文件,以及IP核文件都添加到queastasim的工程中后,仿真,发现有一个输出的值一直是0:
而在VIVADO中却是正常的:
最后发现,问题在于:调用ROM的时候,VIVADO工程中的ROM是有加载初始化文件的(.coe格式),而questasim/modelsim中也需要把对应的.mif格式的初始化文件加入到工程目录中,方法是:
先在VIVADO的工程文件夹中搜索“mif”,找到这个ROM的.mif格式的初始化文件;然后复制到questasim/modelsim的工程目录下即可。
重新仿真,结果也就出来了: