Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)

tips:本文章不涉及fifo的ip核参数含义讲解,只是通一通开发流程,总结一下哪里容易报错,新手向,旨在能够正确出波形,别卡在报错中折磨。

在新建工程前,新建文件夹管理文件Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第1张图片
打开quartus,新建工程,路径设置到quartus_prj目录下,工程名和顶层名均为fifo
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第2张图片
一路next到选型号,按照板卡型号进行选择。Family->package->pin count---->core speed grade->available devise->nextQuartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第3张图片
simulation选择modelsim verilog,next
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第4张图片
层级管理器有这个就是建好了
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第5张图片
调出ip核内容,如图所示
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第6张图片
搜索fifo,双击进入配置
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第7张图片
这里要设置一个路径,这个路径最好按照自己的习惯固定下来,在quartus_prj文件夹下新建文件夹ip_core,在ip_core文件夹下再新建一个文件夹,这个文件夹的名字与ip核的文件名保持一致,此处用scfifo_256x8(这个不是乘号,是癌克斯).,语言选择verilog。设置好后如下图所示,okQuartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第8张图片
弹出这个窗口就是进入ip核配置了
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第9张图片
具体参数怎么配置请参考野火的教程,我直接全部默认设置直到这个界面,把默认的那个bb文件的对勾给取消了,就勾上倒数第二个,finish
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第10张图片
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第11张图片
第一次操作会有弹窗,问你要不要把ip核添加进工程,点是就行,还可以勾选以后自动添加,自行决定即可。我是自动添加,所以点完finish之后,把层级管理器切换到file,能看到这个.qip就是ip核已经添加进工程了
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第12张图片
然后开始实例化调用这个IP核,在stl文件夹下新建个fifo.v并编写它Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第13张图片
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第14张图片
此处一个注意:第一张图框住的模块名称要与scfifo_256x8_inst.v文件(第二张图)中的模块名(第三张图)一致
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第15张图片
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第16张图片
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第17张图片
fifo.v写完后保存,添加进工程,在层级管理器为file时,双击file就可以添加文件Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第18张图片
添加成功时层级管理器显示这样,有一个fifo.v
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第19张图片
全编译,发现没错误,可以写仿真Test bench文件Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第20张图片
在sim文件夹下,新建一个tb_fifo.v并编写它,顶层模块名也是tb_fifo,和testbench文件名保持一致。
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第21张图片
保存,添加进工程
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第22张图片
添加成功后层级管理器的file长这样:
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第23张图片

然后进行仿真设置,进assignment的settings,找到simulation
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第24张图片
在这里添加testbench
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第25张图片
这里因为我们之前保持了testbench文件名和文件里的顶层模块名一致,这里直接输入tb_fifo
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第26张图片
把tb_fifo和fifo两个.v文件都添加进来,ok,ok,apply,ok
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第27张图片
tool进去仿真
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第28张图片
这里没出错,之前因为不懂,两个.v文件也都是cv野火的,所以modelsim这里总是报load failed,错误的流程有无数,反正现在这个流程是正确的
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第29张图片
modelsim里常用的几个钮已经框选出来了(别丢了左下角的那个)
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第30张图片
完事
Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)_第31张图片

你可能感兴趣的:(学习笔记,fpga开发,fpga)