以MIPI项目为例讲解Diamond FIFO生成和例化全过程

2020-01-26 16:41发布

本帖最后由 FPGA明德扬 于 2020-1-1 15:13 编辑

作者:鱼丸粗面本文为明德扬原创文章,转载请注明出处!

在MIPI多路摄像头拼接项目中,需要使用到FIFO的IP核来进行数据的缓存与时钟域的交互,下面我来介绍一下Diamond FIFO IP核生成与例化的步骤。
首先,找到生成IP核的窗口,如下图1中红框标注所示: 906855e0c4624adb56.png 图1 IP核调用窗口
点击后进入Clarity Designer,创建一个IP核。需要注意的是Design Name中输入的名称即是在顶层文件中需要例化的IP核模块名。 852605e0c4630686dd.png 图2 Clarity Designer
点击下方的“create”进行创建,找到双端口“FIFO(fifo_dc)”: 349475e0c463a209b0.png 图3 Diamond IP核列表
设置fifo的实体化保存路径及实体化名称。需要注意的是,“Instance Name“中输入的名称不是FIFO在顶层模块中例化的模块名,而是生成fifo后IP核内部的信号名前缀。 558875e0c46423cf56.png
949265e0c4649c3f86.png 图4 生成FIFO IP核文件设置
点击“customize“,进入FIFO IP核设置界面,设置FIFO的深度、数据位宽以及标志信号,设置好后点击”Configure”: 634155e0c46501aad3.png 图5 FIFO IP核设置界面
IP核生成成功,点击“Close“关闭窗口: 82685e0c4656ac91d.png 图6 IP核生成成功
点击“Generate”,将生成的IP核添加进工程中: 757805e0c465d3d68c.png 168385e0c4664411d7.png 图7 IP核添加进工程
FIFO IP核生成的文件夹及生成的IP核信息,其中“.sbx”文件是IP核的实体,需要添加进工程中去,“.v”文件中包含IP核的顶层信号。 309475e0c466bc2d8a.png 图8 IP核文件
打开生成的IP核V文件,可以看到IP核内部的信号名前缀加上了设置的名称前缀。 923815e0c4672a4248.png 图9 IP核V文件内部信号
在顶层中将V文件中的信号进行例化: 616295e0c4679e0d1c.png 图10 顶层例化IP核
例化进顶层中后,FIFO IP核即可用于工程接下来的设计。
如有不明白的地方可以加QQ:3358622769,我将会具体的向有需要的同学进行指导。期待与大家一起探讨进步!
0条回答

一周热门 更多>