EDA365电子论坛网

标题: 【转】SDRAM 布线要领 [打印本页]

作者: lzhcqu    时间: 2009-4-28 20:44
标题: 【转】SDRAM 布线要领
本帖最后由 lzhcqu 于 2009-4-28 21:21 编辑
6 Y6 V) q3 F6 Q" ?- F4 ^% C% b' V& `* W
同步动态随机存储器(Synchronous DRAM,SDRAM):是目前主推的PC 100和PC 133规范所广泛使用的内存类型,它的带宽为64位,3.3V电压,目前产品的最高速度可达5ns。它与CPU使用相同的时钟频率进行数据交换,它的工作频率是与CPU的外频同步的,不存在延迟或等待时间。5 L# W1 k% g) l/ u& u  \9 h
双倍速率SDRAM(Dual Date Rate SDRAM,DDR SDRAM):又简称DDR,由于它在时钟触发沿的上、下沿都能进行数据传输,所以即使在133MHz的总线频率下的带宽也能达到2.128GB/s。 DDR不支持3.3V电压的LVTTL,而是支持2.5V的SSTL2标准
5 t9 m0 B+ r0 I) b(一). 关于 SDRAM
4 P# G  ]8 Z) G& D, h$ |Pp芯片
; u6 w/ z3 C  y; V) ^6 Q0 b: L6 Y3 @' h
Sdram芯片( G- Y5 |9 T9 u. j, I. A

4 u& A0 J5 i+ \- e. OData、Dqs                                                  

  H% x6 V; r; z8 H8 w% ~6 M- S0 tClk0+/-                                                        # k: i/ [4 ~! M" A, ^
Addr、Ctrl                                                      
4 J* b5 C1 e) [Sdram芯片- r/ G& N- [+ s! e  o8 ?( ]) ]
) ~6 S9 t! n. j  f
Clk1+/- Fb、St                                    
" h% I5 `: l, ]+ u) v& ~& X/ @Data、Dqs                                                  
6 Q2 F/ k/ U9 D' L7 k
1. 信号分组:我们一般把它分为六组
2 I  j4 Y  q' y; i# j) x' B(1) Sdram_adrctrl(包含所有的地址和控制信号)( V# l9 T8 F+ e/ {6 R) p1 J& N
(2) Sdram_clk(包含所有的时钟信号:clk0/1/+/-,Feedback_clk,Startburst)2 X5 S/ A4 p: s& ]
(3) Sdram_dqs_l(包含DQS0..3)
9 x0 c" G6 ?# ]7 x. \- K7 T- m(4) Sdram_dqs_h(包含DQS4..7)/ K$ p$ n# Q3 S+ \! a
(5) Sdram_data_l(包含DQ(0..31),DQM(0..3))0 k2 ~) O; _+ n3 `
(6) Sdram_data_h(包含DQ(32..63),DQM(4..7))
) u: ^0 C: _/ D- l- \  l* K5 t2. 布局时应注意以下几点:
4 Y( m9 b6 R' {' N9 B8 e- a  g0 G(1) 使用0402封装的上拉电阻! d: H. |6 W9 V& Q
2) 上拉电阻靠近SDRAM端摆放1 J# @& {7 Y' R* v  \! g9 W
(3) 每四个电阻旁摆放一对退耦电容,且第一个为Vtt to Ground类,第二个为Vtt to Vddq类6 M9 m+ D5 t1 p$ ?2 x
(4) 退耦电容尽量靠近SDRAM的对应管脚摆放+ B4 a- B/ ?+ c% k1 {; T# g
5) 参考电压的小电容应靠近SDRAM的管脚放置
/ G1 Y1 @$ j8 Z% k3. 布线时应注意以下几点:
: U7 x- C4 e, c6 c(1) 间距方面的要求:/ e; F( [% e: b% n
a) CLK、DQS信号与其它信号至少保持20mil以上的space2 O7 G# b8 f7 I$ J9 g. U
(b) DATA信号与其它信号至少保持15mil以上的space(DATA信号组与组之间也要有15mil以上的space),为了绕线方便,我们把DATA信号分为八组,分别为$ j9 \: i0 Y- b- t1 r
Group0Q(0..7)、DQM0、DQS0( s) Y& ?0 S" d8 T4 m/ l6 v- H3 j9 d
Group1Q(8..15)、 DQM1、DQS1( n* L, P+ c/ {  @; n2 O5 f6 _
Group2Q(16..23)、DQM2、DQS2
2 T# G% p& F4 L! A6 rGroup3:DQ(24..31)、DQM3、DQS3
, c! J2 X5 O6 uGroup4:DQ(32..39)、DQM4、DQS4
" V5 y* W3 {( W& zGroup5:DQ(40..47)、DQM5、DQS5
0 G' h; j; q0 u: x- m. e8 tGroup6:DQ(48..55)、DQM6、DQS65 `% P* g$ C' `1 C, ]) t* K6 V
Group7:DQ(56..63)、DQM7、DQS7" p" e5 G& `% n  @% v
(c) ADDR、CTRL信号与其他信号至少保持15mil以上的space3 Z* c. Q' K- {2 A3 y. C0 a
(2)   长度方面的要求:' N, a6 X* t. @# T8 p$ o
(a) 差分时钟对做误差+/-10mils8 [1 p% H3 @8 P7 z7 U
(b)DQS(0..7)做误差+/-250mils( ?6 _" u$ ^) d
(c) DATA信号组间控制在+/-250mils,本身做+/-100mils5 c# a$ w4 U2 g- f" }
(d)ADDR信号与时钟信号控制在+/-850mils,同一信号的两分叉的长度控制在+/-50mil
) D/ `8 N3 U  E9 z0 C(e) Feedback_clk、Startburst这两信号要等于DQS(0..7)平均长度加上CLK0/1平均长度,即 Length(Feedback_clk、 Startburst)=Average_Length(DQS(0..7))+Average_Length(clk0/1/+/-)
4 W+ c+ D6 a( ^9 ^4.单线阻抗控制在50ohm,对于地址和控制信号,分叉点到两SDRAM(可能的情况下)的阻抗控制在60-65ohm,以确保阻抗的连续
8 p2 O) n8 V# J6 d# S. R5 Z5 n5. Topology
* K0 b' W9 p! G) @$ j(1) 对于CLK、Dqm、Dq、Dqs信号
; m. c( A1 W3 _7 i( JDriver
' L$ a. P( V' V% |: z( z( t+ e5 ]0 M+ q2 X+ R1 b7 }- c
Resistor$ }$ J- ~, l3 e/ ], t
: L& p, z! t. P
Sdram
7 ~/ {0 H, Y* r( A
. I9 i7 h0 K& W6 _* E- ^* U(a)                              

9 M+ T% r- _/ A# J$ h7 P- zSdram至Resistor尽可能的短/ L1 O) A8 T8 P$ O
Sdram* n  \/ Q4 i8 A! h% X

! O+ x* ~8 a6 S' o9 EResistor
* M; F4 [/ E7 P& R7 R! P7 g, Z& Z. @! ]$ p
Driver$ e& T9 p, W7 Z4 V

6 i1 @1 q" \. K5 g0 F) N% S; Y3 V(b)                              

; V, V# y! Z) K# y1 gResisor至Sdram尽可能的小于0.5inch
) q0 w9 [7 U) s( O8 i(2) 对于Addr、Ctrl信号
9 r4 g: `# D# ?( AResistor
# g; f8 R( ^$ F" z$ x: B. H8 [1 F+ D' t. ]8 s' c( M$ d
Sdram     

, r$ j# W0 J9 o$ gDriver                                                
1 E& S! ]9 X4 m. A5 h1 y+ X3 RSdram" }8 g7 o7 P$ X& Y4 i. [

+ `) |" o' w4 ~. k( r- f( @Resistor
7 {* y' E( W- g

6 h  k5 ^1 u5 n* E: pResistor至Sdram尽可能的小于0.3inch
) `8 l% I) H# X* ^& b' L
3) 对于FD_CLK、Startburst信号                                                                 ) L! M; K& M7 b8 h* S0 S; v
Driver$ j: q. Y4 w- _; @
, Z8 E3 y. Y5 n* s" n
Resistor5 S  p' t0 D0 B+ y9 p( m3 f

5 }% s+ b0 K0 d9 `8 kResistor
. H0 s3 j2 k6 _9 k: Z/ C6 d* i0 x
& t/ w- v7 t4 f# @* _& }( ~
6.布线要点:. ^7 n4 {/ X- C: \
(1) CLK0+、CLK0-以差分形式布线,抑制共模噪声( |2 D/ r% Z. m# A% ?- z9 w+ x- W
(2) CLK1+、CLK1-以差分形式布线,抑制共模噪声; N3 {8 e* @/ @& G5 O; Z6 P
(3) 同组DQ信号可以任意交换,以改善布线
- f# }2 ^% `8 z" @7 B% n4) 在同一SDRAM中,每两组信号可以任意交换,以改善布线
0 s7 v; K/ H9 R+ U' {(5) 对ADDR、CTRL的Y型拓扑接法应注意将过孔放置在两SDRAM之间,确保两分叉的长度相同且短+ U! A- m! u1 O& r
(6) 同组信号相同层完成,同一信号若换层,要有共同的地回流平面,若没有共同地平面需要在换层处加地孔6 y: Y* C" d6 s0 W% A8 E; t
(7) 使用0402封装电阻以节省PCB空间; Y& D3 [+ e! e) z' n  |
8) 尽量少过孔" Z4 _$ w# k4 \3 G
7.电源的处理
, ~% z2 c' P, W5 X9 Q4 V2 Z( X8 yVTT用两表层铺铜处理,在其周边均匀的打一圈孔,0402封装电阻管脚处用走线接铜处理,避免两电阻间连锡,造成焊接不良;其它电源用平面层处理。: \' O5 q4 ?# L1 G  N
二). 关于DDR SDRAM
3 |3 u4 i/ k2 j( }' v5 e/ KClock Buffer
; i# D1 k. G. ]
. J# f( J' M& M+ Q                      Clk0+/-                 Fb                                                  
; @. z8 I# [) x1 J4 ]
                      Clk1+/-                                                                        
2 v8 a# k; y5 P* E, }! LSibyte
5 [, [! N" |6 `1 o& l1 s0 ~2 c' A, \- ~% S6 m
                      Clk2+/-                  Clk+/-                                         

3 `4 j# @: \$ S# M                    Addr、Ctrl                                                            
; N# i3 h- d# Q, v* r1. 信号分组,我们把它分为三组* n! x: j# i" v7 c1 q
(1) DDR_A/C(包含Address、Control信号)! Q7 o/ r: `% i
2) DDR_CLK(包含所有的CLK+/-信号)
2 W1 W. Y" V: @8 r; t! s) b2. 布局时应注意以下几点:" j  Y; r0 F, N$ s8 q9 s; L
       (1)对于DIMMs,匹配电阻应靠近第一DIMMs放置' l7 o/ |3 ^  p% a+ a
对于RAMs,匹配电阻应靠近Sibyte放置6 ^6 L" o& I1 g  M9 D) U1 I' ^
(2)所有的上拉电阻摆放在最后一个DIMMs之后,每四至六个信号放置一个0.1uf或者0.22uf的0603封装的电容且靠近上拉电阻6 c' d, o$ r7 F
3. 布线时应注意以下几点:$ V: A% Y* ?' w  j2 u3 Y
(1) 间距方面的要求$ R  u. k: _3 g& H
(a) CLK信号于其它信号保持4:1的space& N; V! p' u2 r% i0 ]0 ?
CLK以差分形式1:1的space布线
7 C8 F& I' p. y/ j) m5 c, }(b)DQ/DQS信号以3:1的space布线,与其它信号保持4:1的space(3:1(即线边缘与线边缘的距离)=3X线到相邻地平面的距离),为了绕线方便,我们把DQ/DQS分为九组,分别为; F' ?; C% ^" \& @6 E2 N  c
Group0:DQ(0..7)、DQS0
" a# ~% v9 ^+ m+ g( ~* LGroup1:DQ(8..15)、DQS1
6 N# Z* H, s; y0 n- c2 N6 z
/ v0 E2 z& ], `9 V, {% D$ U
' j( p  O4 R2 [5 h* DGroup7:DQ(56..63)、DQS7 1 @( }% }" k+ J6 k6 g" A  N0 u
Group8:ECC(0..7)、DQS8
( `- D0 V3 J9 x- A/ T0 [" Z(c) A/C信号以3:1的space布线,与其它信号保持4:1的space9 t# d/ [$ W) x& ]" e$ B
(2)长度方面的要求
- b6 U5 b" ~! y" a' L9 Y/ p& U+ ^(a) A/C信号尽量短,但信号间需小于+/-1500mil的误差
* G! _1 `# E0 @$ B, |  D(b)CLK信号差分对本身做+/-12mil,差分对间做+/-50mil的误差,且满足Length=SB..PLL+PLL..DIMM-PLL..FB
% [9 r# }( @* p% RSB..PLL=Sibyte至PLL Clock buffer的长度1 I2 j- E- B7 i3 X$ q2 v
PLL..DIMM=PLL Clock buffer至DIMM的长度
9 H& W0 [- y: }- DPLL..FB=PLL Clock buffer的反馈时钟长度
5 {* w* c) h$ p+ r- t% g对于DIMMs8 m5 i/ N4 O! ~; k  R! @! b
LongestA/C+6in<CLK<ShortestA/C+9in
! p+ V4 a9 w$ y对于RAMs
8 W% n8 _/ D! @( `7 P3 e% qLongestA/C+4in<CLK<ShortestA/C+7in
3 |! r4 h: Z, B  h# R$ A(c) DQS(0..8)做 +/-400mil的误差, ?( O" x" C) |( N2 y# }  }
对于DIMMs@167MHz5 a! f' A( a. C8 G# p; C8 L3 h
CLK-7in<=DQS<=CLK-1in
4 Q1 Q  B$ ?) P5 d9 [9 ~对于RAMs@200MHz
3 @3 O8 _0 E: J5 [0 `& ACLK-5in<=DQS<=CLK-2in; ]+ g+ P# E( X
(d)DQ/DQS信号组内做+/-50mil的误差
2 I& \" O, }" i" _(e) 所有的DQ/DQS长度都需加上Sibyte的Pin内长度. O" U' E5 Q0 n: R( B* ?5 i
4.   单线阻抗控制在60Ohm,差分控制在120Ohm
7 H& c. v+ p1 s  v1 ^2 t! _/ K# E3 b5.   Topology
7 W  f& G# M/ U/ @(1) 对于A/C信号8 d! ?- J% E- t$ U/ H& f1 D% }" \
对于DIMMs              VTT                                        * g, B4 q# O% @6 e/ {
Rpack
8 s$ f5 G: I0 i% B6 [9 p$ F. C
6 k9 F( C. s+ o  _9 F  i0 |! V9 WSibyte3 V! I( N! ]; L2 y& ^

2 Z0 W: V( n* ~; L6 I, o! YA/C                                            

( `; {& r) ~9 w' n对于RAMs" F9 ?, D) F% L  k1 W& C

" i1 d( M; U, D* W2 Z+ o' V9 R
Ram0# O8 S: _, L4 T+ }
Ram1, \/ m9 B, p2 }6 g7 d% B
Ram2
$ c7 p: J( R! z2 f) P" B/ t
* ]; |6 C( k; E$ B$ I+ O, F% R2 RRpack
" m) _5 q. d3 e# ~4 G5 D8 a, X9 k! J$ Y. i, j! _/ F
Sibyte
5 _/ t% t: W: M2 {% i; ]# s) \) R7 m
A/C                           
% V& i  A6 H: \2 P0 `% T5 g
Ram3                                                                 
! H3 K: _/ R9 tRam4                                                                 5 I* M; d  K6 K; Y6 E
(2) 对于DQ/DQS信号  V2 J- T# f, Z$ O* d; l
Sibyte& B5 n; ~3 h9 W0 u: V# M
4 q5 o+ @8 [0 g
Rpack

$ U% ^  A6 Q2 v% X% d2 Q0 KDQ/DQS. Z& _$ P8 U! k$ ~
& \6 I+ x( i) u: B  U6 Z7 A
(3) 对于CLK
2 i4 j! s+ [3 ]Sibyte# c. {/ g/ O* N( B% }

% X* k1 f5 q, c4 \, vPLL
6 v, _3 @5 ]6 a5 B5 O; ?/ C; V$ g
SB       DIMM
  b6 T' B- O% t+ g9 v) jFB
/ P6 B( v4 Y& z5 a9 ^6.   布线要点! z4 t2 Z5 g" e8 @2 ?8 R) F! S
(1) CLK以差分形式布线,抑制共模噪声
) v+ k* S3 [4 O(2) 同组信号以相同层完成,尽量不换层,同一信号若换层,要有共同的地回流平面,若没有共同地平面需在过孔处加地孔
9 q5 z, b" K! m8 [6 y( h% x(3) 使用排阻以节省PCB空间
! j& n& b4 U. Y! M  K(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
顶!! 写的相当详细具体,谢谢!!!!2 D4 }1 }- N/ {0 p, v. ]5 g

作者: cccccc32    时间: 2011-3-23 10:08
DDR SDRAM是要按楼主说的去处理,不然根本不能使用,不过DSP或者FPGA外面是一片的话可以不做这样的处理,如果是两片或以上并联的药按以上方法处理。: M% k. i3 _+ _0 Y) C# t+ g/ E, }
谢谢!
作者: 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 的帖子- j% L+ t5 U& R
# v+ K9 q7 r- A" B
DDR SDRAM和 SDR SDRAM不一样的。。, x2 _7 u9 U  D" r' s( l

作者: 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