找回密码
 注册
关于网站域名变更的通知
查看: 1912|回复: 3
打印 上一主题 下一主题

看一下DDR2 DDR3 PCBlayout有哪些设计规则

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-6 21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一位同事讲:但是有一个比较值,就是CLK的长度要大于address,address要大于data。同组间相等。组间的差别不能大于10mm。7 b3 w+ e# {" V  d7 z. C5 }8 E
    有网友表示,DDR数据线用DQS来锁存,因此要保持等长。地址、控制线用时钟来锁存,因此需要和时钟保持一定的等长关系,一般等长就没有什么问题。阻抗方面,一般来说DDR需要60欧姆,DDR2需要50欧姆,走线不要打过孔,避免阻抗不连续。串扰方面,只要拉开线距,一层信号一层地,就不会出问题。也有网友表示他们模拟DDR2的结果:时钟对线长误差小于0.5mm;最大长度小于57mm;时钟线与相对地址线的长度差小于10mm。
  C% B# v' r) z1 Y! J
    无论是PCB上使用芯片还是采用DIMM条,DDR和DDRx(包括DDR2,DDR4等)相对与传统的同步SDRAM的读写,主要困难有三点:
第一,时序。由于DDR采用双沿触发,和一般的时钟单沿触发的同步电路,在时序计算上有很大不同。DDR之所以双沿触发,其实是在芯片内部做了时钟的倍频,对外看起来,数据地址速率和时钟一样。为了保证能够被判决一组信号较小的相差skew,DDR对数据DQ信号使用分组同步触发DQS信号,所以DDR上要求时序同步的是DQ和DQS之间,而不是一般数据和时钟之间。另外,一般信号在测试最大和最小飞行时间Tflight时,使用的是信号沿通过测试电平Vmeas与低判决门限Vinl和和高门限Vinh之间来计算,为保证足够的setup time和hold time,控制飞行时间,对信号本身沿速度不作考虑。而DDR由于电平低,只取一个中间电平Vref做测试电平,在计算setup time和hold time时,还要考量信号变化沿速率slew rate,在计算setup time和hold time时要加上额外的slew rate的补偿。这个补偿值,在DDR专门的规范或者芯片资料中都有介绍。4 k& b$ L# Q+ c% M5 P
第二,匹配。DRR采用SSTL电平,这个特殊buffer要求外接电路提供上拉,值为30~50ohm,电平VTT为高电平一半。这个上拉会提供buffer工作的直流电流,所以电流很大。此外,为了抑制反射,还需要传输线阻抗匹配,串连电阻匹配。这样的结果就是,在DDR的数据信号上,两端各有10~22ohm的串连电阻,靠近DDR端一个上拉;地址信号上,发射端一个串连电阻,靠近DDR端一个上拉。
8 g/ s! v2 m# u( `  t- u. M( Y% W第三,电源完整性。DDR由于电平摆幅小(如SSTL2为2.5V,SSTL1为1.8V),对参考电压稳定度要求很高,特别是Vref和VTT,提供DDR时钟的芯片内部也常常使用模拟锁相环,对参考电源要求很高;由于VTT提供大电流,要求电源阻抗足够低,电源引线电感足够小;此外,DDR同步工作的信号多,速度快,同步开关噪声比较严重,合理的电源分配和良好的去耦电路十分必要。2 H- e6 ]/ {7 B9 x( S
   
  a5 G! s0 }" [8 {" b; d1.CLK等长长度为X,最长的和最短的相差不超过25mils$ P# N; K5 o& ^. p; r

