找回密码
 注册
查看: 1387|回复: 5
打印 上一主题 下一主题

DDR2布线经验总结

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
以下内容主要是针对DDR2 667内存的设计。 ( f5 Y3 I3 F" M4 m3 m
信号分组:
! i) o8 }/ w  F" z) \1 NDDR2的布线中习惯把信号分成若干组来进行设计,分成同组的信号具有相关或者相似的信号特性。
2 p4 D0 u  l1 j  q时钟组:差分时钟信号,每一对信号都是同频同相的。ckp0和ckn0为一对。
1 A3 J( g! z- q  e3 _6 |& v数据组:对主板64位DDR2内存来说数据每8位(也就是一个byte)为一组可以分为八组,数据dq[0:7]、数据掩码dqm0、数据选通差分信号dqsp0和dqsn0为一组,以此类推。同个数据组的信号应该在同一个信号层上走线,换层也应该一起换,为了方便在同一个信号层走线可以将数据位互换。比如dq2信号在走线的时候发现如果按照原理图来走线会跟dq4交错,这样就不得不换层走线,我们通过互换数据位就可以使信号走同层,对内存来说每一位存进什么内容读出也是什么内容,互换不会受影响,但是互换的条件必须是在同一组内8个bit之间。
5 c. P6 ], t% `$ Z# g地址/命令组:MA[0:14]、BA0、BA1、BA2、RAS、CAS、WE
- u$ K# \7 c& q- y3 f2 f. [控制组:时钟使能CKE、片选CS、终端电阻选通ODT为一组,对内存条来说DIMM0用到了CKE0、CKE1、CS0、CS1、ODT0、ODT1。做板载内存设计的时候,可以只用CKE0、CS0、ODT0,控制4片16位的内存芯片。 / V( I, R% N- g
PCB叠层:
3 d) g7 y. i" @6 P对六层板来说一般的叠层都是top、GND、singnal2、singnal3、POWER、bottom,信号一般情况下以GND为参考平面比较好。走线的阻抗由走线宽度、走线的铜箔厚度、走线到参考平面的距离、参考平面的铜箔厚度和板介质材料决定,PCB设计的时候应该遵守CPU厂家阻抗设计要求来设置叠层。一般PCB设计软件也能计算阻抗,找PCB生产厂家了解了板材介质厚度的资料后可以自行设计叠层、线宽。地址/命令信号、控制信号可以以1.8V内存工作电压为参考平面。
1 E) i' Z8 @; w" a0 Q6 w/ e7 G长度控制: ) v2 z, v; i1 w, T
对DDR2这种高频的信号来说走线长度应该计算到CPU核心,这就引入了一个叫封装长度的概念。硅晶元经过物理化学的方法刻蚀而成CPU核心,再将CPU核心封装到一块小的PCB基板上就成了我们常见的CPU。那块小的PCB上管脚到CPU核心的走线长度被称为封装长度。 ! Z! ^( U9 A1 ]6 g% Q$ u0 N
到同一行列(rank)内存的时钟长度应该控制在正负5mil以内。
! y' ~' p2 l9 \同一个数据组内所有走线长度控制在数据选通信号DQS的正负20mil范围内为宜,不同数据组之间长度可以不同,但是应该控制在时钟信号的正负500mil以内。
) n- z  t5 E- P/ _6 ^4 V6 I地址/命令组信号长度控制不是特别严格,INTEL凌动N450要求控制在时钟信号负500mil到正1000mil以内。也就是说最长和最短的信号可以相差1500mil,但是布线的时候还是尽量把信号长度差缩小比较好。布线的时候这组信号长度完全相等也没有问题,但是这样占用的PCB空间也大,花费的时间也多。如果地址/命令信号长度超出时钟信号几千mil,那就需要在BIOS固件中好好调节了。控制在CPU要求的范围内,需要做板载内存的时候只需要配置好内存SPD就可以了。
* B9 D( G" s6 M* @7 O8 ^, [控制组信号长度控制要求和地址/命令组信号的要求类似,设计的时候应该按照CPU厂家的要求来做,INTEL凌动N450要求控制在时钟信号0mil到正1000mil以内。
/ i, ]+ r4 Y% m2 Q  `' o走线间距:
8 c) d8 z: O" {) `; Y0 C7 N一般来说走线都应该按照3W原则来走线,也就是同一个平面上线与线的间距为3倍线的宽度。但是这个不是必须的,intel要求的就比较小。一般走线蜿蜒线的间距可以为16到20mil,对时钟信号可以加大到30mil。不同组信号之间的距离应该适当拉大,可以为20mil以上,地址/命令组和控制组信号的间距可以比较小8mil以下都可以。BGA扇出的地方间距可以小,出线后应该以CPU设计要求来走线。
0 {( @6 c5 ?; s其它: 2 j/ h& ^8 G1 e) G9 r7 l
VREF走线可以用一根20mil的线,每接到一个器件应该加一个0.1uf的电容。
( X" J( w3 b+ Y0 w2 X, }  X; EVTT走线应该在135mil以上,每四个电阻接一个0.1uf电容,两端接10uf大电容。
& z5 j5 l# C" y. b( m' r点对多点的信号,如地址/命令信号、控制信号、时钟信号应该按照“T”形走线,也就是芯片中间走上再分支,长度应该满足CPU设计要求。附拓扑图:
. p5 R- z9 b. G+ ~7 s2 A4 D
( G$ N7 @+ C; {' J0 b2 Z* q. L$ J

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

QQ图片20150817222911.png

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-29 14:07 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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