EDA365电子论坛网
标题:
【转】SDRAM 布线要领
[打印本页]
作者:
lzhcqu
时间:
2009-4-28 20:44
标题:
【转】SDRAM 布线要领
本帖最后由 lzhcqu 于 2009-4-28 21:21 编辑
0 f2 @2 |" K G f4 S0 Z
/ s0 p. v. Y2 S& g# t
同步动态随机存储器(Synchronous DRAM,SDRAM):是目前主推的PC 100和PC 133规范所广泛使用的内存类型,它的带宽为64位,3.3V电压,目前产品的最高速度可达5ns。它与CPU使用相同的时钟频率进行数据交换,它的工作频率是与CPU的外频同步的,不存在延迟或等待时间。
) {# r7 N% R2 s6 k( o$ O, B8 D0 t
双倍速率SDRAM(Dual Date Rate SDRAM,DDR SDRAM):又简称DDR,由于它在时钟触发沿的上、下沿都能进行数据传输,所以即使在133MHz的总线频率下的带宽也能达到2.128GB/s。 DDR不支持3.3V电压的LVTTL,而是支持2.5V的SSTL2标准
2 f( g7 }8 O4 P
(一). 关于 SDRAM
. {# Z9 _2 G) p; t# o+ m+ [# D& w
Pp芯片
% p7 H, l- z. } s: Z6 J) ~/ h5 O
# b: E$ t+ a2 \) x
Sdram芯片
! m b6 e6 `# ?" W( b
9 Y9 p% e, O8 K7 a9 A" w
Data、Dqs
3 U f2 d3 j0 k0 b% _ Z4 s4 F* t
Clk0+/-
E2 g. ?3 t. ~/ i* u% I
Addr、Ctrl
+ n; U5 o! b5 O: \6 u2 ^/ s
Sdram芯片
3 I/ K9 ?7 o: z _2 {; P& l' m* |
) \$ D. w; m# z( M( w5 M/ r
Clk1+/- Fb、St
( Y- q0 ?- K( l# ]9 ^
Data、Dqs
0 ?3 U# @, R; q! G
1. 信号分组:我们一般把它分为六组
& m3 R+ p' f$ I! i2 V5 {5 P
(1) Sdram_adrctrl(包含所有的地址和控制信号)
) V: A) ^, A6 z0 d( V( h' Q
(2) Sdram_clk(包含所有的时钟信号:clk0/1/+/-,Feedback_clk,Startburst)
0 }/ o7 j. G# h
(3) Sdram_dqs_l(包含DQS0..3)
. J, k! N7 Q/ U3 D! T1 Y
(4) Sdram_dqs_h(包含DQS4..7)
3 r3 |9 g! B4 O4 }* \9 I e
(5) Sdram_data_l(包含DQ(0..31),DQM(0..3))
3 E' `1 @0 Y! B: Q9 g$ {5 W( ]
(6) Sdram_data_h(包含DQ(32..63),DQM(4..7))
! e! }3 \7 W. D2 \0 A+ k- \% R
2. 布局时应注意以下几点:
: T0 O- D* L6 H3 ~
(1) 使用0402封装的上拉电阻
% f7 ~1 O$ M; x3 \. i
2) 上拉电阻靠近SDRAM端摆放
% z$ D$ x7 l Y! a% }0 J0 R( Z
(3) 每四个电阻旁摆放一对退耦电容,且第一个为Vtt to Ground类,第二个为Vtt to Vddq类
: O0 u" d, e% h/ Y
(4) 退耦电容尽量靠近SDRAM的对应管脚摆放
& }$ D$ Q: {& ^7 U. T
5) 参考电压的小电容应靠近SDRAM的管脚放置
7 O& v4 s0 w( z0 p) o7 \9 J
3. 布线时应注意以下几点:
+ N/ J) B t4 D* [
(1) 间距方面的要求:
' ~- g0 P2 [. m4 a
a) CLK、DQS信号与其它信号至少保持20mil以上的space
; m- [; b5 w& H8 f* {5 \. V. B m" Y
(b) DATA信号与其它信号至少保持15mil以上的space(DATA信号组与组之间也要有15mil以上的space),为了绕线方便,我们把DATA信号分为八组,分别为
/ g k9 v, ^. C$ d% N' F0 _, D
Group0
Q(0..7)、DQM0、DQS0
2 c7 e6 F; d# h/ Z7 d5 Y+ m# C; ~
Group1
Q(8..15)、 DQM1、DQS1
0 J) x) E G' G! J* P
Group2
Q(16..23)、DQM2、DQS2
* ~. H/ S7 D4 E8 V6 w" C
Group3:DQ(24..31)、DQM3、DQS3
5 x5 A) \% } j/ s% i3 [
Group4:DQ(32..39)、DQM4、DQS4
1 |' Y# [7 J9 d @5 Z" A
Group5:DQ(40..47)、DQM5、DQS5
: e3 w4 ^2 ^% {6 Q, e( W2 f
Group6:DQ(48..55)、DQM6、DQS6
# \& r* X- t5 q# i4 F
Group7:DQ(56..63)、DQM7、DQS7
/ e: ?7 o4 n4 @2 p8 H
(c) ADDR、CTRL信号与其他信号至少保持15mil以上的space
# m/ c; D \- r& j1 V! C! j0 w
(2) 长度方面的要求:
6 q6 `6 x2 H" ?. d; T
(a) 差分时钟对做误差+/-10mils
2 k. H8 S$ ]; u \
(b)DQS(0..7)做误差+/-250mils
- W1 o7 T/ a( K+ M( L9 L
(c) DATA信号组间控制在+/-250mils,本身做+/-100mils
: I |4 e+ C( P1 v; e( c9 I$ R/ x
(d)ADDR信号与时钟信号控制在+/-850mils,同一信号的两分叉的长度控制在+/-50mil
( A2 ? D6 ~' X" {% R: @& S# N
(e) Feedback_clk、Startburst这两信号要等于DQS(0..7)平均长度加上CLK0/1平均长度,即 Length(Feedback_clk、 Startburst)=Average_Length(DQS(0..7))+Average_Length(clk0/1/+/-)
. w% `+ O2 B6 I! U0 o$ B' G( J
4.单线阻抗控制在50ohm,对于地址和控制信号,分叉点到两SDRAM(可能的情况下)的阻抗控制在60-65ohm,以确保阻抗的连续
. C* |* G% [$ ]" W
5. Topology
1 Z+ e4 j8 [2 I- W
(1) 对于CLK、Dqm、Dq、Dqs信号
! W/ Y0 D- [* M
Driver
* Y5 H$ v' m! s, ^' `- l( _( D* v7 y: W
( z# C& W% S9 y7 u L/ ~+ h
Resistor
( ^8 I2 E" F3 G/ E) a8 s
. a N0 ]9 J; {0 M1 k* a
Sdram
/ p+ }$ F6 K1 W* N w- K
5 \% p3 v; X5 G/ o( k
(a)
3 x8 ?. }& V- \( E9 J% F8 d
Sdram至Resistor尽可能的短
' |1 i1 h! T3 }9 J/ Z
Sdram
) ^9 ?( K( u: \4 d( Q Y0 L
8 H6 Z- K3 J$ H! j8 s0 A
Resistor
@) P2 B0 x% ~; @. H
3 M! n) x/ @- f) Z1 q) X
Driver
1 @+ V% d& i) l( ]
; a4 v* {3 N9 ~4 g
(b)
$ Z& ~1 q' }& L% Z5 T; x; j. p" J
Resisor至Sdram尽可能的小于0.5inch
6 a0 J$ H6 I% K( l
(2) 对于Addr、Ctrl信号
; d. P5 ]5 b# c/ E. A' L
Resistor
* Z" y( t: c: k$ ^2 `
5 t8 l3 b" u5 I# h* ~: P6 _
Sdram
& P; T- Z% L- V/ [# a9 N
Driver
, u3 J, A( r% ?+ B! m
Sdram
: `8 R! L6 q2 Z2 D
7 T p9 K9 V4 u' t3 W
Resistor
. u5 |' q3 d& \4 G- g
) q7 a {( C( t1 s3 W8 J
Resistor至Sdram尽可能的小于0.3inch
) u) ^# B- g' Z1 ]! D
3) 对于FD_CLK、Startburst信号
6 R( \% ^2 E; |: O% X0 ^
Driver
) ]! x0 Z: m& ~1 L! `/ I+ t" Y
4 }* Z6 I: }4 m
Resistor
' b% i. M* l% G3 B# w0 r; s
8 s7 O: H5 k: f/ N
Resistor
7 ~ [% q* z# |4 b
8 Q* S- u, L0 A! z9 J$ W
6.布线要点:
+ _4 { G5 P7 |: Q- w& B
(1) CLK0+、CLK0-以差分形式布线,抑制共模噪声
8 c1 D' j* f6 Q( D/ \" k! I0 ?
(2) CLK1+、CLK1-以差分形式布线,抑制共模噪声
+ w" d, S) o3 N- D
(3) 同组DQ信号可以任意交换,以改善布线
. ^3 G. c4 p" ~/ Y, H$ G# E/ ]. }
4) 在同一SDRAM中,每两组信号可以任意交换,以改善布线
* L; M& [$ ^) c& s
(5) 对ADDR、CTRL的Y型拓扑接法应注意将过孔放置在两SDRAM之间,确保两分叉的长度相同且短
6 \5 m8 K( z A; Z, W% h% |
(6) 同组信号相同层完成,同一信号若换层,要有共同的地回流平面,若没有共同地平面需要在换层处加地孔
) e3 r$ z4 R/ ]
(7) 使用0402封装电阻以节省PCB空间
* U5 r: C7 v0 h1 p+ Q- ]3 C9 \
8) 尽量少过孔
# O, j; e9 ^1 d$ z; }! e
7.电源的处理
, V6 e0 N% [5 _6 c8 g+ i A
VTT用两表层铺铜处理,在其周边均匀的打一圈孔,0402封装电阻管脚处用走线接铜处理,避免两电阻间连锡,造成焊接不良;其它电源用平面层处理。
9 l3 @+ u0 ?* ^, A- Y
二). 关于DDR SDRAM
# V( R. b1 J7 ^' w
Clock Buffer
$ }9 Y8 F* [ P- w0 Q8 m
* r2 G3 I+ D; s: ^8 u3 N- i
Clk0+/- Fb
7 b5 \# t# f" v$ M% v$ L+ w
Clk1+/-
9 g! b& `* P/ f! C4 i! w) x2 t
Sibyte
6 O O% w4 B0 u& P- E0 A% i
' G; a4 Y. N# _6 a, F' Q) c, x4 I
Clk2+/- Clk+/-
* r# E' i9 J: J8 h* f+ @4 s1 E6 ^% B
Addr、Ctrl
]5 H! i: h0 k' u- k5 P2 I
1. 信号分组,我们把它分为三组
& q. @) |3 {' G' W+ W+ F) k" d
(1) DDR_A/C(包含Address、Control信号)
- k" m; | n) m7 }" ?
2) DDR_CLK(包含所有的CLK+/-信号)
# X3 t. B. Z1 Q, R, [0 e# l
2. 布局时应注意以下几点:
4 V# s9 d5 z8 p3 J' l. L8 g
(1)对于DIMMs,匹配电阻应靠近第一DIMMs放置
) Q; o8 w, A1 d" t( K; X" ^
对于RAMs,匹配电阻应靠近Sibyte放置
- e/ D0 A6 I. e8 h- a7 e' ^" B
(2)所有的上拉电阻摆放在最后一个DIMMs之后,每四至六个信号放置一个0.1uf或者0.22uf的0603封装的电容且靠近上拉电阻
8 P' f0 [1 S# C
3. 布线时应注意以下几点:
N7 b9 B/ J- u$ F2 {( d
(1) 间距方面的要求
: l3 k! J8 n1 z$ I
(a) CLK信号于其它信号保持4:1的space
: [' `/ C) a/ n+ W
CLK以差分形式1:1的space布线
% F T" N8 e }/ R
(b)DQ/DQS信号以3:1的space布线,与其它信号保持4:1的space(3:1(即线边缘与线边缘的距离)=3X线到相邻地平面的距离),为了绕线方便,我们把DQ/DQS分为九组,分别为
% U6 @* o/ r/ s: T# \. f
Group0:DQ(0..7)、DQS0
; b2 {. y9 O% \8 _
Group1:DQ(8..15)、DQS1
5 n# \/ s$ W7 T5 @/ j% V
5 E# i9 S# C8 R2 e9 }. T; I
, O4 z* v+ W* p- {* e1 K
Group7:DQ(56..63)、DQS7
: _$ \. @0 h2 E/ J
Group8:ECC(0..7)、DQS8
4 U' J; p, P W; i& R
(c) A/C信号以3:1的space布线,与其它信号保持4:1的space
* O0 B) M# Y# [: G# C2 k2 _
(2)长度方面的要求
E8 I4 ^5 t9 G1 \
(a) A/C信号尽量短,但信号间需小于+/-1500mil的误差
0 h6 Y! p0 f2 h( c8 u) O& F- W v
(b)CLK信号差分对本身做+/-12mil,差分对间做+/-50mil的误差,且满足Length=SB..PLL+PLL..DIMM-PLL..FB
# `! p0 X* C0 D) z
SB..PLL=Sibyte至PLL Clock buffer的长度
2 k4 D5 u- i) Y5 N' U" f
PLL..DIMM=PLL Clock buffer至DIMM的长度
" Q- c' D2 H. h; `: A
PLL..FB=PLL Clock buffer的反馈时钟长度
' {) J' K8 q+ v8 _' i
对于DIMMs
! M) {; s$ \4 S' J
LongestA/C+6in<CLK<ShortestA/C+9in
! { v) a2 w4 O* W3 X
对于RAMs
; L' D. h8 t5 h0 I6 G& J4 Q
LongestA/C+4in<CLK<ShortestA/C+7in
2 p' s9 p% n0 k5 h& g
(c) DQS(0..8)做 +/-400mil的误差
* g5 ]" |3 @9 C' }
对于DIMMs@167MHz
; F* }! ]# Z" i/ j9 f. M" k3 i
CLK-7in<=DQS<=CLK-1in
; C; p2 m+ @7 q9 ^+ k
对于RAMs@200MHz
' n' D2 G: m% E* M; a: {; h
CLK-5in<=DQS<=CLK-2in
+ [$ [9 s0 q2 @; F' |! j" G* M( V1 e
(d)DQ/DQS信号组内做+/-50mil的误差
3 u! M. O8 O9 K5 L5 c( k6 s0 c& C8 j
(e) 所有的DQ/DQS长度都需加上Sibyte的Pin内长度
/ m7 l/ P# U: ~) r
4. 单线阻抗控制在60Ohm,差分控制在120Ohm
/ b) x4 ?# z% p* c0 e j3 u
5. Topology
* I$ g, ?% E J
(1) 对于A/C信号
# h4 i' \ W4 V3 p, b2 e. I0 ^
对于DIMMs VTT
, T& d. e9 L3 J4 T3 m9 |! F
Rpack
& `7 D+ e8 e1 p. @' i. K r! K
' s( I t$ B$ k N& D# t; a5 C
Sibyte
( M0 F/ M5 R r* y1 U
8 k3 c$ T }3 @, K
A/C
" y: T% J; ^. p* L! F% D( m
对于RAMs
) k9 ~3 _, ?/ F% I
% h Y, e) c4 \- k
Ram0
3 k3 a6 A" J+ S$ t0 ^; k- V
Ram1
3 Z. z7 n$ }6 c, r7 E" v) Q5 W2 B
Ram2
- o5 @6 J0 X* m4 F6 j6 Q/ r W& h5 n3 ^
" S _ R( O; v( M( a
Rpack
0 P4 b4 q" h! p$ c" i' I' w% G
: y* Q0 G1 V# v$ p$ U
Sibyte
! w+ q6 D0 G: H7 v( T& U3 z
5 Q7 j3 F1 A6 Z2 L% j) Q3 C
A/C
J0 R# r: S6 w* z# f1 i/ {8 J
Ram3
. a* E9 ]" T. }6 S+ o0 W
Ram4
9 Q9 ] V4 K3 I" ^
(2) 对于DQ/DQS信号
3 P1 D9 Y+ I" `
Sibyte
e! N3 A1 }! n+ d! [+ R# B K6 N
" e' w, o L8 c% Z4 W
Rpack
2 M; A' _% P+ F
DQ/DQS
/ Y, [+ c5 c/ ?. J) j% h
- T4 \. s4 [0 r, D$ h+ x6 ?& n% B& E
(3) 对于CLK
, _' [9 F' ?- a3 A2 Q# Y1 j; T9 Q% r" q
Sibyte
S9 }' M4 z( \3 x
5 h" R$ R3 s6 B0 M; @6 R
PLL
! r2 O( ]. g4 H. x# [
SB DIMM
! ]; T& t& _3 Y) }' V8 h
FB
. m. W3 a* n) X" `
6. 布线要点
& _& e, Q) r$ v, O
(1) CLK以差分形式布线,抑制共模噪声
2 X/ f" R% \; R
(2) 同组信号以相同层完成,尽量不换层,同一信号若换层,要有共同的地回流平面,若没有共同地平面需在过孔处加地孔
: |5 \8 T1 v: | K0 U8 |
(3) 使用排阻以节省PCB空间
8 k) j9 ]0 j; ~' y4 y
(4) 排阻到DIMMs用表层处理,尽量短、顺畅
作者:
hust_yojin
时间:
2009-4-29 12:29
看了 不错
作者:
quaid_wang
时间:
2009-5-19 12:35
帅哥,你这说的是DDR吧,不是SDRAM////
作者:
zcyxh12345
时间:
2011-3-21 14:50
顶了,写的不错
作者:
cwfang
时间:
2011-3-22 14:42
sdram有那么复杂吗?我觉得有点太麻烦了 不需要
作者:
cccccc32
时间:
2011-3-23 10:07
顶!! 写的相当详细具体,谢谢!!!!
# a( M( k1 A8 ^) h0 v ~
作者:
cccccc32
时间:
2011-3-23 10:08
DDR SDRAM是要按楼主说的去处理,不然根本不能使用,不过DSP或者FPGA外面是一片的话可以不做这样的处理,如果是两片或以上并联的药按以上方法处理。
, q, K6 p3 q$ y) @: d$ U* [
谢谢!
作者:
Smitheda
时间:
2011-3-26 10:04
值得收藏
作者:
yzyiyang
时间:
2011-3-26 13:25
值得收藏
作者:
lisaliang0520
时间:
2011-7-20 09:40
感谢分享 !
作者:
marksman
时间:
2011-7-20 17:27
恩,写的不错,
作者:
blackground
时间:
2011-7-22 07:32
说说SDRAM啊?
作者:
天空的一片云
时间:
2011-7-22 09:37
写得很详细,感谢分享
作者:
crhappy
时间:
2011-7-22 15:11
是ddr的呢
作者:
peiqiangqiang
时间:
2011-7-25 14:43
还没达到这种水平
作者:
wcn312318697
时间:
2011-8-9 10:14
回复
cccccc32
的帖子
: p" p/ Z, p- j4 P0 _4 y
a; }, u$ U' Q3 f1 l6 T
DDR SDRAM和 SDR SDRAM不一样的。。
# Q/ m2 G) a8 U& A. r( }
作者:
pads-tseng
时间:
2011-11-8 16:41
写得太好了
作者:
洋了
时间:
2011-11-8 20:01
感谢、感谢、感谢、还是感谢……
作者:
aeran
时间:
2013-6-20 21:00
很有帮助!
作者:
wdc
时间:
2013-6-24 08:09
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2