一文搞懂DDR4 MIG IP核详细介绍与配置

作者:FPGA入门到精通

DDR4 SDRAM因其高速、大容量的特点,在FPGA设计中扮演着越来越重要的角色。

Xilinx提供的Memory Interface Generator (MIG) IP核,为FPGA与DDR4内存的交互提供了便捷的解决方案。

本文将详细介绍DDR4 MIG IP核及其配置过程。

一、DDR4内存基础

1、什么是DDR?

DDR(Double Data Rate)是一种内存技术,它允许内存模块在系统时钟的上升和下降沿都进行数据传输,因此每个时钟周期可以传输两次数据,就像一条双车道的高速公路,每个方向都可以同时跑车,这样就能比以前单方向的内存(比如SDRAM)传输更多的数据,从而提高了数据传输的速率。

DDR SDRAM(同步动态随机存取存储器)是这种技术的早期版本,随后又发展出了DDR2、DDR3、DDR4和DDR5等多个版本,每一代都在前一代的基础上提供了更高的数据传输速率和带宽,以及更低的功耗和改进的稳定性。

很常见,我们电脑中使用的内存条就是DDR。

1.png

2、DDR4与DDR3的区别

DDR4是第四代双倍速率同步动态随机存取存储器,相较于DDR3,它在功耗、核心频率、容量上都有显著提升。

DDR4引入了Bank Group结构,有效降低了读写命令访问不同Bank的时延。

(1)更快的速度和更大的带宽

DDR3:最高支持2133 MT/s(兆传输每秒),实际使用中常见的速度有1333 MT/s和1600 MT/s。

DDR4:起始速度为2133 MT/s,最高支持速度超过3200 MT/s,常见的速度有2400 MT/s、2666 MT/s、2800 MT/s、3000 MT/s等。

(2)更低的工作电压,更低的功耗。

DDR3:工作电压为1.5V。

DDR4:工作电压为1.2V。

二、MIG IP核概述

MIG是Xilinx提供的一个用于自动生成与DDR4内存接口的硬件IP核。

它包括物理层、控制器和用户接口三个主要部分,极大地简化了FPGA与DDR4内存的集成和控制。

2.png

1、物理层

与外部DDR4 SDRAM的高速接口,包括高速时钟生成、数据传输、DDR初始化操作和校正操作等等

2、控制器

接收用户的读写命令,并有效传递到物理层,转换为具体的读写控制操作。

3、用户接口

提供给用户简单易使用的接口,有NATIVE接口和AXI4接口两种。

三、DDR4 MIG IP核配置步骤

DDR4 MIG IP核配置操作,比DDR3 MIG IP核配置操作简单很多。

1、打开Vivado项目

启动Vivado并创建新项目。

2、添加MIG IP核

在IP Catalog中搜索"MIG",选择DDR4 SDRAM(MIG),然后添加到项目中。

3.png

3、Board设置

如果工程选择的是xilinx官方开发板,则会有这个Board设置界面,否则没有。

这里可以选择设置sys_clk和DDR4芯片选择,可选择custom、板载时钟或DDR3芯片型号。

4.png

4、基本配置

在Basic界面中,设置大部分参数。

5.png

6.png

(1)Controller/PHY Mode

设置控制器或物理层模式,默认选择Controller and physical layer即可,除非你想自己实现控制器或物理层。

(2)AXI4 Interface

是否选择AXI4接口,勾选表示选择AXI4接口,否则使用NATIVE接口。

(3)Clocking

Memory Device Interface Speed:DDR4内部运行时钟频率设置。

PHY to controller clock frequency ratio:物理层与控制层时钟频率比例,一般选择默认的4:1。

Reference Input Clock Speed:输入参考时钟频率。

(4)Controller Options

Configuration:选择DDR的类型,可选Components、DIMM(双列直插式存储模块)和SO-DIMM(小外形双双列直插式内存模块),一般默认选择Components。

Memory Part:DDR4芯片型号。

Slot:插槽类型,可选单插槽或双插槽,默认选择single。

IO Memory Voltage:io工作电压,默认选1.2v即可。

Data Width:数据位宽,根据实际的DDR芯片组选择即可,这里选择64。

其它几个参数可以不用管。

5、AXI Options

如果选择的AXI4接口,会多出一个AXI Options界面,一般默认即可,不需要修改。

7.png

Data Width:数据位宽

Arbitration Scheme:仲裁机制,不同的调度策略,默认选择RD PR IREG。

ID Width:ID信号位宽。

Address Width:地址信号位宽。

6、Advanced Clocking

根据需求配置额外的用户时钟。

8.png

System Clock Options:输入时钟类型选择,可选Differential(差分时钟)或No Buffer。

Additional Clock Output:额外输出4个时钟信号输出,可自定义输出时钟频率。

7、Advanced Options

高级选项设置,可设置调试接口信号,仿真测试模式,仿真测试激励,默认即可。

9.png

8、IO Planning and Design Check_list

IO引脚分配方式,设计概览清单,无参数设置,了解即可。

10.png

四、分析
与DDR3 MIG IP核配置相比,DDR4 MIG IP核配置操作更简单明了。

但大家有没有发现,DDR4( MIG)没有配置引脚约束。

这是因为DDR4的引脚约束,默认放到xdc约束文件中了,大家需要创建DDR4相关的引脚约束文件即可。

最新文章

最新文章