DDR2/3-PCB设计规则

一、关于ODT与驱动强度
1.1、在读数据时,打开主控端的ODT,关闭DDR2端的 ODT;而在写数据时,则相反;数据线空闲时,则关闭两端的ODT。
1.2、对于DDR2 800,设置寄存器,使主控端和DDR2端的ODT阻值为50Ω。
1.3、一般通过调整输出驱动强度以达到最好的信号质量;时钟线、命令线、数据线的延时一般可以独立调节,以满足时序要求。
二、关于走线层与参考层
2.1、对于同一组数据线及其对应的DQ STROBE线,如DQ[7:0]、DM0与DQS0、DQS0#,应布在同一层,以减小信号skew。
2.2、DDR2信号线的参考平面最好是选择地平面(尤其是时钟线),如果基于成本考虑,不得不选用电源层作为参考面,则DDR2供电电源平面需包围整个DDR2走线范围,且边缘要留有余量,电源与地平面间的阻抗在整个带宽范围内要足够低。
三、关于线长匹配
3.1、走线增加一个过孔,大概相当于增加了90mil的传输线长度。
3.2、对于走线长度应把封装内部引线长度计算在内。
3.3、各信号线的长度匹配如下表:(控制线:CS、CKE、ODT(终端电阻控制线);命令线:Address、Bank Address、RAS、CAS、WE;数据线:DQ、DM)在这里插入图片描述
3.3、时钟信号差分对的长度差应控制在5mil(0.127mm)以内。
3.4、在能够满足布线空间的情况下,走线长度越短越好,一般控制在5000mil(127mm)以内,可以以时钟线作为参考线。

四、关于窜扰:
4.1、对于蛇行走线,各线段之间的间距应至少为走线宽度的两倍(边沿到边沿)。
4.2、DDR2信号线与非DDR2信号线之间的间距应大于25mil(或4W或包地)。
4.3、时钟、DQS等差分线与其它DDR2信号线的间距应大于20mil(或4W或包地)。
4.4、同一组命令线,同一组控制线或同一组数据线间的走线间距应大于走线宽度1.5倍(2.5W)(最好2倍(3W)以上),而不同组间的信号线间距应大于走线宽度的2倍(3W)(最好3倍(4W)以上)。
4.5、在扇出线区域,由于空间限制,不能满足走线宽度和间距要求时,可适当减小走线宽度及减小走线间距,但该扇出线长度应小于500mil。
4.6、扇出线过孔应尽量靠近焊盘,如有可能,最好打盘中孔。
4.7、每条信号线的过孔数最好不要超过两个。
4.8、VREF参考电压线要有足够低的阻抗,且与其它DDR2信号线的间距大于25mil(4W或包地)。
五、关于阻抗匹配:
5.1、DDR信号走线单端阻抗应设置成50Ω
5.2、对于控制命令线、时钟线要进行阻抗匹配,可采用源端串联匹配或末端并联匹配。(源端匹配具有较小的驱动功率,但上升沿时间是末端匹配的两倍,且一般驱动器的HI和LO驱动电阻不一样,较难得到精确的匹配阻值,源端匹配一般只适合于点对点拓扑)。
5.3、对于单端信号线,源端端接电阻加驱动电阻值等于走线阻抗;而末端端接电阻等于走线阻抗,端接电压为DDR2供电电压的一半,通常需使用专用的DDR2端接稳压电源,在整个带宽范围内具有低阻抗,高动态响应能力等性能。
5.4、Clock、data strobe等差分信号线应尽量设计成紧耦合差分对,即差分对内间距应小于走线宽度。走线应对称,如同时改变线宽,同时打过孔等。
5.5、对于Clock差分信号线,如有两个负载,则各分支线长度应尽量短且对称,每条分支线末端用200Ω电阻进行并联端接。
5.6、并联端接电阻的走线长度应控制在250mil以内。对于点对点拓扑的末端端接电阻,应放在接收器后面。
5.7、对于控制命令线,如有多个负载,应采用星型连接,各分支线长度应短且对称,并在分支点进行阻抗匹配,阻值等于走线阻抗。(如图:其中L2大于250mil,小于1500mil;L3小于250mil;各分支对称段的长度偏差应小于50mil)
5.8、有时为降低功耗,可以关闭ODT功能,此时,对于点对点拓扑的数据线,可以在DDR端进行串联端接;而对控制命令线不做匹配,但要加大走线间距。(不推荐使用)
在这里插入图片描述
六、Micron与Freescale官方对DDR2 PCBLayout的指导规则:

