Xilinx MIG 控制器使用详解(一)

想要自己学习MIG控制器已经很久了,刚开始学习的时候也是在网上到处搜索MIG控制器的资料,深知学习过程的不容易。因此本系列的教程一定会详细的写出关于MIG控制器的相关知识,方便大家一起学习。有问题的朋友可以在下方留言,一起学习和讨论。

关于DDR3的基本知识在这里我就不详细说了,只有在相关的地方会提上一嘴。本教程的目的只是教会大家如何使用MIG控制器,大家一定不要觉得MIG控制器有多难,其实很简单的,跟着我在心里默念“MIG就像BRAM一样简单”。确实哈,当你回过头来看,MIG控制器的使用基本和BRAM的使用方法很像。

话不多说了,那么这第一个系列,我就先交大家来例化一个MIG控制器。

VIVADO版本:2016.4
芯片:zynq7035
1、打开vivado,新建一个工程,工程路径和名字自己定。

2、点击左侧的“IP Catalog”。

3、输入“MIG”,搜索MIG控制器。

4、双击“MIG”控制器,对MIG控制器进行设置。

5、然后会出来一个MIG控制器编辑界面,如下。直接NEXT.

6、选择“Create Design”,然后Next。(Number of Controllers 指的是你要几个控制器,AXI4 Interface指的是MIG是AXI4接口的,其他的选项你不用了解了)

7、 这里问的是你要不要兼容其他芯片,这里不用兼容,直接Next。

8、 选择“DDR3 SDRAM”,然后Next

9、这个界面很重要,有很多东西需要理解。按照如下设置,其他不变,然后Next。

解释:1、这里的400MHz指的是在DDR3这个芯片里面实际跑的时钟频率

                   2、4:1,指的是    DDR3时钟频率 : MIG控制器给用户的时钟频率 = 4:1。也就是,如果你设置DDR3的工作频率是400MHz,那么MIG控制器会给你一个100MHz的用户时钟。那这个用户时钟拿来跟什么呢?这个用户时钟是用来作为读MIG控制器地址生成的时钟。

                  3、Components指的是DDR3的型号是元件类,而不是像笔记本那种的插条类。笔记本是SODIMMs。这里一共有四个选项。

                  4、这是DDR3芯片型号,根据你的DDR3芯片手册来选。

                  5、电压,根据你的DDR3芯片手册来选。

                  6、DDR3的物理位宽,这个需要根据你自己的芯片来选择。

10、按如下设置,这个页面的选项也很重要。

1、这里的Input Clock Period 指的是输入到MIG里面的时钟是400MHz

            2、这里设置读写为顺序读写,并且burst的长度设置为8。注意界面的小字部分。

            3、这个我也不太清楚。

11、这个界面也很重要。按照如下设置,然后Next.


第一个是系统时钟System Clock: No Buffer, 为甚么选No Buffer,我也不太清楚,有知道的朋友可以在评论区下留言。

 第二个是参考时钟Reference Clock:No Buffer,为甚么选No Buffer,我也不太清楚,有知道的朋友可以在评论区下留言。

第三个是系统复位极性,是对MIG控制器复位。这里选择低电平复位。

第四个是不需要系统调试信号。所以第五个Sample Data Depth 就不可选了。

第七个IO Power Reduction 是指打开低功耗。

第八个是XADC补偿使能。

12、内部终端电阻设置50欧姆。然后Next.

13、选择DDR3芯片引脚。这些引脚可以在电路原理图上查到,但是这样配置芯片引脚会很慢的。选择第二个,然后Next

选择第二个,直接读取DDR3的引脚,这样就不用进行配置了。

14、选“Read XDC/UCF” 直接读取DDR3的引脚。然后再点“Validate”,验证已经选择的引脚是否正确。只有验证正确了才可以点击Next.

15、剩下的就一直Next,遇到Accept就Accept ,最后Generate。

---------------------
作者:MaoChuangAn
来源:CSDN
原文:https://blog.csdn.net/MaoChuangAn/article/details/85268231

最新文章

最新文章