DDR3 SO-DIMM 内存条硬件总结(一)

最近在使用fpga读写DDR3,板子上的DDR3有两种形式与fpga相连,一种是直接用ddr3内存颗粒,另一种是通过内存条的形式与fpga相连。这里我们正好记录下和ddr3相关的知识,先从DDR3 SO-DIMM 内存条开始。
1.先看内存条的版本
从JEDEC下载的标准书中,看到RAW Card被分为A-F六个版本,各个版本之间的差异在表格中可以清楚看出来。
在这里插入图片描述
差异主要在:条上内存颗粒数量、内存颗粒的位宽、内存条的Rank。

这个版本的意思其实是内存条的不同组织形式,每个版本的特征与将来PCB布局布线、和内存条的频率时序都有关系,设计之初就要确定好。
2.再看看内存条的金手指引出定义
在这里插入图片描述

CK[1:0]、CK[1:0]、CKE[1:0]:时钟输入与使能,6;(反向线用下划线代替)
RAS、CAS:行列选通线, 2;                       WE:写使能,1;
DQ[63:0]:数据输入输出,64;                       A[9:0]、A11、A[15:13]:地址输入线,14;
DM[7:0]:数据掩码线,8;                               DQS[7:0]、DQS[7:0]: 数据选通线,16;
BA[2:0]:SDRAM Bank地址线,3;               S[1:0]:芯片选择,2;
A10/AP:地址输入/自动预充电,1;              A12/BC :地址输入/突发传输,1;
SCL、SDA、SA[1:0]、VDDSPD:SPD和TS电源线、寻址和IIC通信线,5;
ODT[1:0]:终端电阻控制线,2;                    RESET:复位引脚,1;
EVENT:温度事件引脚,1;                           Vtt:端接电压,1;
VDD/VSS:核心和IO电源,2;                     VREFDQ/VREFCA:输入输出参考,2;
TEST、NC:保留,未接,3;

3、内存颗粒分类
内存颗粒可以简单分为78-ball FBGA封装的 和 96-ball FBGA封装的两类,差异主要是数据位宽不同,前者x8,后者x16。
4、SPD数据定义
内存条上存在一个EEPROM存储芯片(The Serial Presence Detect ,SPD),容量通常为128B或256B,用于存储改内存条的一些基础信息。主板需要这些信息进行正确的配置,以便正常使用内存条。存储芯片中各字节存储的信息如下表所示。
在这里插入图片描述
在这里插入图片描述
5、内存条标签
在这里插入图片描述

例:ggggg eRxff PC3-wwwwwm-aa-bb-ccd
            ggggg = Module total capacity, in bytes256MB, 512MB, 1GB, 2GB, 4GB, etc.
            eR = Number of ranks of memory installed : 1R = 1 rank of DDR3 SDRAM installed
                                                                                          2R = 2 ranks
                                                                                          4R = 4 ranks
            xff = Device organization (bit width) of DDR3 SDRAMs used on this assembly
                                                                                x4 = x4 organization (4 DQ lines per SDRAM)
                                                                                x8 = x8 organization
                                                                                x16 = x16 organization
            wwwww = Module bandwidth in MB/s : 6400 = 6.40 GB/s (PC3-800 SDRAMs, 8 byte primary data bus)
                                                                      8500 = 8.53 GB/s (PC3-1066 SDRAMs, 8 byte primary data bus)
                                                                      10600 = 10.66 GB/s (PC3-1333 SDRAMs, 8 byte primary data bus)
                                                                      12800 = 12.80 GB/s (PC3-1600 SDRAMs, 8 byte primary data bus)
            m = Module Type  :E = Unbuffered DIMM ("UDIMM"), with ECC (x72 bit module data bus)
                                               F = Fully Buffered DIMM ("FB-DIMM")
                                               M = Micro-DIMM
                                               R = Registered DIMM ("RDIMM")
                                               S = Small Outline DIMM ("SO-DIMM")
                                               U = Unbuffered DIMM ("UDIMM"), no ECC (x64 bit module data bus)
            aa = DDR3 SDRAM CAS Latency in clocks at maximum operating frequency
            bb = JEDEC SPD Revision Encoding and Additions level used on this DIMM
            cc = Reference design file used for this design (if applicable)
            d = Revision number of the reference design used

6.DDR3芯片的容量计算方法,我们找个镁光的芯片看看
在这里插入图片描述
在这里插入图片描述
我们就用256M16来看。行地址【14:0】共有15位,2的15次方=32k,再看列地址【9:0】共有10位,2的10次方=1024,所以每bank有32k1k=32M, 共有8个bank,所以328=256M.看看手册总容量为4Gb,这里意思是4Gbit,我们计算的256M,是按组织形式16位的,如果换算为bit则,25616=4Gb.这里就说清楚了存储容量的计算。
7.DDR3芯片的带宽、位宽和最大IO时钟频率
在这里插入图片描述
IO时钟频率:
根据Part Number 中的“-125”我们就可以找到图中的tCK = 1.25ns,就可以算出芯片支持的最大IO时钟频率:1/1.25ns = 800Mhz;此处的IO时钟频率也就是DDR3的频率;
位宽:
根据Part Number 中的“256M16”我们可以找到图中2所指出的地方,这里的16是代表芯片的数据位宽是16位(也就是16根数据线)。
注意:
(1)当一个FPGA上挂多个DDR,如4片ddr3,位宽则会相应增大;164 = 64bit,再乘以DDR3的突发长度BL=8;那么程序设计里DDR3的读写位宽就变成了164*8=512bit; (这里留个印象,再后文IP例化及程序设计部分还会讲到,到时候对应起来看更容易理解)
(2)明明是512M的DDR,为什么又写成256M呢?因为256M16是16根数据线16bit,对应过来就是2个byte;256M 16bit = 512MByte; 一般大B 指的是Byte,小b指的是bit;
带宽:
由于是DDR方式传输数据(上升和下降沿都传输),所以芯片的一根数据线上的传输速率 = 2
800Mhz = 1600MT/s。其实就是1600Mbit/s;
带宽就是16根数据线同时传输的数据速率 = 1600Mbit/s x 16 = 25600Mbit/s = 3200Mbyte/s = 3.125GByte/s 。

8.DDR3芯片的使用,一般情况下我们并不会单独的使用一颗ddr芯片,而是会把他级联起来如何连起来我们看图:
在这里插入图片描述
在这里插入图片描述
可以看出我们使用了4颗ddr3芯片,他们是怎么相连的呢?简单的说就是把地址相同的位连在一起,数据线依次排列,单片位16位,4片的话就扩位展为64位。相当于一颗位宽为64位的DDR3芯片,其余的信号怎么连我们后面再继续分析。
9.DDR3 SO-DIMM内存条的接口定义如下图:
在这里插入图片描述
后续需要补充的我们随后继续添加

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值