Xilinx UltraScale+DDR4项目开发(三)——DDR4器件选型与MIG IP的配置

在这里插入图片描述

本节目录

一、DDR4器件选型与MIG IP的配置
二、DDR4参数值含义
三、DDR4器件容量计算
四、往期文章链接

本节内容

一、DDR4器件选型与MIG IP的配置

DDR4器件选型,需要根据项目中内存的容量需求,读写速率,成本等各方面考虑,对于FPGA开发者,需要根据DDR4 MIG的IP控制器的性能进行选型,并配置。当然,若IP的库中有对应的DDR4型号,则可以直接选择;若没有硬件采购的DDR4型号,则需要根据DDR4器件手册进行MIG IP的定制化。
DDR4器件的芯片手册中,FPGA开发者需要关注哪些参数?比如:容量配置,封装型号,速度等级以及对应版本等等。这些参数不仅与业务紧密结合,同时与硬件也息息相关。这些参数也会在Vivado的DDR4 MIG IP核的界面进行选择,适配不同硬件的DDR4接口,从而在FGPA内部实现对DDR4的读写控制。
在这里插入图片描述

容量配置上来看,支持的521 Meg8和256 Meg16两种参数配置,对应的DDR4的物理接口是不相同的。通常是Bank group的差异,也就是bank groups的数量上的差异。
在这里插入图片描述

速度等级,直接体现了DDR4的数据传输效率。时钟频率,I/O buffer(输入/输出缓冲)的传输频率TCK,0.625ns/0.750ns/0.833ns。数据在时钟的双边沿采样,故有效数据传输频率为时钟频率的两倍,数据传送频率(等效频率),实际应用中测试时关注的时钟频率,下图中的3200MHz/2666MHz/2400MHz。
在这里插入图片描述

DDR4 MIG的IP中选择型号为MT40A512M16HA-083E,此时CL即Cas Latency选择12/16。
在这里插入图片描述
在这里插入图片描述

二、DDR4参数值含义

在这里插入图片描述

tCK=833,内存时钟频率为833ps,1200Mhz,其他的参数都是以tCK为基准来描述的。
tRFC=421833ps=350ns,REF命令到ACT或REF命令时间,从手册参数可以看出,8Gb对应的数值为350ns。
tREFI=9363
833ps=7799.379ns=7.8us,平均定期刷新时间间隔,从手册参数可以看出,温度在-40℃到85℃之间,8Gb对应的数值为7.8us。
tRP=16833ps=13.328ns,预充电指令周期,DDR4-2400-083E的tRP最小值为13.32ns。
tRCD=16
833ps=13.328ns,激活到内部的读取或写入延迟时间,DDR4-2400-083E的tRCD最小值为13.32ns。
tRAS=39,启动到预充入的命令周期,DDR4-2400-083E的tRAS最小值为32。
在这里插入图片描述

tRTP=10833ps=8.3ns,读至预充电时间,DDR4-2400-083E的tRTP最小值为4个tCK或者7.5ns。
tWR=20
833ps=16.66ns,写入恢复时间,DDR4-2400-083E的tWR最小值15ns。
在这里插入图片描述

至于其他参数,FPGA开发者可以根据所使用的DDR4器件手册进行对比,实际开发中并不需要如此,但是可以学习了解。

三、DDR4器件容量计算

AXIfull接口,通常需要对DDR4的内存地址进行映射处理,ddr4的axifull分配的地址内存空间大小为4G字节,也就是32Gb。但是IP核里面8Gb,这两者之间是如何转换计算的?
在这里插入图片描述
在这里插入图片描述

先了解下8Gb的计算方法,从DDR4器件型号来看,MT40A512M16HA-083,其中容量表示512M16HA,即512Mb * 16=8Gb。从内存的16bit位宽,Row=16,Column=10,Bank=2和Bank Group=1来计算,
2 ^ 16 * 2 ^ 10 * 2 ^ 2 * 2 * 16=8Gb。
在这里插入图片描述

那么问题来了,8Gb=1GB,为什么AXIfull的地址内存为4GB?
这个跟硬件上DDR4的颗粒有关系了,在上面IP配置中,数据位宽选择64,也就是4 * 16,硬件上使用了4个DDR4颗粒,故4 * 1GB=4GB,是DDR4的内存总容量。
在这里插入图片描述

四、往期文章链接

