23-DDR3电路设计
DDR3电路设计
视频链接
DDR3硬件电路设计
1、DDR3基本介绍
DDR存储器是高速硬件电路设计中不可或缺的一个重要部分,由于其高速特性,造成电路设计具有一定的挑战。其中原理图和PCB的设计都很重要,缺一不可!
//
感兴趣的话可以做一些仿真(sigrity: 时域、频域、电热仿真等)
详细内容参考B站更新的sigrity仿真内容
Sigrity-Power SI-走线阻抗和耦合性检查分析01_哔哩哔哩_bilibili
Sigrity-POWER SI 模型抽取-S参数的提取-01_哔哩哔哩_bilibili
Sigrity-SPEED2000 SRC-SI Metrics Check串扰分析01_哔哩哔哩_bilibili
POWER SI-噪声耦合分析01_哔哩哔哩_bilibili
POWER SI-3DFEM全波场S参数模型提取01_哔哩哔哩_bilibili
Power DC直流压降仿真分析01_哔哩哔哩_bilibili
Sigrity-Speed 2000 DDR Simulation 01_哔哩哔哩_bilibili
Optimize PI电容优化仿真分析01_哔哩哔哩_bilibili
//
RAM 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。
按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
静态随机存储器SRAM(Static RAM)不需要刷新电路即能保存它内部存储的数据。
DRAM则每隔一段时间,要刷新充电一次,否则内部的数据即会消失。
动态随机存储器SDRAM(Synchronous DRAM)即同步动态随机存取存储器。
1、同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准(其总线工作在同步时序的方式下,总线时钟以CPU时钟频率为基准。)
2、动态是指存储阵列需要不断的刷新来保证数据不丢失;
3、随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
DDR(X)就属于SDRAM。
同步SDRAM根据时钟边沿读取数据的情况分为SDR和DDR技术,DDR从发展到现在已经经历了五代,分别是:第一代DDR SDRAM,第二代DDR2 SDRAM,第三代DDR3 SDRAM,第四代,DDR4 SDRAM,第五代,DDR5 SDRAM。
DDR1 | DDR2 | DDR3 | DDR4 | DDR5 |
2.5V | 1.8V | 1.5V | 1.2V | 1.1V |
随着技术的发展,DDR4到了DDR5,电压从1.2V将会变到1.1V,下降了8.3%,这是几代DDR总线以来下降比例最少的一次。所以对于低功耗的设计难度越来越大。这么低的电压,其抗干扰设计就会更加的难。对于电源完整性和信号完整性的设计要求就越来越严苛。
DDR3:第三代双倍数据率同步动态随机存取存储器(Double-Data-Rate Three Synchronous Dynamic Random Access Memory,一般称为DDR3 SDRAM)。
LPDDR3:Low Power Double Data Rate SDRAM,是一种低功耗DDR。
DDR3L:DDR3 Low Voltage,是一种低电压DDR。
DDR的厂家有三星、镁光、海力士、东芝、长鑫(国产)、紫光(国产)等。
2、DDR3命名规范及详解
2.1、DDR3容量计算
B代表Bank地址编号,C代表列地址编号,R代表行地址编号。
三个规格存储容量相同,差别只在于信号定义,封装也是相同的。
存储单元总数=行×列×逻辑Bank数量
2.2、DDR3封装(78球和96球;4种尺寸大小)
封装(Packages):4/8bit芯片采用78球FBGA封装,16bit芯片采用96球FBGA封装。
(具体的参考datasheetP23-P26)
尺寸:10.5MM X 12MM
尺寸:10.5MM X 9MM
尺寸:14MM X 10MM
尺寸:14MM X 9MM
2.3、DDR3的速率
3、DDR3与DDR2的区别:
1.突发长度(Burst Length,BL)
2.寻址时序(Timing)
3.DDR3新增的重置(Reset)功能
4.DDR3新增ZQ校准功能
5.参考电压分成两个
6.点对点连接
3.1、内存改进
1、逻辑Bank数量
2、封装(Packages)
3、降低功耗
3.2、性能优势
3.3、基本规格对比
DDR3 | DDR2 | |
电压VDD/VDDQ | 1.5V/1.5V(+/-0.075) | 1.8V/1.8V(+/-0.1) |
I/O接口 | SSTL_15 | SSTL_18 |
数据传输速率(Mbps) | 800/1066/1333/1600 | 400/533/667/800 |
容量标准 | 512MB-8GB | 256MB-4GB |
CL(CAS潜伏期) | 5/6/7/8/9/10/11 | 3/4/5/6 |
AL(附加潜伏期) | 0/CL-1/CL-2 | 0/1/2/3/4 |
RL(读取潜伏期) | AL+CL | AL+CL |
WL(写入潜伏期) | AL+CWL(CWL=5/6/7/8) | RL-1 |
预取设计(bit) | 8bit | 4bit |
逻辑Bank数量 | 8(512MB/1GB/4GB/8GB) 16 | 4(256MB/512MB) 8(1GB/2GB/4GB) |
突发长度 | BL4/BL8 | BL4/BL8 |
封装 | FBGA 78-ball:×4/×8 96-ball:×16 | FBGA 60-ball:×4/×8 84-ball:×16 |
引脚标准 | 240Pin DIMM | 240Pin DIMM |
3.4、带宽速率对比
DDR3的催生是源于处理器外频增加引起的对内存带宽增长需求;
DDR3存在的最根本意义在于能提供比DDR2更高的数据传输率。
带宽对比如下
内存 | 标准 | 核心 频率 | I/O频率 | 有效传输频率 | 单通道 带宽 | 双通道 带宽 |
DDR2-667 | PC2-5300 | 166MHz | 333MHz | 667MHz | 5.3GB/s | 10.6GB/s |
DDR2-800 | PC2-6400 | 200MHz | 400MHz | 800MHz | 6.4GB/s | 12.8GB/s |
DDR3-800 | PC3-6400 | 100MHz | 400MHz | 800MHz | 6.4GB/s | 12.8GB/s |
DDR3-1066 | PC3-8500 | 133MHz | 533MHz | 1066MHz | 8.5GB/s | 17.0GB/s |
DDR3-1333 | PC3-10600 | 166MHz | 667MHz | 1333MHz | 10.6GB/s | 21.3GB/s |
DDR3-1600 | PC3-12800 | 200MHz | 800MHz | 1600MHz | 12.8GB/s | 25.6GB/s |
DDR3,8-bit预取技术,一次从存储单元预取8-bit的数据,在I/O端口处上下沿触发传输,8-bit需要4个时钟周期完成,所以DDR3的I/O时钟频率是存储单元核心频率的4倍,由于是上下沿都在传输数据,所以实际有效的数据传输频率达到了核心频率的8倍。
4、DDR3基本技术原理
DDR里面主要使用了Double Data Rate和 Prefetch两项技术。
5、DDR3的各种频率
5.1、DDR的核心频率
5.2、时钟频率
5.3、数据传输频率
6、功能框图
7、DDR3的管脚定义(★)
DDR3的管脚可以分为电源线、时钟和复位、数据线、地址线和控制线。
7.1、电源线
对于电源电压,DDR SDRAM系统要求三个电源,分别为VDDQ、VTT和VREF。
管脚符号 | 类型 | 描述 |
VDD | Supply | 电源电压,1.5V(+/-0.075V) |
VDDQ | Supply | DQ电源,1.5V(+/-0.075V),为了降低噪声,在芯片上进行了隔离。 |
VREFCA | Supply | 控制、命令、地址的参考电压。VREFCA在所有时刻(包括自刷新)都必须保持规定的电压。 |
VREFDQ | Supply | 数据的参考电压。VREFDQ在所有时刻(包括自刷新)都必须保持规定的电压。 |
VSS | Supply | 地。 |
VSSQ | Supply | DQ地,为了降低噪声,在芯片上进行了隔离。 |
ZQ | Reference | 输出驱动校准的外部参考。这个脚应该连接240ohm电阻到VSSQ。 |
1、主电源VDD和VDDQ
主电源的要求是VDDQ=VDD,VDDQ是给IO buffer供电的电源,VDD是给内核供电。但是一般的使用中都是把VDDQ和VDD合成一个电源使用。
2、参考电源Vref
参考电源Vref要求跟随VDDQ,并且Vref=VDDQ/2,所以可以使用电源芯片提供,也可以采用电阻分压的方式得到。
3、用于匹配的电压VTT
VTT为匹配电阻上拉到的电源,VTT=VDDQ/2。
VTT要求电源即可以吸电流,又可以灌电流才可以。一般情况下可以使用专门为DDR设计的产生VTT的电源芯片来满足要求。而且,每个拉到VTT的电阻旁一般放一个10Nf~100nF的电容,整个VTT电路上需要有uF级大电容进行储能。
//常用TPS51200电源芯片
实战Power5-DDR---TPS51200---01_哔哩哔哩_bilibili
参考B站视频讲解//
7.2、时钟和复位
管脚符号 | 类型 | 描述 |
CK、CK# | Input | 时钟。差分时钟输入,所有控制和地址输入信号在CK上升沿和CK#的下降沿交叉处被采样,输出数据选通(DQS、DQS#)参考与CK和CK#的交叉点。 |
RESET# | Input | 复位,低有效,参考是VSS。 |
DDR3的时钟为差分走线,一般使用终端并联100欧姆的匹配方式。需要注意的是,差分线也可以使用串联匹配,使用串联匹配的好处是可以控制差分信号的上升沿缓度,对EMI可能会有一定的作用。
7.3、数据组
管脚符号 | 类型 | 描述 |
DQ0-DQ7 | I/O | 数据输入/输出,双向数据,DQ[7:0]参考VREFDQ |
DQ8-DQ15 | I/O | 数据输入/输出,双向数据,DQ[15:8]参考VREFDQ |
DM | Input | 数据输入屏蔽(数据掩码)。DM是写数据的输入屏蔽信号,在写期间,当伴随输入数据的DM信号被采样为高的时候,输入数据被屏蔽,虽然DM仅作为输入脚,但是,DM负载被设计成与DQ和DQS脚负载相匹配。DM的参考是VREFCA。DM可选作为TDQS。 |
7.4、地址、控制、命令
管脚符号 | 类型 | 描述 |
CKE | Input | 时钟使能。使能(高)和禁止(低)内部电路和DRAM上的时钟。由DDR3 SDRAM配置和操作模式决定特定电路被使能和禁止。CKE为低时,提供PRECHARGE POWER-DOWN和SELF REFRESH操作(所有Bank都处于空闲),或者有效掉电(在任何bank里的行有效)。CKE与掉电状态的进入退出以及自刷新的进入同步。CKE与自刷新的退出异步,输入Buffer(除了CK、CK#、RESET#和ODT)在POWER-DOWN期间被禁止。输入Buffer(除了CKE和RESET#)在SELF REFRESH期间被禁止。CKE的参考是VREFCA。 |
CS# | Input | 片选,使能(低)和禁止(高)命令译码,当CS#为高的时候,所有的命令都被屏蔽,CS#提供了多Rank系统的RANK选择功能,CS#是命令代码的一部分,CS#的参考是VREFCA。 |
BA0 BA1 BA2 | Input | Bank地址输入。定义ACTIVATE、READ、WRITE或PRECHARGE命令是对哪一个bank操作的。BA[2:0]定义在LOAD MODE命令期间哪个模式(MR0、MR1、MR2)被装载,BA[2:0]的参考是VREFCA。 |
A0-A9, A10/AP, A11, A12/BC#, A13-A15 | Input | 地址输入。为ACTIVATE命令提供行地址,以及为READ/WRITE命令提供列地址和自动预充电位(A10),以便从某个bank的内存阵列里选一个位置。A10在PRECHARGE命令期间被采样,以确定PRECHARGE是否应用于某个bank:A10为低,这个bank由BA[2:0]来选择,或者A10为高时,则对所有bank进行选择。在LOAD MODE命令期间,地址输入提供一个操作码。地址输入的参考是VREFCA。A12/BC#:在模式寄存器(MR)使能的时候,A12在READ和WRITE命令期间被采样,以决定burst chop(on-the-fly)是否会被执行(HIGH=BL8执行burst chop),或者LOW-BC4不执行burst chop。 |
ODT | Input | 片上终端使能。ODT使能(高)和禁止(低)片内终端电阻。在正常使能操作时,ODT仅对下面的管脚有效:DQ[7:0],DQS、DQS#和DM。如果通过LOAD MODE命令禁止,ODT输入被忽略。ODT的参考是VREFCA。 |
RAS#、CAS#、WE# | Input | 命令输入,这三个信号,连同CS#,定义一个命令,其参考是VREFCA。RAS#:列地址选通;CAS#:行地址选通;WE#:写使能。 |
TDQS、TDQS# | Output | 终端数据选通。当TDQS使能时,DM禁止,TDQS和TDDS提供终端电阻。 |
DQS、 DQS# | I/O | 数据选通。读时是输出,边缘与读出的数据对齐。写时是输入,中心与写数据对齐。 |
8、DDR3硬件设计要点(★)
9、硬件实战设计 (★)
9.1、A7硬件实战
8.1.1、XC7A100T 2片DDR3硬件设计实战
8.1.2、A7 2片DDR3硬件设计实战
8.2、K7四片DDR3硬件设计实战
8.2.1、四片DDR3硬件设计实战
8.2.2、四片DDR3硬件实战
8.3、ZYNQ7020的DDR3设计实战
8.4、xilinx-S6 硬件实战
8.5、全志H3
8.6、瑞芯微 RK3288
10、DDR3 PCB设计要点(★)
10.1、DDR3的PCB布局、布线通用设计要求
a)布局时首先要确认芯片是否支持FLY-BYE走线拓扑结构,来确定我们是采用T拓扑结构还是FLY-BYE拓扑结构。如果是T拓扑结构,上拉电阻放在T点处,如果使用FLY-BYE拓扑,则把上拉电阻放在最后一片芯片的后端,上拉电阻的走线长度要≤500Mil。
b)电源走线保证足够的通流能力:如果电源线宽度不足,当DDR3芯片所需的电流不超过电源走线的通流能力,会因驱动能力不足导致信号幅度不能达到DDR3接口规范的要求,最终导致对信号的错误处理。
c)确保回流路径的连续性:DDR3走线禁止跨分割,尽量参考地平面,也可参考DDR的IO电源,禁止参考其他电源。
d)避免在参考平面边缘走线:当DDR3信号的走线靠近参考平面的边缘时,保证走线与参考平面的边缘≥40 Mil的间距。
e)避免换层走线以减少过孔的数量:由于DDR3的工作频率很高,时钟和数据信号速率一般都会达到400MHz以上,为了避免过孔的寄生电容和电感对信号质量的影响,需要通过控制换层的次数严格控制时钟线上过孔的数量。
f)保持信号线间距:当两个不同信号线之间距离过近时,会因电磁场的耦合导致串扰的产生。为了降低这种串扰,需要在不同类型信号线之间保持大于3W间距,禁止反焊盘上走线。
10.2、DDR3电源设计要求
a) VTT电源孤岛尽可能靠近内存颗粒以及终端调节模块放置
b)终端调节模块的Sense引脚走线需要从VTT电源孤岛的中间引出
c)降低Vref上的噪声:Vref上的噪声会增加数据选通和数据信号之间的skew并且降低电压裕度。为了降低这些噪声的干扰,需要加大Vref的走线宽度并且将Vref的走线与其它走钱隔离。虽然Vref上的电流一般只有2mA左右。由于上述原因,一般需要保证其走线宽度不小于25 Mil,同时Vref与其它信号线之间保持25Mil的距离,此外Vref要避免电源噪声的影响,Vref走线时应该以地平面作为参考平面。
d)禁止将VREF、VTT作为信号的参考平面,且然VREF和VTT电压相同,但VTT的噪声比较大,建议将VREF,VTT分开为不同的网络,从不同的电源或者通过分压电路进行供电。
10.3、DDR3信号线的走线要求和对比
DDR3信号线的走线要求如下表所示:
备注:表中所给的走线约束数据为一般性要求,如果DDR控制器的手册中对走线另有要求,则按手册要求进行约束。
10.4、DDR3线的分类
- 数据信号组
组别 | 信号名 | 设计要求 |
Byte[0] | DDR3_DQ[0:7], DDR3_DM0 DDR3_DQS_P/N0 |
|
Byte[1] | DDR3_DQ[8:15], DDR3_DM1 DDR3_DQS_P/N1 | |
Byte[2] | DDR3_DQ[16:23], DDR3_DM2 DDR3_DQS_P/N2 | |
Byte[3] | DDR3_DQ[24:31], DDR3_DM3 DDR3_DQS_P/N3 |
- 命令/控制组及时钟
DDR3_A[0:14] |
|
DDR3 _BA[0:2] | |
DDR3_ODT | |
DDR3 _CASn | |
DDR3_RASn | |
DDR3_WEn | |
DDR3_CKE | |
DDR3_CSn | |
DDR3_CK_P/N | |
DDR3_RESET |
10.5、DDR3走线拓扑
DDR2的走线是“T”型结构,见附件。
DDR3的走线是“Fly-bye”结构,见附件。Fly-bye可以提高信号的完整性。不是所有的DDR3都走FLY-BYE!需要查看主控芯片是否支持读写平衡功能。如果不支持读写平衡功能,那么这个设计就不能使用Fly_by的拓扑结构。
详细内容参考视频讲解
更多推荐
所有评论(0)