& g- S& y/ B6 Z9 n. x$ F2.DQS长度为Y,和CLK比对,Y要在[X-1500,X 1500mils]这个区间
6 W0 o5 R. Z$ S$ o4 ?9 q, [* @: v7 |  {. Y  I1 Y. N9 \# N
3.DM、DATA长度为Z,和各组的DQS比对,Z要在[Y-25,Y 25mils]区间里面( H# e/ f- ~* Q$ b) c
' A4 @5 I3 Y& l4 f# N
4.A/C信号(control & command信号)长度为K,和CLK比对,K要在[X-1500,X 2000mils]范围内
9 G6 K1 D+ g3 y: W3 V8 Z5 W. j' u' v: t: x, B1 f+ |+ ?
5.阻抗控制:DQ DQS DM CONTROL COMMAND CLK阻抗为55ohm -15%5 s3 f! w3 z  c2 o2 i0 H, ^
: e7 `% w" H( q/ \  W8 ]0 H
1.走线分组5 E- z' E+ g8 K
    ARM系统中内存一般为32位或者16位,通常使用一片或者两片内存芯片组成。可以将数据线分成一组,两组或者4组。
# m  T* w% J5 V) _9 m- t) l一组的分法即:DATA0-31,DQS0-3,DQM0-3作为一组;
6 L) i" ~7 r5 E, A6 x4 L7 n; p两组的分法:DATA0-15,DQS0-1,DQM0-1为一组,DATA16-31,DQS2-3,DQM2-3为一组;3 |  N- f3 t+ `- K
四组的分法:DATA0-7,DQS0,DQM0为一组,DATA8-15,DQS1,DQM1为一组,DATA16-23,DQS2,DQM2为一组,DATA23-32,DQS3,DQM3为一组。) z, a$ n" k* B' r% h! U1 i
具体分几组,可以根据芯片数量和走线密度来确定。布线的时候,同一组的信号线必需要走在同一层。
" o$ a, m5 P# W; |2 z# J' s剩下是时钟信号,地址信号和其它的控制信号,这些信号线为一组。这组信号线尽量在同一层布线

* n/ G% R1 u$ h- W, Z9 |# ~7 g: r. i/ i! r" b& V" M
2.等长匹配
/ i; Y& j" ~! l% D, B# ?; S9 Aa. DDR的DATA0-31,DQS0-3,DQM0-3全部等长匹配,不管分为一组还是两组或四组。误差控制在25mil。可以比地址线长,但不要短。$ q5 Q5 O) x/ b
b. 时钟信号,地址信号和其它的控制信号全部等长匹配,误差控制在50mil。另外如果是DDR时钟,要按照差分线要求来走线,两条时钟线的长度要控制在2.5mil的误差内,并且尽量减小非耦合的长度。时钟线可以比地址和其它信号线长20-50mil。
8 Z, `7 ?0 {$ d3 y5 d9 R" G

1 @. E4 x  d9 {! a0 |9 A0 u, p# L3.间距
- g7 E% N$ U: u; ~* M6 g    间距的控制要考虑阻抗要求和走线的密度。通常采用的间距原则是1W或者3W。如果有足够的空间来走线,可以将数据线按3W的间距来走,可以减小很多串扰。如果实在不行至少要保证1W的间距。除此之外,数据线与其它信号线的间距至少要有3W的间距,如果能更大则更好。时钟与其它的信号线的间距至少也要保持3W,并尽可能的大。绕线的间距也可以采用1W和3W原则,应优先用3W原
4 X# F7 J. J% A3 d5 a7 Q$ D
) d1 {, a7 B# _; z9 v; V
5 c4 h% ~/ C- O- q: O& h/ a2 B, g) b

# |4 c) p8 E7 o. ^
# J5 N" e) a$ c# d

该用户从未签到

3#
发表于 2019-9-11 10:05 | 只看该作者
好多字呀,每个产品还是看他的硬件设计手册靠谱,怎么弄都写上面了。
  • TA的每日心情
    开心
    2022-4-8 15:52
  • 签到天数: 35 天

    [LV.5]常住居民I

    4#
    发表于 2021-8-3 16:02 | 只看该作者
    最后的间距:3W是指中心距离,1W指GAP距离吧?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-27 03:11 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表