Xilinx FPGA DDR3设计(一)DDR3基础扫盲

本文转载自:FPGA技术实战

注:本文由作者授权转发,如需转载请联系作者本人

引言:本文我们介绍下DDR3的基础知识,涉及DDR3管脚信号、容量计算、重要参数介绍内容。

01.DDR3 SDRAM概述
DDR3 SDRAM 全称double-data-rate 3 synchronous dynamic RAM,即第三代双倍速率同步动态随机存储器。双倍速率(double-data-rate),是指时钟的上升沿和下降沿都发生数据传输;同步,是指DDR3数据的读取写入是按时钟同步的;动态,是指DDR3中的数据掉电无法保存,且需要周期性的刷新,才能保持数据;随机,是指可以随机操作任一地址的数据。

以镁光MT41K256M16RH-107为例(以下介绍均以此芯片为例),该芯片容量为512GB(4Gbit),器件内部功能模块组成如图1所示。

图1、256M×16功能框图

02.DDR3 SDRAM管脚介绍

图2、×16芯片FBGA封装管脚分布

由图1和2图所示,DDR3管脚根据不同的功能可以分为:数据组、地址组、控制组和电源组四大类型。

2.1 数据组:DQ[15:0]、UDQS/UDQS#、LDQS/LDQS#、UDM、LDM。

DQ[15:0]:双向信号,16位数据总线;

UDQS/UDQS#、LDQS/LDQS#:双向信号,数据选通信号,用于数据同步;

UDM、LDM:数据屏蔽信号。

2.2 地址组:BA[2:0]、A[14:0]。

BA[2:0]:Bank地址信号;

A[14:0]:地址总线。

2.3 控制组:CK/CK#、CKE、CS#、RAS#、CAS#、WE#、RESET#、ODT、 ZQ#

CK/CK#:时钟信号,双沿采样DQ数据;

CKE:时钟使能信号;

CS#:DDR3片选信号,低有效;

RAS#:行选通信号;

CAS#:列选通信号;

WE#:写使能信号;

ODT:片上终端使能信号。DDR3芯片数据组是有片上端接的,无需外部端接,而控制信号和地址信号为保证信号完整性需要端接匹配;

ZQ:校准管脚,下拉240Ω电阻到VSSQ。

2.4 电源组:

VDD:电源电压,1.5V±5%;

VDDQ:DQ供电,1.5V±5%;

VREFCA:控制、命令和地址参考电压,电压为VDD/2;

VREFDQ:数据参考电压,电压为VDD/2;

03.DDR3 寻址及容量计算
3.1 DDR3数据寻址

图3、DDR存储阵列示意

如图3所示,DDR3的内部是一个存储阵列,类似一张二维表格,数据读写操作即对这个阵列进行操作。所谓寻址就是操作指定表格单元(图中黄色单元格)所需的步骤,即读写某个表格单元,需要先指定一个行(Row),再指定一个列(Column)。这个表格通常称为逻辑Bank,一个DDR3有多个Bank组成。

3.2 容量计算

以镁光MT41K256M16RH-107为例。

图4、DDR3地址组成

由图4可以,Row address = 15bit,Column address = 10bit,Bank address = 3bit,则器件总存储单元为:

2^15×2^10×2^3 = 2^28= 256M单元格,每个单元格为16bit,总计容量为:256M×16bit = 512MB(4Gbit)。

04.DDR3 关键参数解析
DDR3器件手册给出了非常详尽的参数介绍,里面有几个非常重要的参数下面来介绍一下。

4.1 突发传输及突发长度

图5、非连续突发读操作

突发是指在同一行中相邻的存储单元连续进行数据传输的方式。如图5所示,突发长度BL=8,即送出一次读命令和读地址,连续输出8个数据。

另外,连续读取操作,即控制好两次突发读间隔时间,即可实现连续读输出操作,如图6所示,图中需要控制好参数tCCD。

图6、连续读操作

4.2 CAS Latency(CAS潜伏期)

该参数又称读取潜伏期或列地址脉冲选通潜伏期,简写成CL,该参数以时钟周期为单位,该参数表示从读命令和地址有效发出后,数据稳定数据的延迟时钟个数。如图7所示,当CL=6时,有效数据在6个时钟之后输出。

图7、读延迟周期CL = 6

4.3 tRCD:RAS至CAS延迟

tRCD表示行地址选通脉冲到列地址选通脉冲延迟,如图8所示,该参数以时钟周期为单位。

图8、读操作

4.4 附加延迟(AL)

如图8所示,AL = 5,CL = 6,由此读操作有效数据在RL = AL + CL = 11个时钟后输出。

4.5 tRP预充电周期

图9、tRP预充电周期

预充电有效周期,在发出预充电命令之后,要经过一段时间才能允许发送RAS行有效命令打开新。

最新文章