UltraScale+FPGA中Serdes的多lane对齐异常解决方案
vivado时序报告中slack是如何计算的?如何优化时序?
UltraScale+FPGA中GTY的TX路径时钟详解——以40G的ETH MAC IP为例
vivado时序优化——约束异步时钟组set_clock_groups
基于FDMA和AXI4接口的DDR4遍历读写测试
基于fpga的图像处理之3x3_5x5算子模板设计
基于fpga的图像处理之3x3_5x5算子模板中值排序
基于fpga的图像处理之图像灰度化处理(Vivado+Modelsim+Matlab联合仿真验证)
AXI协议之AXILite开发设计(一)
AXI协议之AXILite开发设计(二)
AXI协议之AXILite开发设计(三)
AXI协议之AXILite开发设计(四)
AXI协议之AXILite开发设计(五)
FPGA和Matlab的FFT功能验证(一)
FPGA和Matlab的FFT功能验证(二)
FPGA和Matlab的FFT功能验证(三)
跟小灰灰一起学vivado:7系列FPGA的MultiBoot和Fallback功能更新固件
跟小灰灰一起学vivado:7系列FPGA配置模式之配置数据文件格式和配置时序步骤
跟小灰灰一起学vivado:7系列FPGA配置模式之主SPI四路(x4)
跟小灰灰一起学vivado:PCIe XDMA实现远程更新FPGA固件
Xilinx UltraScale+DDR4项目开发(一)——DDR4 MIG的ip接口信号
Xilinx UltraScale+DDR4项目开发(二)——DDR4 MIG的时钟网络
Xilinx UltraScale+DDR4项目开发(三)——DDR4器件选型与MIG IP的配置
低速接口项目之串口Uart开发(一)——串口UART
低速接口项目之串口Uart开发(二)——FIFO实现串口数据的收发回环测试
低速接口项目之串口Uart开发(三)——串口发送模块和接收模块
低速接口项目之串口Uart开发(四)——UART串口实现FPGA内部AXILITE寄存器的读写控制
低速接口项目之串口Uart开发(五)——QT实现Uart串口寄存器读写工具
低速接口项目之串口Uart开发(六)——zynq系列ps-pl端uart实现共享Axilite内部寄存器的读写
低速接口项目之串口Uart开发(七)——如何在FPGA项目中实现自适应波特率串口功能
低速接口项目之串口Uart开发(八)——如何通过ps侧的串口实现zynq的在线升级(一)
低速接口项目之串口Uart开发(九)——如何通过ps侧的串口实现zynq的在线升级(二)
低速接口项目之串口Uart开发(十)——基于EMIO的自定义PL串口实现zynq的在线升级

### 关于DDR4 IP核的信息 DDR4内存控制器IP核是一种用于管理DDR4 SDRAM操作的硬件模块,通常由FPGA厂商或第IP供应商提供。这些IP核可以显著简化设计流程并提高系统的性能和可靠性。 #### DDR4 IP核的主要功能 DDR4 IP核主要负责初始化、配置以及控制DDR4存储器的操作。它支持多种特性,包括但不限于动态刷新、突发长度调整、电压调节等功能[^1]。此外,在实际应用中还需要验证诸如`lpddr4_timing.c`这样的文件中的DDRC参数是否被正确写入到DDR控制器中。 对于特定平台的选择限制情况也有描述,例如当面对不同类型的SDRAM标准时(比如从DDR3升级至更高版本),可能会遇到兼容性问题或者规格上的局限性。正如所提到的例子那样,“如果仅能选用最高频率为1600MT/s而非更高速度等级,则需依据具体需求来决定最终方案。” 这一点表明了即使是在同一系列产品之间也可能存在差异化的技术支持范围[^2]。 #### 获取DDR4 IP核的方法 要获得适合项目DDR4 IP核心,可以通过以下几个途径: 1. **官方渠道**: 大多数主流半导体公司如Xilinx, Intel(Altera), Microsemi等都提供了各自的DDR解决方案包,其中包含了针对其设备优化后的DDR接口逻辑单元。 2. **授权购买**: 如果目标不是上述大厂的产品线而是其他特殊架构处理器的话,则可能需要向专门从事此类业务的企业寻求合作机会并通过正式合同形式取得使用权许可。 以下是基于Python实现的一个简单示例程序片段展示如何读取某些寄存器值以确认设置无误: ```python def check_ddrc_parameters(ddrc_base_address): timing_register = ddrc_base_address + 0x100 # 假设timing register位于此偏移处 with open('/dev/mem', 'rb') as f: f.seek(timing_register) value = int.from_bytes(f.read(4), byteorder='little') return value == expected_value # 预期值应根据实际情况定义 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰的FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值