EDA365电子工程师网

标题: 关于ddr3等长控制的问题,急! [打印本页]

作者: wangjing    时间: 2012-8-6 17:39
标题: 关于ddr3等长控制的问题,急!
本帖最后由 wangjing 于 2012-8-7 18:03 编辑 , T1 j" b8 d2 C5 Q, N- C6 ]
* r( ~' _( P  o* n5 o
8片DDR3,因板子空间有限,需要正反重叠贴片,即top面4片,bottom片4片,所以打孔非常受限。现在data线的等长已经完成,但是一片ddr中,最长地址线和最短地址线的长度已经差了1000多mil了,现在板子上没有太多的空间。请问地址线和clk等长最大可以控制在多少mil板子不会有问题?

11.jpg (90.85 KB, 下载次数: 24)

11.jpg

作者: procomm1722    时间: 2012-8-7 09:40
我看您的問題覺得很奇怪, 請問您的 Constraint 是誰來設計的? 難不成是您自己隨手定的或是根本沒有規則可依據?! Q% D) ~( D# E5 w" E
這都是有標準規範的 , 怎麼拉線會誤差這麼大.
作者: 1571847427    时间: 2012-8-7 11:25
就像二楼说的。本身规则就已经设置好了,在布线过程中会时刻注意线长问题。clk差分线与地址线组在1500-2500之间即可。
作者: blue822180    时间: 2012-8-7 13:49
楼上的根据桩线定义似乎不应该超过520MIL吧?每组线间的线长,请问您1500-2500是怎么算出来的
作者: wzwang2000    时间: 2012-8-7 13:51
这主要要看你ddr3的频率是多少,然后还有板子的介质,地址线之间相差不能超过波长的十分之一,比如说,ddr3的频率是300MHz,介质常数为4,根据波长=c/(f*根号下的介质常数),所以此时波长为3*10的八次方/(300*10的六次方*2),即为0.5m,所以布线之间长度相差只要不超过0.05m就可以,当然ddr3好像频率都超过800MHz了吧,你自己算算。
作者: blue822180    时间: 2012-8-7 14:10
wzwang2000 发表于 2012-8-7 13:51 $ ?& v: z  c: W0 n
这主要要看你ddr3的频率是多少,然后还有板子的介质,地址线之间相差不能超过波长的十分之一,比如说,ddr3 ...

( y2 V) k1 h; Q  b. n8 \6 F' D你这个计算方法仅仅是算出什么情况下,不用做信号匹配的方法。那个说1000-2500MIL是怎么算出来的?DDR3的主频应该在1333的,我只知道每组数据线间距离不能超过撞线定义所确定的,即不能超过上升时间RT,根据经验定理带宽等于5F从而可以算出带宽,在根据带宽=0.35/RT,算出RT,在根据RT算出线长,这里没有说时钟线和数据线的差距,如果有也仅仅是这里计算出来的,他怎么计算出1000-2500?我怎么算都算不出来,但是我肯定控制和数据是差我说的那个数字
作者: wzwang2000    时间: 2012-8-7 14:17
blue822180 发表于 2012-8-7 14:10
/ \$ b4 `! {4 Z: l6 c6 G: A你这个计算方法仅仅是算出什么情况下,不用做信号匹配的方法。那个说1000-2500MIL是怎么算出来的?DDR3的 ...
( c  E* e. D  V) I
我觉得他说的应该是错的,如果是1000mil,那就是25.4mm,对于频率超过1000M的ddr3来说相差肯定过大,这样的布线肯定是有问题的。
作者: wzwang2000    时间: 2012-8-7 14:19
blue822180 发表于 2012-8-7 14:10
) M: Z8 y$ h# T9 z' u你这个计算方法仅仅是算出什么情况下,不用做信号匹配的方法。那个说1000-2500MIL是怎么算出来的?DDR3的 ...
# ]2 r) O% y$ K7 U0 u7 ~: E% @% g
呵呵,另外我想问下,你的经验定理是哪里来的,一般是5倍f?那如果是4倍f,岂不是算出来的数据就不对了?
作者: wangjing    时间: 2012-8-7 17:26
procomm1722 发表于 2012-8-7 09:40 / k% E: K$ O, a" x1 F9 ]+ R0 i3 Z
我看您的問題覺得很奇怪, 請問您的 Constraint 是誰來設計的? 難不成是您自己隨手定的或是根本沒有規則可依 ...

0 [5 }3 l. @6 w2 d9 r9 {这个是正反完全重合贴啊,正反的地址线要连在一起,所以打孔非常受限制,连到主芯片的地址线只能按打孔的这个顺序连接,所以才会造成最长最短相差很多
作者: 1571847427    时间: 2012-8-7 18:28
地址信号比数据信号长1500-2500,是因为信号延时和地址信号电阻匹配等多因素。这个值是范围值,指导布线过程线长的要求。我一般布线的时候数据信号尽量短,保证地址信号大于1500即可,从来没超过2000。关于这个数值很多ddr3的文件说明都有。
作者: 绝。对    时间: 2012-8-8 16:50
学习
作者: kley    时间: 2012-8-8 22:44
clk与地址线0.1ns以内,地址线CPU到DDR还要做T点,T点与T点的误差也好控制!
作者: fsq2011    时间: 2012-8-11 11:57
好奇DDR3的地址控制时钟不是走菊花链?
作者: dinodino66    时间: 2012-8-31 01:55
走在表面的線等長要縮短* f) j- ~: f3 Y( W$ T# l
介質不一樣
6 _/ a) W& p' c! ^表層NET屬性速度比較快
作者: wanglan    时间: 2012-8-31 11:44
感谢学习了!
作者: wangjing    时间: 2012-9-4 15:25
据说正反贴调不通,所以后来又将芯片全放在正面呢,大家不要被误导了
作者: wangjing    时间: 2012-9-4 15:27
ddr2可以正反贴,ddr3不可以
作者: 252631    时间: 2012-9-4 15:29
你的地址线是什么TOP?
作者: wangjing    时间: 2012-9-4 15:34
252631 发表于 2012-9-4 15:29 ! s7 x) j2 v- b4 W: j
你的地址线是什么TOP?

" C) C) `4 o3 d/ K6 H' i3 Y0 z什么意思?地址走在内层了
作者: 252631    时间: 2012-9-4 15:35
拓扑结构?不是层面的意思。
作者: dszfp    时间: 2012-9-4 23:11
wangjing 发表于 2012-9-4 15:27
5 f9 u0 ^  z, W- ^! J' Tddr2可以正反贴,ddr3不可以
4 c' W; d7 E2 e2 X$ B0 w7 T1 _( ^
不知道你有多少个内层走线。我觉得你截的那个图走的拓补结构不怎么合适,DDR3地址线一般是走菊花链吧。DDR3可以正反贴的,不过要错开。

1.jpg (28.71 KB, 下载次数: 9)

1.jpg

作者: andyxie    时间: 2012-9-5 00:14
wanglan 发表于 2012-8-31 11:44 1 J) [8 f# q; d  s5 U2 q1 k) ]
感谢学习了!
% \# A7 n$ E  d
上面的回答都是理论的东西,只能体现回答者多么只是渊博,并给不了layout 上面帮忙!. j6 Y* p  F. U0 i1 Z7 e
! u& Y, C0 S8 G5 N+ F5 b) }
下面给Intel 主板设计指南里,给出的DDR3 分组等长的规则,希望对layout者有提示。
" J- ]0 W% m% b; ^! S3 O; `7 T5 B3 i* N. z- X# {" e
注意:ddr3 数据时64位 ,分8组分别等长。4 F- M) y6 q+ P$ d: `: n
; h" N! J0 U! E( v
DDR3 Data Group Specifications        Min        Max, B. N6 s# g7 ?
DQ/DM/DQS/DQSB Matching                0.010
, r  [& a" v- L2 P% U  ~6 m1 \& iDIMM0 to DIMM1 Region                0.500( s+ x7 e' C+ e0 U" \4 v
               
5 ^) }' @, h+ s! Q8 v& wDQS/DQSB/DQ/DM  min/max               
1 q3 n0 K8 q/ N" w$ {- g3 p  LByte Group 0                ; u: g( g) h6 M9 Q& s
Die-2-DIMM0        2.900        4.900
6 `! e2 r: W+ G# y: oDie-2-DIMM1        3.000        5.000
2 W8 T9 U# w0 U5 O( KByte Group 1               
% m& M( R1 m! w+ @" r8 @) q& R+ HDie-2-DIMM0        2.500        4.5007 b3 W3 L* Q) \" `# G) L0 n
Die-2-DIMM1        3.000        5.000
0 C6 ?7 s) ^4 d3 j* JByte Group 2               
1 {) T3 U' S- |+ Y7 o! kDie-2-DIMM0        2.400        4.400) E! U; p; N  Z1 z8 _, ]2 j
Die-2-DIMM1        2.500        4.500; @( m. t$ P4 e8 \4 p- L2 M
Byte Group 3               
4 W) S6 o$ f  O( w7 G2 ODie-2-DIMM0        3.000        5.000
; ~4 c+ C9 E. s7 f' |2 UDie-2-DIMM1        3.000        5.0002 A! q( ]7 I6 X8 P0 T) {# P  ?
Byte Group 4                $ c5 S  j: n3 b( h7 _
Die-2-DIMM0        3.000        5.000
1 x+ v7 T/ G, f- p( V, VDie-2-DIMM1        3.500        5.500
  c8 F' l! R3 k) x" k% K; uByte Group 5                * v0 b4 F/ x  |, t' O5 M
Die-2-DIMM0        3.500        5.500. G5 t8 g- \" A/ g3 `
Die-2-DIMM1        4.000        6.000
$ e' h( @  [2 M6 A7 K3 AByte Group 6                + c" l' h& [# U- T
Die-2-DIMM0        4.000        6.000* A; W+ s% @* g8 M4 f) D8 W
Die-2-DIMM1        4.500        6.500
  d) B- P6 A) s7 ?. `% MByte Group 7                ; a! b0 t9 x4 e) k% M3 h
Die-2-DIMM0        4.500        6.500
' [5 ?9 N0 J( D5 `3 l, QDie-2-DIMM1        5.000        7.000
; f) j) b: n2 v. J0 |2 ]$ s3 Z5 H                ' y: S8 Q* q) C6 I& z
Strobe to Clock Length Matching Rules                ! Y& l  ]. _( f6 m, k- w. a
Clock – DQS[0]                ' j  R& U! i- n5 z. v
Die-2-DIMM0        1.100        0.100. Y6 d1 h( A3 O  Q: x
Die-2-DIMM1        1.000        0.000
; r5 A& d) w+ a2 U/ a( b2 M" XClock – DQS[1]               
  D, ]6 v0 r6 D3 C  n0 s% t, w( _Die-2-DIMM0        1.500        0.500
4 x, O. s' x5 p. {  s$ ^  c2 K6 [Die-2-DIMM1        1.000        0.000% d4 S2 U! @8 f" Q- P
Clock – DQS[2]                6 n% q+ \7 P& t" k; N0 H5 ^
Die-2-DIMM0        1.600        0.6001 A, A4 `3 \1 K
Die-2-DIMM1        1.500        0.5001 W' V+ A: Y& [
Clock – DQS[3]               
+ E& y9 z' @, y3 Y  G: G% N5 V6 wDie-2-DIMM0        1.000        0.000; ~8 ?$ u& ?) T+ K
Die-2-DIMM1        1.000        0.000
7 z6 K8 A3 ^" G  {/ uClock – DQS[4]               
2 J8 k2 z* W6 I8 g) ~( ADie-2-DIMM0        1.000        0.000  P. }# {. x7 R$ M
Die-2-DIMM1        0.500        -0.500
& L1 b/ c( R- X- s) Y+ yClock – DQS[5]                + p5 ?2 N4 @) `2 d" V: G% a
Die-2-DIMM0        0.500        -0.500
2 c  b" x! [! \, @Die-2-DIMM1        0.000        -1.0000 N: D& y/ n& j1 ^" \/ C1 y
Clock – DQS[6]                $ x. {" I( [1 a% J  x9 f
Die-2-DIMM0        0.000        -1.000
( R1 F" b$ o: q3 i# }9 cDie-2-DIMM1        -0.500        -1.500
5 P1 I9 |, [2 ~: B4 _% kClock – DQS[7]                3 B, U/ ]1 S2 _, ?6 G  q0 y% b8 {+ l
Die-2-DIMM0        -0.500        -1.5007 C5 B) Y( w! c5 ?  X2 e3 g" Q$ M6 @
Die-2-DIMM1        -1.000        -2.0007 W8 l0 X4 f3 D% J# Q- }/ F( r6 D

; s4 ]. d# |, }: a
8 x; R) ?' \+ M" K下面看其中一组:* |) c2 x, D0 `6 b" ~# J, n8 a
说明1,这是excel copy 下来的,有兴趣研究的,就copy 回 execel去分析吧5 P) E  B- e7 c( x/ d( C; P2 n. o* m9 b
说明2,这个等长,包括了intel 芯片组北桥芯片的内部长度!即实际长度=BGA内部长度+走线长度
0 p6 h$ N' G- G6 u说明3,这第一组平均长度在3456.1mil ,max-min=3.4mil* Y+ a# C- Q5 h5 F. Y8 ]0 [: h1 S
+ s# R, C. c0 s+ j8 G; v! i( |7 x
1 R0 m3 _' L! |: h1 B! y) w! W5 L
DIMM0 Clock Lengths                                                                                                                4.5390        4.5390
- X" ]0 s# [1 p! q! }0 ^5 W: B8 BDIMM0 Byte Groups 0                                                                                                 Pkg + MB        (max - min)        CLKmin - DQS        CLKmax - DQS$ l' b* {$ P$ G+ g5 u
Target Lengths & Matching                                                                                                2.9 to 4.9        ≤ 0.01        1.100        0.1001 y5 {* H+ e+ L4 B, T
DDR_B_DQS_0        AW8        0.7081                DQS0        7                2.74802        0.0000                                3.4561        0.0034        1.083        1.083
5 `  u# ]- F8 r( l" b: MDDR_B_DQSB_0        AW9        0.6557                DQS0#        6                2.80238        0.0000                                3.4581                1.081        1.081
- ^9 `! n- Z( q5 T1 g' iDDR_B_DQ_0        AV7        0.5394                DQ0        3                2.917        0.0000                                3.4564                       
+ x0 z$ W! \6 Y: \" \+ GDDR_B_DQ_1        AW4        0.6155                DQ1        4                2.8418        0.0000                                3.4573                       
1 X% p) s" v& x$ w, H/ c" lDDR_B_DQ_2        BA9        0.6369                DQ2        9                2.82197        0.0000                                3.4589                       
  P7 L" k* K' _1 u$ YDDR_B_DQ_3        AU11        0.6333                DQ3        10                2.82405        0.0000                                3.4574                       
4 g  `4 L2 B- WDDR_B_DQ_4        AU7        0.5371                DQ4        122                2.92064        0.0000                                3.4577                        4 c% I" ~$ K9 A5 ^- z
DDR_B_DQ_5        AU8        0.5191                DQ5        123                2.9398        0.0000                                3.4589                       
, m$ e1 L7 V1 xDDR_B_DQ_6        AW7        0.5991                DQ6        128                2.85637        0.0000                                3.4555                        8 M8 G0 W( K, j/ H9 h
DDR_B_DQ_7        AY9        0.7033                DQ7        129                2.75472        0.0000                                3.4580                        : [1 g3 _. G3 H& U
DDR_B_DM_0        AY6        0.7665                DM0        125                2.6896        0.0000                                3.4561                       
& x6 v" v# s; @7 v( S9 x8 ~2 G9 V1 ?9 a

0 T, R5 d: M5 v* `5 e再看第二组:
9 j6 X/ w) S9 ~" ~. g! a3 B说明3,这第一组平均长度在3200mil ,max-min=1.9mil  ==》 注意啦, 第二组等长 3200 mil 与第一组等长3456mil 是不一样的!!!
6 a2 G" Y) u$ _' R+ b+ P
* B( f. a- z9 I- h# a& F0 O; }; b9 [- V. p% C. S9 v$ y
/ N2 U) i- J( P/ t
DIMM1 Byte Groups 1                                                                                                 Pkg + MB        (max - min)        CLKmin - DQS        CLKmax - DQS
# r# E* j( D: E; }6 A- ?Target Lengths & Matching                                                                        ≤ 0.5        ≤ 0.5                3 to 5        ≤ 0.01        1.000        0.000
0 C' V( ?4 J# {: RDDR_B_DQS_1        AT15        0.5263                DQS1        16                2.7943        0.0000        0.0000        0.0000                3.3206        0.0019        -2.969        -2.931& `% M. S0 Z* J5 ]7 i* u: B
DDR_B_DQSB_1        AU15        0.5737                DQS1#        15                2.7459        0.0000        0.0000        0.0000                3.3196                -2.968        -2.930
- o- \3 _3 {. o2 n" EDDR_B_DQ_8        AY13        0.6526                DQ8        12                2.6674        0.0000        0.0000        0.0000                3.3200                       
/ i& c7 m; S7 b1 ]# I. E1 ^DDR_B_DQ_9        AP15        0.5135                DQ9        13                2.8080        0.0000        0.0000        0.0000                3.3215                       
/ {' m- L3 F, T" P2 `% O# h% PDDR_B_DQ_10        AW15        0.6721                DQ10        18                2.6481        0.0000        0.0000        0.0000                3.3202                       
0 p, U4 i% c6 W3 U% hDDR_B_DQ_11        AT16        0.7091                DQ11        19                2.6114        0.0000        0.0000        0.0000                3.3205                        + I2 H. \1 n' O! R$ s
DDR_B_DQ_12        AU13        0.5236                DQ12        131                2.7960        0.0000        0.0000        0.0000                3.3196                        ( o7 C7 W# G8 ?7 E; Z6 u
DDR_B_DQ_13        AW13        0.6405                DQ13        132                2.6807        0.0000        0.0000        0.0000                3.3212                        9 ]: B. V9 A1 y3 j
DDR_B_DQ_14        AP16        0.6498                DQ14        137                2.6708        0.0000        0.0000        0.0000                3.3206                        6 s+ a& h( T, }" ^( {. a6 _
DDR_B_DQ_15        AU16        0.6571                DQ15        138                2.6632        0.0000        0.0000        0.0000                3.3203                       
6 K) E4 `8 Z% o7 ^, @DDR_B_DM_1        AR15        0.5973                DM1        134                2.7233        0.0000        0.0000        0.0000                3.3206                        8 j. A4 `' p1 Y( A  j2 v9 L

作者: twffwt    时间: 2012-9-5 14:23
wzwang2000 发表于 2012-8-7 13:51 4 e6 y, i$ D5 E! g4 V5 l" U! d
这主要要看你ddr3的频率是多少,然后还有板子的介质,地址线之间相差不能超过波长的十分之一,比如说,ddr3 ...
2 [2 P: ^( l& U" v. B5 G" F
很精典,学习下
作者: wangjing    时间: 2012-9-5 15:28
dszfp 发表于 2012-9-4 23:11
# h" r- ?) g. R% \" f; o* U不知道你有多少个内层走线。我觉得你截的那个图走的拓补结构不怎么合适,DDR3地址线一般是走菊花链吧。DD ...

* x3 V6 e( O" A9 L是的,已经修改了
作者: Peter8636    时间: 2012-9-5 16:24
地址线应该不超过2000mil吧,
作者: designer    时间: 2012-9-13 04:37

作者: jekyllcao    时间: 2012-9-13 09:29
DDR3的拓扑结构有好几种,选择适合目前摆放的结构。timing match要根据芯片的规格建议来设定,不然自己要做仿真多麻烦!
作者: well    时间: 2012-11-20 00:39
学习了!
作者: youshiweiwei    时间: 2012-11-20 09:39
挺专业的,学习一下!
作者: wangjing    时间: 2012-11-20 09:45
dszfp 发表于 2012-9-4 23:11
" S1 r1 {( `- ?. m7 t3 R; F5 O- N2 F不知道你有多少个内层走线。我觉得你截的那个图走的拓补结构不怎么合适,DDR3地址线一般是走菊花链吧。DD ...
: v" S  A1 k: ]( x* i5 q
多谢了,是否可以截个大图看看地址和数据线等长的绕法?
作者: lcm123456    时间: 2013-3-4 14:55
请问你的板子稳定吗?正反贴1片,请问一下与这两芯片相关的旁路电容怎么放呢?
作者: wangjing    时间: 2013-3-4 15:07
lcm123456 发表于 2013-3-4 14:55
7 z. K; o+ K) i# b3 |3 M- z请问你的板子稳定吗?正反贴1片,请问一下与这两芯片相关的旁路电容怎么放呢?

2 o* U2 ]  R, M6 [0 G6 h据说是正反重叠放不行,改成全放正面了。




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