Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)
tips:本文章不涉及fifo的ip核参数含义讲解,只是通一通开发流程,总结一下哪里容易报错,新手向,旨在能够正确出波形,别卡在报错中折磨。
在新建工程前,新建文件夹管理文件
打开quartus,新建工程,路径设置到quartus_prj目录下,工程名和顶层名均为fifo
一路next到选型号,按照板卡型号进行选择。Family->package->pin count---->core speed grade->available devise->next
simulation选择modelsim verilog,next
层级管理器有这个就是建好了
调出ip核内容,如图所示
搜索fifo,双击进入配置
这里要设置一个路径,这个路径最好按照自己的习惯固定下来,在quartus_prj文件夹下新建文件夹ip_core,在ip_core文件夹下再新建一个文件夹,这个文件夹的名字与ip核的文件名保持一致,此处用scfifo_256x8(这个不是乘号,是癌克斯).,语言选择verilog。设置好后如下图所示,ok
弹出这个窗口就是进入ip核配置了
具体参数怎么配置请参考野火的教程,我直接全部默认设置直到这个界面,把默认的那个bb文件的对勾给取消了,就勾上倒数第二个,finish
第一次操作会有弹窗,问你要不要把ip核添加进工程,点是就行,还可以勾选以后自动添加,自行决定即可。我是自动添加,所以点完finish之后,把层级管理器切换到file,能看到这个.qip就是ip核已经添加进工程了
然后开始实例化调用这个IP核,在stl文件夹下新建个fifo.v并编写它
此处一个注意:第一张图框住的模块名称要与scfifo_256x8_inst.v文件(第二张图)中的模块名(第三张图)一致
fifo.v写完后保存,添加进工程,在层级管理器为file时,双击file就可以添加文件
添加成功时层级管理器显示这样,有一个fifo.v
全编译,发现没错误,可以写仿真Test bench文件
在sim文件夹下,新建一个tb_fifo.v并编写它,顶层模块名也是tb_fifo,和testbench文件名保持一致。
保存,添加进工程
添加成功后层级管理器的file长这样:
然后进行仿真设置,进assignment的settings,找到simulation
在这里添加testbench
这里因为我们之前保持了testbench文件名和文件里的顶层模块名一致,这里直接输入tb_fifo
把tb_fifo和fifo两个.v文件都添加进来,ok,ok,apply,ok
tool进去仿真
这里没出错,之前因为不懂,两个.v文件也都是cv野火的,所以modelsim这里总是报load failed,错误的流程有无数,反正现在这个流程是正确的
modelsim里常用的几个钮已经框选出来了(别丢了左下角的那个)
完事