赞
踩
最近做项目,使用到了RAM,ROM,FIFO,FFT,PLL这样的IP核,在功能仿真的时候也需要对这些IP核进行验证。
在Quartus 18.1以上的版本里,quartus-modelsim联合仿真的那个按钮选项好像找不到了。所以没办法从Quartus prime软件里直接启动modelsim软件进行仿真了。
因此独立使用modelsim软件进行仿真。modelsim在仿真IP的时候可能会有各种错误,例如:提示缺少某些库文件,找不到某些设计文件诸如此类。
网上查了各种办法加上自己调试,终于把modelsim波形仿出来了。
记录一下,免得自己以后忘了...
以FFT IP为例,使用modelsim进行仿真验证。
首先建立一个modelsim工程:
创建好工程之后可以看见在工程文件夹里多出来了一个后缀为.mpf(modelsim project)的文件和一个work文件夹(工作区文件夹)。
如果是第一次仿真,需要在modelsim里面编译Quartus 常用IP的仿真库
1.点击file-change directory更换当前工作空间地址
2.将地址更换到modelsim仿真工程文件夹下
3.新建Library
4.编译刚刚建好的library
5.编译好之后工程文件夹里会多出一个刚刚编译过的库的文件
注:
1.库的名称不要随便乱取(否则modelsim软件编译IP文件的时候可能会提示找不到某些库),不同的库编译这些库相应的文件。
2.如果曾经已经编译过IP的仿真库,每次仿真的时候只需要把仿真库对应的文件添加到工程文件夹里面。最好和.mpf文件在同一目录下,modelsim软件可以自动识别出对应的库。
如果库文件放在其他位置,modelsim软件无法自动识别,在工程里面的Library界面就找不到所需要的库,后续编译也会提示找不到对应的库报错。
接下来将IP对应的仿真文件,用户设计文件以及testbench测试文件添加到project里面。
IP仿真文件要找到IP核对应的存放位置,仿真文件要添加全,不要有缺失(否则仿真波形出不来)。
例化IP的时候可能会产生一些.hex数据文件,这些文件也是modelsim仿真需要用的,也要加到modelsim工程文件夹中。
注:将.hex/.coe/.mif等数据初始化文件添加到modelsim仿真文件夹的时候一定要注意存放的位置(数据文件放的位置不对仿真波形出不来)。
在相应的设计文件中可以找到对应数据文件的存放地址。
这个存放地址是相对于.mpf文件的地址。
“./”:同级目录 “../”:上一级目录
这里应该把这些文件放到.mpf文件同级目录下。
将用户设计文件和testbench测试文件也添加进来之后,对modelsim工程进行编译
注:第一次编译之后可能会有一些报错,这与文件添加以及编译的顺序有关。
没有关系,多编译几次,这些错误可能就会消失。
全编译通过之后进行仿真
将波形调出来,查看波形
fft IP核仿真完成
对于其它常见IP核,仿真方法都是一样的。如果这中间modelsim有报错,看错误报告,找出错的地方,然后解决错误。
一般来说这几种原因可能会导致modelsim仿真报错或者跑不出波形:
1.缺少相应的库或者库文件没有编全
2.IP仿真文件有缺失,没有添加全
3.数据文件存放地址不对
另外,可以使用tcl脚本快速启动modelsim进行仿真,这在大型工程的仿真中很实用,之后再记录一下简单tcl脚本使用以及波形调试中遇到的一些常见小问题,小bug。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。