参考小梅哥视频:https://www.bilibili.com/video/BV1va411c7Dz/?p=48&spm_id_from=pageDriver&vd_source=aedd69dc9740e91cdd85c0dfaf25304b
一、DDR3的MIG配置
找到MIG的IP核
AXI4 interface不用勾选
不需要兼容以下的FPGA就不用勾选
选择DDR3
1.1 Controler Option(控制器选项)
我的开发板是小梅哥的Zynq7015.
1.1.1 三种频率:
接口时钟频率——在DDR3的接口部分,例如 400MHZ 双沿传输
等效时钟频率——换算成单沿,即800MHZ
芯片内核工作时钟——内存芯片的内部工作时钟
1.1.2 PHY to Controller Clock Ratio(4:1)
接口时钟频率为 400MHz,那么读写的数据到用户逻辑侧或者DDR芯片内部,工作时钟就是 100MHz
1.1.3 Memory Type
片上内存颗粒,不是内存条,就选component。
1.1.4 memory part选择规格
MT41K256M16XX-125
应该是16位的数据带宽,1.5v的电压
1.1.5 Data Mask
数据掩码,勾选则只对低八位进行修改(内存是16位时)
1.1.6 Number of Banks
银行是DDR内存芯片的内部存储阵列结构的一部分。一个内存芯片被逻辑上划分为几个独立的银行,每个银行都有自己的行列解码器、感应放大器和I/O电路。
增加银行数量的目的是为了提高内存的并行访问能力和吞吐量。当系统需要访问内存时,它可以同时访问不同银行中的数据,从而提高效率。如果只有一个银行,那么就需要严格按顺序访问,效率会降低。
这里用默认的4个
1.1.7 Ordering(排序)
选择默认的strict,避免对指令重排序。
1.2 Memory Option
在这里选择200MHZ。因为板子上有一个50MHZ的晶振,在通过PLL之后,可以用来做200MHZ的输入。
1.3 FPGA Option
1.3.1 System Clock 和Reference Clock
使用No Buffer选项,说明时钟是在内部产生的,第二个Reference Clock。
1.4 Extended FPGA Option
1.5 lO Planning Options
New是指选择最适合的引脚,Fixed是在现成的FPGA开发板上进行项目的建立。
1.6 Pin Selection
直接导入开发板的引脚文件.XDC,我放在
E:\FPGA\FPGA学习\DDR用到的引脚文件