问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
https://fpga.eetrend.com/blog/2024/100580933.html

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。

2、DDR4与DDR3的区别

DDR4是第四代双倍速率同步动态随机存取存储器,相较于DDR3,它在功耗、核心频率、容量上都有显著提升。DDR4引入了Bank Group结构,有效降低了读写命令访问不同Bank的时延。

  • 更快的速度和更大的带宽

  • 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等。

  • 更低的工作电压,更低的功耗

  • DDR3:工作电压为1.5V。

  • DDR4:工作电压为1.2V。

二、MIG IP核概述

MIG是Xilinx提供的一个用于自动生成与DDR4内存接口的硬件IP核。它包括物理层、控制器和用户接口三个主要部分,极大地简化了FPGA与DDR4内存的集成和控制。

  1. 物理层
  • 与外部DDR4 SDRAM的高速接口,包括高速时钟生成、数据传输、DDR初始化操作和校正操作等等
  1. 控制器
  • 接收用户的读写命令,并有效传递到物理层,转换为具体的读写控制操作。
  1. 用户接口
  • 提供给用户简单易使用的接口,有NATIVE接口和AXI4接口两种。

三、DDR4 MIG IP核配置步骤

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

  1. 打开Vivado项目
  • 启动Vivado并创建新项目。
  1. 添加MIG IP核
  • 在IP Catalog中搜索"MIG",选择DDR4 SDRAM(MIG),然后添加到项目中。
  1. Board设置
  • 如果工程选择的是xilinx官方开发板,则会有这个Board设置界面,否则没有。
  • 这里可以选择设置sys_clk和DDR4芯片选择,可选择custom、板载时钟或DDR3芯片型号。
  1. 基本配置
  • 在Basic界面中,设置大部分参数。
  • Controller/PHY Mode
  • 设置控制器或物理层模式,默认选择Controller and physical layer即可,除非你想自己实现控制器或物理层。
  • AXI4 Interface
  • 是否选择AXI4接口,勾选表示选择AXI4接口,否则使用NATIVE接口。
  • Clocking
  • Memory Device Interface Speed:DDR4内部运行时钟频率设置。
  • PHY to controller clock frequency ratio:物理层与控制层时钟频率比例,一般选择默认的4:1。
  • Reference Input Clock Speed:输入参考时钟频率。
  • Controller Options
  • Configuration:选择DDR的类型,可选Components、DIMM(双列直插式存储模块)和SO-DIMM(小外形双双列直插式内存模块),一般默认选择Components。
  • Memory Part:DDR4芯片型号。
  • Slot:插槽类型,可选单插槽或双插槽,默认选择single。
  • IO Memory Voltage:io工作电压,默认选1.2v即可。
  • Data Width:数据位宽,根据实际的DDR芯片组选择即可,这里选择64。
  • 其它几个参数可以不用管。
  1. AXI Options
  • 如果选择的AXI4接口,会多出一个AXI Options界面,一般默认即可,不需要修改。
  • Data Width:数据位宽
  • Arbitration Scheme:仲裁机制,不同的调度策略,默认选择RD PR IREG。
  • ID Width:ID信号位宽。
  • Address Width:地址信号位宽。
  1. Advanced Clocking
  • 根据需求配置额外的用户时钟。
  • System Clock Options:输入时钟类型选择,可选Differential(差分时钟)或No Buffer。
  • Additional Clock Output:额外输出4个时钟信号输出,可自定义输出时钟频率。
  1. Advanced Options
  • 高级选项设置,可设置调试接口信号,仿真测试模式,仿真测试激励,默认即可。
  1. IO Planning and Design Check_list
  • IO引脚分配方式,设计概览清单,无参数设置,了解即可。

四、分析

与DDR3 MIG IP核配置相比,DDR4 MIG IP核配置操作更简单明了。但大家有没有发现,DDR4( MIG)没有配置引脚约束。这是因为DDR4的引脚约束,默认放到xdc约束文件中了,大家需要创建DDR4相关的引脚约束文件即可。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号