在这里插入图片描述 图6-1 信号组通用约束规则
在这里插入图片描述图6-2 信号组之间的长度匹配
七、关于拓扑结构
7-1 星型拓扑
星形拓扑也是一种常用的多负载布线拓扑,驱动器位于星形的中央,呈辐射状与多个负载相连,星形拓扑可以有效避免信号在多个负载上的不同步问题,可以让负载上 收到的信号完全同步。但这种拓扑的问题在于需要对每个支路分别端接,使用器件多,而且驱动器的负载大,必需驱动器有相应的驱动能力才能使用星形拓扑,如果 驱动能力不够,需要加缓冲器,原始的星形拓扑结构图如下所示。
在这里插入图片描述
图7-1 星型拓扑
7.2、<树形拓扑结构>T型拓扑
树型拓扑结构又叫对称型的远端簇型拓扑结构,我们也习惯叫T形拓扑、等臂分支拓扑等;树形拓扑是网络节点呈树状排列,整体看来就象一棵朝上的树,因而得名, 同时它可以包含分支,每个分支又可包含多个结点。它适用于多负载,单向驱动的总线结构 如地址、控制等,当布线不对称时,信号质量影响很大,如我们熟悉的DDR2地址信号就是采用的这种结构。如下图所示。在这里插入图片描述
图7-2 T型拓扑
7.3、菊花链型拓扑
菊花链一词最基本的概念指的是一种由许多菊花串接在一起形成的花环,早期也叫手牵手链接方式,一个人最多只能通过两条手臂牵着另外两个人(相当于一个芯片最多只能通过两段传输线连 接到另外的两个芯片上),后来衍变到电子电器工程中菊花链又代表一种配线方案,例如设备A和设备B用电缆相连,设备B再用电缆和设备C相连,设备C用电缆 和设备D相连,在这种连接方法中不会形成网状的拓扑结构,只有相邻的设备之间才能直接通信,例如在上例中设备A是不能和设备C直接通信的,它们必须通过设 备B来中转,这种方法同样不会形成环路。如下图所示。在这里插入图片描述
图7-3 菊花链拓扑
7.4、Fly_by型拓扑
Fly-By是分支更短的菊花链拓扑形式,图3 DDR3内存的时钟、地址、控制命令均采用了Fly-by拓扑结构,将命令和地址信号以及CLK串联到各个内存模块上,并在末端配备合适的电阻。在该拓扑结构中,信号可在不同的间隔时间内到达不同的内存模块,即具有Write Leveling和Read Leveling功能,可延迟遭遇内存模块输入容性负载的时间。这样一来,通过容性负载的减少,且最远分支末端加上终端匹配电阻吸收反射来提高信号完整性,DDR3可以在不影响数据速率的同时提供更高的信号传输速率并提升内存系统的扩展性。图3给出了DDR3内存系统采用的Fly-by拓扑结构。如下图所示。
在这里插入图片描述
图7-4 Fly_by拓扑结构
可以看到,Fly-by拓扑的分支非常短,因此阻抗变化更小反射更小,能改善信号质量;但由于Fly-by的分支很短, 那就存在内存控制器到各个内存之间接收信号时间上的差超出时序容限的情况,因此,要使用Fly-by拓扑,内存控制器必须拥有相应的延时调整机制,这种机制叫Write Leveling或Read Leveling ,它能补偿时钟和各选通信号之间的延时差,调整时序容限;
八、元器件摆放
确定了DDR的拓补结构,就可以进行元器件的摆放,有以下几个原则需要遵守:
<1>原则一,考虑拓补结构,仔细查看CPU地址线的位置,使得地址线有利于相应的拓补结构
<2>原则二,地址线上的匹配电阻靠近CPU
<3>原则三,数据线上的匹配电阻靠近DDR
<4>原则四,将DDR芯片摆放并旋转,使得DDR数据线尽量短,也就是,DDR芯片的数据引脚靠近CPU
<5>原则五,如果有VTT端接电阻,将其摆放在地址线可以走到的最远的位置。一般来说,DDR2不需要VTT端接电阻,只有少数CPU需要;DDR3都需要VTT端接电阻。
<6>原则六,DDR芯片的去耦电容放在靠近DDR芯片相应的引脚

以下是DDR2的元器件摆放示意图(未包括去耦电容),可以很容易看出,地址线可以走到两颗芯片中间然后向两边分,很容易实现星形拓补,同时,数据线会很短。在这里插入图片描述
以下是带有VTT端接电阻的DDR2元器件摆放示意图,在这个例子中,没有串联匹配电阻,VTT端接电阻摆放在了地址线可以到达的最远距离。在这里插入图片描述
以下是DDR3元器件摆放示意图,请注意,这里使用的CPU支持双通道DDR3,所以看到有四片(参考设计是8片)DDR3,其实是每两个组成一个通道,地址线沿着图中绿色的走线传递,实现了菊花链拓补。地址线上的VTT端接电阻摆放在了地址线可以到达的最远的地方。同样地,数据线上的端接电阻也放置在了靠近DDR3芯片的位置,数据线到达CPU的距离很短。同时,可以看到,去耦电容放置在了很靠近DDR3相应电源引脚的地方。
九、关于走线
9.1、所有走线尽量短;
9.2、走线不能有锐角;
9.3、尽量少打过孔;
9.4、保证所有走线有完整的参考面,地平面或电源平面都可以,对于交变信号,地与电源平面是等电位的;
9.5、尽量避免过孔将参考面打破,不过这在实际中很难做到;
9.6、绕等长前,务必将DDR芯片的电源脚、接地脚,去耦电容的电源脚、接 地脚全部走完线、打完过孔,并锁定。否则在后面绕等长时会很麻烦的;
9.7、走线时,同组内线-线间距,建议采用3W原则,如3W很难满足,可降 低到2.5W;和其他组的间距建议4W,如4W很难满足,可降至3W,或者用地 线隔开。

发布了25 篇原创文章 · 获赞 4 · 访问量 365

猜你喜欢

转载自blog.csdn.net/weixin_43839976/article/details/103702181