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

DDR2布线经验总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-8-17 22:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
以下内容主要是针对DDR2 667内存的设计。 4 L. G5 z+ U( I5 R  Q! M" `
信号分组: ; q- x% X7 h; r1 f4 m- ~5 r
DDR2的布线中习惯把信号分成若干组来进行设计,分成同组的信号具有相关或者相似的信号特性。 6 j& X3 r6 w5 W2 V+ ^' x0 v
时钟组:差分时钟信号,每一对信号都是同频同相的。ckp0和ckn0为一对。
# F+ s  I9 s5 a3 O9 h. q数据组:对主板64位DDR2内存来说数据每8位(也就是一个byte)为一组可以分为八组,数据dq[0:7]、数据掩码dqm0、数据选通差分信号dqsp0和dqsn0为一组,以此类推。同个数据组的信号应该在同一个信号层上走线,换层也应该一起换,为了方便在同一个信号层走线可以将数据位互换。比如dq2信号在走线的时候发现如果按照原理图来走线会跟dq4交错,这样就不得不换层走线,我们通过互换数据位就可以使信号走同层,对内存来说每一位存进什么内容读出也是什么内容,互换不会受影响,但是互换的条件必须是在同一组内8个bit之间。 ( A4 E- |4 @6 p+ x5 a! D
地址/命令组:MA[0:14]、BA0、BA1、BA2、RAS、CAS、WE
9 m5 z* P; k8 F5 Z; E控制组:时钟使能CKE、片选CS、终端电阻选通ODT为一组,对内存条来说DIMM0用到了CKE0、CKE1、CS0、CS1、ODT0、ODT1。做板载内存设计的时候,可以只用CKE0、CS0、ODT0,控制4片16位的内存芯片。
2 P; G9 c/ M0 n* G3 BPCB叠层: / a& Z# `( R, |) T9 e( K) W' z
对六层板来说一般的叠层都是top、GND、singnal2、singnal3、POWER、bottom,信号一般情况下以GND为参考平面比较好。走线的阻抗由走线宽度、走线的铜箔厚度、走线到参考平面的距离、参考平面的铜箔厚度和板介质材料决定,PCB设计的时候应该遵守CPU厂家阻抗设计要求来设置叠层。一般PCB设计软件也能计算阻抗,找PCB生产厂家了解了板材介质厚度的资料后可以自行设计叠层、线宽。地址/命令信号、控制信号可以以1.8V内存工作电压为参考平面。 ! K$ U/ ~9 N) t6 Z( s# }+ c$ J8 }
长度控制: / s/ C1 \5 D3 P% N4 e
对DDR2这种高频的信号来说走线长度应该计算到CPU核心,这就引入了一个叫封装长度的概念。硅晶元经过物理化学的方法刻蚀而成CPU核心,再将CPU核心封装到一块小的PCB基板上就成了我们常见的CPU。那块小的PCB上管脚到CPU核心的走线长度被称为封装长度。 0 m& I/ l9 o7 X$ N
到同一行列(rank)内存的时钟长度应该控制在正负5mil以内。
( Y$ U1 m: W# `. k+ z7 x同一个数据组内所有走线长度控制在数据选通信号DQS的正负20mil范围内为宜,不同数据组之间长度可以不同,但是应该控制在时钟信号的正负500mil以内。
4 t' L- n3 |: |% G. ]& u) j' D地址/命令组信号长度控制不是特别严格,INTEL凌动N450要求控制在时钟信号负500mil到正1000mil以内。也就是说最长和最短的信号可以相差1500mil,但是布线的时候还是尽量把信号长度差缩小比较好。布线的时候这组信号长度完全相等也没有问题,但是这样占用的PCB空间也大,花费的时间也多。如果地址/命令信号长度超出时钟信号几千mil,那就需要在BIOS固件中好好调节了。控制在CPU要求的范围内,需要做板载内存的时候只需要配置好内存SPD就可以了。 + ~$ ~: @- c* c; u
控制组信号长度控制要求和地址/命令组信号的要求类似,设计的时候应该按照CPU厂家的要求来做,INTEL凌动N450要求控制在时钟信号0mil到正1000mil以内。 5 B1 E) H. {/ s# G
走线间距: : Z2 i+ [% g( @/ q6 H. x
一般来说走线都应该按照3W原则来走线,也就是同一个平面上线与线的间距为3倍线的宽度。但是这个不是必须的,intel要求的就比较小。一般走线蜿蜒线的间距可以为16到20mil,对时钟信号可以加大到30mil。不同组信号之间的距离应该适当拉大,可以为20mil以上,地址/命令组和控制组信号的间距可以比较小8mil以下都可以。BGA扇出的地方间距可以小,出线后应该以CPU设计要求来走线。 ! H  r0 A! B5 v5 [1 |9 M
其它: ' H( U$ c3 m6 C2 H& M5 `9 G0 m* {
VREF走线可以用一根20mil的线,每接到一个器件应该加一个0.1uf的电容。 3 K. }, A; v, K3 {# W0 v$ m, t
VTT走线应该在135mil以上,每四个电阻接一个0.1uf电容,两端接10uf大电容。 1 S' }3 K' [  @# Y3 v& K' V1 B$ b
点对多点的信号,如地址/命令信号、控制信号、时钟信号应该按照“T”形走线,也就是芯片中间走上再分支,长度应该满足CPU设计要求。附拓扑图:
+ c' l8 K, N8 ^# ~# e
& I2 I9 g' |2 q

QQ图片20150817222911.png (7.86 KB, 下载次数: 13)

QQ图片20150817222911.png

该用户从未签到

4#
发表于 2015-8-25 08:44 | 只看该作者
再来学习下

该用户从未签到

5#
发表于 2015-9-21 15:36 | 只看该作者
学习了,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-28 16:46 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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