EDA365电子工程师网

标题: DDR3 SDRAM 的硬件及PCB设计与要点分析(图) [打印本页]

作者: longsoncd    时间: 2015-11-13 13:14
标题: DDR3 SDRAM 的硬件及PCB设计与要点分析(图)
本帖最后由 longsoncd 于 2015-11-13 13:33 编辑   `$ R* v6 V- C! [
+ D! g- ~; }1 z5 k% Y
虽然DDR3的资料很多,ddr4 eMMC也出现了,但是目前还是在很多项目里存在DDR3的身影;
这里把DDR3的设计心得搬出来说一说:
0 E; g. t* ~. _7 {& P" M
" K% K7 Z! X0 ^1.
上一张图纸大家都看得见:

% |& }  M$ _6 |1 K# i, D
如图,DDR3 sdram芯片原理上简单得很,就几个注意点:3 M$ }3 ]6 Y3 r+ C
a.DATA bus--
一般都多片拼接,数据线从0往后数,这里位宽32bitsDQ0~DQ31,实际更据您需要的容量而定;) w, ?) S) A9 X# @
b.Addr bus--A0~A13,
位宽14bits
* C6 x- a( _$ m( W+ vc.CLK:
差分的
; n( q9 v& K& h8 a3 @2 Rcke
:时钟使能
' n" C: a4 \, @& e     ck_P,ck_N
差分时钟" I/ `4 E4 b9 A0 m. U0 {
d.
复位:ResetN  j. V# i2 m# r6 c, m. o$ @
e.bank
地址选择:BA0~BA2" u: n* w9 [- ^" h- e
f.
端接:ODT
; ?/ ^$ y! e9 w9 f" O9 Xg.
数据掩码、控制命令 如:/cs,/WE
. u6 e, p5 J  r: |: D! \' Gh.
电源
i,剩下就是电源引脚上的退耦电容/供电
) C! n+ o$ q9 m3 x
2.引脚说明详细:

- z5 d* X  O/ a
  
管脚符号
  
类型
描述
A0-A9,A10/AP,A11,A12/BC#,A13
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。
BA0,BA1,BA2
Input
Bank地址输入。定义ACTIVATE、READ、WRITE或PRECHARGE命令是对那一个bank操作的。BA[2:0]定义在LOAD  MODE命令期间哪个模式(MR0、MR1、MR2)被装载,BA[2:0] 的参考是VREFCA
CK,CK#
Input
时钟。差分时钟输入,所有控制和地址输入信号在CK上升沿和CK#的下降沿交叉处被采样,输出数据选通(DQS、DQS#)参考与CK和CK#的交叉点。
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。
DM
Input
数据输入屏蔽。DM是写数据的输入屏蔽信号,在写期间,当伴随输入数据的DM信号被采样为高的时候,输入数据被屏蔽。虽然DM仅作为输入脚,但是,DM负载被设计成与DQ和DQS脚负载相匹配。DM的参考是VREFCA。DM可选作为TDQS
ODT
Input
片上终端使能。ODT使能(高)和禁止(低)片内终端电阻。在正常操作使能的时候,ODT仅对下面的管脚有效:DQ[7:0],DQS,DQS#和DM。如果通过LOAD MODE命令禁止,ODT输入被忽略。ODT的参考是VREFCA
RAS#,CAS#,WE#
Input
命令输入,这三个信号,连同CS#,定义一个命令,其参考是VREFCA
RESET#
Input
复位,低有效,参考是VSS,复位的断言是异步的。
DQ0-DQ7
I/O
数据输入/输出。双向数据,DQ[7:0]参考VREFDQ
DQS,DQS#
I/O
数据选通。读时是输出,边缘与读出的数据对齐。写时是输入,中心与写数据对齐。
TDQS,TDQS#
Output
终端数据选通。当TDQS使能时,DM禁止,TDQS和TDDS提供终端电阻。
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
7 n$ P0 e2 }5 J6 M" X  
; `; B# l; v/ d8 J* u  
% l' |. E5 d; s( `- c) I. ?2 a
3.pcb设计,上图说明:

! U* f. T7 e) |9 [" z
关键要点:
0.布局合理,2ddr芯片与cpu芯片保持同等距离,且需要预留绕线空间,便于走线等长处理,图中ddr芯片离cpu物理距离500mil:
1.数据线 走靠近GND的内部走线层,如图310
2.地址线 走靠近GND的内部走线层,如图49
3.相邻走线层走线尽力垂直交叉
4.差分时钟从源端(cpu)引出到两片ddr芯片,拓扑结构保持"Y"结构,切保证在分支点到两片ddr芯片的距离一致+/-5mil,时钟走线特写:

8 r$ I3 g$ L$ W9 Z  p9 m3 C1 `
5.关于走线间距,需要满足>=3W原则,图示差分时钟线宽间距为3.2mil/10.5mil,具体最好做一下仿真,叠层和板材不一样,相应的阻抗也不一样

5 B& W0 t9 S1 |
6.关于电源:两组VREF/VDD,都需要走足够宽,根据经验需要走电源平面分割

- ]2 Q# P: |# ]/ N' F& V
( I2 n/ f3 q4 Z
7.等长蛇形线间gap保持>3w,图中为18.5mil

$ s+ H# m  Y0 C! I
8.地址线addr bus/ba0~ba2/odt//cs/we等都采用Y结构从源端到ddr芯片端

( t2 i2 }% s  D7 N; {# {9 N
' u8 `# g2 A+ s- s
9.走线不跨层,过孔最少原则

  Y) B( H+ m( a% C! I' q6 T4 v
专注.诚信.分享.合作.发展
---------------------------
fyi
best wishes!
1157323783
longsoncd@sina.cn
Longson CD

& }  A* t* t. o
---------------------------
$ v  P/ A0 j7 `$ n/ }3 m- n

ddr3 sdam_layout_cuizhi.JPG (75.4 KB, 下载次数: 0)

ddr3 sdam_layout_cuizhi.JPG

ddr3 sdam_layout_h.JPG (185.85 KB, 下载次数: 0)

ddr3 sdam_layout_h.JPG

作者: xbin    时间: 2015-11-13 13:26
谢谢分享 先回复在认真看
作者: Log07071222    时间: 2015-11-13 14:53
给你赞一个! 图文并茂
作者: larryfarn    时间: 2015-11-13 21:25
谢谢分享!
作者: bingshuihuo    时间: 2015-11-14 08:06
谢谢分享!给你赞一个!
作者: lucly    时间: 2015-11-14 08:49
高级板啊,还没画过这么复杂的~
作者: i265    时间: 2015-11-14 22:24
分析的很详细  辛苦了
作者: zcswinner    时间: 2015-11-16 12:27
膜拜,求指教
作者: 土豆水煮鱼    时间: 2015-11-18 13:41
先回复在看看
作者: caobiao8888    时间: 2015-11-26 13:39
学习了,谢谢
作者: alexfu1984    时间: 2015-11-28 10:53
rank和bank有什么区别呢




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2