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

文摘   2024-11-13 14:50   江苏  
一、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 Meg×8和256 Meg×16两种参数配置,对应的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=421×833ps=350ns,REF命令到ACT或REF命令时间,从手册参数可以看出,8Gb对应的数值为350ns。

tREFI=9363×833ps=7799.379ns=7.8us,平均定期刷新时间间隔,从手册参数可以看出,温度在-40℃到85℃之间,8Gb对应的数值为7.8us。

tRP=16×833ps=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=10×833ps=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×^10×2^2×2×16=8Gb。

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

四、往期文章链接

Xilinx UltraScale+DDR4项目开发(一)——DDR4 MIG的ip接口信号

Xilinx UltraScale+DDR4项目开发(二)——DDR4 MIG的时钟网络


小灰灰的FPGA
努力成为一名FPGA全栈工程师,分享FPGA、嵌入式、硬件及软件知识,扩充自己的知识面,比如图像处理,通信协议以及数据处理等方向。
 最新文章