FPGA——调用DDR的IP核(MIG核)

  • Post author:
  • Post category:其他


关于DDR的基础知识可以看这篇文章:


FPGA ——DDR基础概念详解_居安士的博客-CSDN博客

总的来说,DDR是一个结构非常复杂的动态存储器,时序自己去写是非常困难的,但是Xilinx给我们有现成的封装好的IP核,我们只要学会调用和修改参数就可以了,下面就介绍一下如何调用DDR的IP核


调用MIG核

在ip核处搜“mig”,双击:

修改名称,选择自己要控制的DDR个数,把AXI4总线勾选上

选择DDR3

选择※

DDR


芯片时钟:

由MIG核送给FPGA外的DDR3芯片

注意这里的4:1,代表MIG给DDR为400MHZ,给用户的接口是1/4的400MHZ,即100MHZ

※根据硬件DDR选型选DDR型号:

根据核心板原理图(U6为DDR)型号为MT41J128M16JT-125IT

如果没有符合的选型,可以自己创建一个,点击create custom part,根据数据手册自己输入参数和名称即可



DDR


输入时钟:

此处选择的时提供给MIG核的时钟

建议选择200MHZ和参考时钟相同

注意,这个地方只选了输入时钟的频率,并没有让选输入时钟的形式,输入时钟形式在下一页面选择

把鼠标滚动到最下面,选择先行后bank(目的是减少DDR刷新频率)



MIG核输入时钟的形式选择

输入MIG核的时钟可以从FPGA外部直接给,也可以从FPGA内部给,如果时钟从外部给,那么可以选择差分,如果时钟从内部给,那么选no buffer(没有buffer计)或者单端。



MIG参考时钟

(为200MHZ),因为刚刚系统时钟已经选择了200M,所以选择使用系统时钟(use system clock):

※管脚分配

选择自己创建需要根据原理图中DDR对找到应的FPGA管脚,输入Bank号,标号,管脚号

选择自动生成:添加UCF文件

添加后,进行校验,看是否成功:

之后一直勾选默认,生成MIG核完毕


这里面的四个时钟(DDR芯片时钟,DDR输入时钟,DDR参考时钟,用户时钟)是非常叫人迷惑的,下面画张图帮助理解



版权声明:本文为weixin_46188211原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。