找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 4878|回复: 15
打印 上一主题 下一主题

[仿真讨论] SDRAM布线参考(网上找的资料,随意整理下)

[复制链接]

18

主题

153

帖子

367

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
367
跳转到指定楼层
1#
发表于 2011-8-9 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
SDRAM布线规则. _4 G) \; @& @7 K
SDRAM接口电路和PCB布线

0 ^2 D8 n" d+ }5 ^1 D. P2 s
很多人对内存布线感到迷茫,找不到切入点,不知如何下手,其实高速硬件设计的主要任务就是与干扰做斗争,内存布线也不例外。可以这样考虑:内存是做什么用的呢?是用来存储数据的,写入1读出1,写入0读出0,即保证数据访问正确。那么,在什么情况会导致数据访问错误呢?: y/ r2 D1 J% g! `/ A
    1
、判决错误,0判成11判成0。可能参考电平不准(为什么不准?信号线内阻造成的压降),也可能是加性干扰,或者阻抗不匹配引起信号畸变。
$ ?6 K! I& s( ~& x$ H- y    2
、时序错误,不满足建立/保持时间,或者采样点相位错误,不在有效信号位置上。触发器需要维持一段时间的能量供给才能正常工作,这个时间就是建立/保持时间。
7 i9 Z* r3 R; ~- m, e那么只要解决好这两个问题,保证内存正确访问,你的内存电路就设计成功了。- X- r, R: }! ~& i
有了这个指导思想,内存布线就可以按部就班地完成。不过,不同的RAM类型,虽然目标都是避免判决和时序错误,但实现方法因工作模式不同而有较大差异。& W. D1 b0 U9 c/ O
高速系统一般采用低压信号,电压低,摆幅小,容易提高速度,降低功耗,但这给布线带来了困难,因为低压信号功率受信号线内阻影响大,是电压平方关系,所以要尽量减少内阻,比如使用电平面,多打孔,缩短走线距离,高压传输在终点用电阻分压出较低电压的信号等。SDRAMDDR-IDDR-IIDDR-III信号电压一个比一个低,越来越不容易做稳定。/ e% R: k' C; a% B4 A' ]! Q
电源供给也要注意,如果能量供给不足,内存不会稳定工作。
下面先介绍一下时钟同步电路的类型,然后分析具体芯片的类型。5 Y) i6 T- q/ _0 r3 n0 V9 P
源同步就是指时钟选通信号clk伴随发送数据一起由驱动芯片发送。公共时钟同步是指在数据的传输过程中,总线上的驱动端和接收端共享同一个时钟源,在同一个时钟缓冲器(clock buffer)发出同相时钟的作用下,完成数据的发送和接收。, o* j- F5 A" j; I1 C
公共时钟同步,将同一个时钟信号用时钟分配器分成2路,一路接发送器,一路接接收器。在时钟上升沿发送数据,在下一个周期的上升沿采样接收。速率在200-300MHZ以下。! ]' j- Y- V. X, D, j3 z; A
源同步是时钟和数据一起发送,时钟稍稍滞后发送,传输速率主要由数据和时钟信号间的时差决定。因此速率快。
6 u4 \' i8 R3 a$ F公共时钟同步电路走线长度有最大值len <=,源同步电路走线长度有最小值<= len <=3 q5 Q' r  a$ U/ ~; D  a
8 g" \. {  p  }1 m8 \( p
   
经常看到等长布线,其实,等长不是目的,真正的目的是满足建立保持时间,同频同相,采样正确。等长只不过可以最简单地实现这个目的罢了。要定量分析线长,必须按照时钟模型公式计算。时钟同步电路的类型在后面有简单介绍,这里只要知道SDRAM是公共时钟同步,DDR是源同步就可以了。
  j$ I3 L& L: M, H7 _( E% E" X8 x6 B! w5 r7 E
    SDRAM
是公共时钟同步模式,只关心建立时间,不关心保持时间。这些时间和各段飞行时间,经过各个门电路延时,clock skewjittercycle等有关,需要按照公式精确计算。算出各种参数后下规则,让EDA软件辅助设计。选出最长的一根线,不需要计算什么,只要与之等长即可。有些软件能自己算,有些只能自己一段段计算,可以编程让EXCEL表格对某种格式的报告文件自动求和,也算半自动化了。2 Y1 u  y+ I- L2 o3 k3 j8 F
5 i7 z7 `: E' y2 i$ j3 Q: X
    DDR
的所有信号都要加匹配,不论多复杂,为了稳定性。始端匹配串接一个22/33欧电阻即可,终端匹配分为AC匹配和DC匹配,阻容可以对噪点抑制,戴维宁电路可以提供高压输电,使参考电平更准确,虽然直流功耗大,但比单个50欧功耗小。
5 o: D; @3 A  {$ S% @- q    CPU
DDR都是高速器件,DDR热量高,应远离。而且DDR是源同步时钟模式,对保持时间有要求,不是线越短越好,有最小距离要求。保证时钟稳定,同频同相,冗余大即可。
; d4 X& D' T6 C. Y0 W有时,信号线有交叉的情况,此时,可以在PCB里调线,再反标回去,因为RAM的各个数据线不需要一一对应,只要有地方存储bit就可以了。注意:刷新线A10不能调,需要读取RAM ID时也不能调整。" p. u# s% G6 `! n( ^6 R. ~& w
评价设计的好坏要看Margin(冗余)setup time marginhold time marginSDRAM/DDR工作没问题并不意味着margin小,也许在实验室可以正常工作,可一到现场就死机。频率漂移,时钟抖动,相差,介电常数变化等都会导致采样错误/不满足建立保持时间,而margin大就可以尽量抵抗这些干扰,在一个恶劣的环境里仍然保持稳定。
* o7 _! ^0 B( e  u( K6 P6 k0 o+ O" e+ P7 |- u! v9 k) r
    2410
使用64M字节的SDRAM扩展数据存储区,由两片K4S561632组成工作在32位模式下,最高频率可达100M以上,对于SDRAM的数据线、时钟线、片选及其它控制信号需要进行线长匹配,由此提出以下布线要求:
1 SDRAM时钟信号:时钟信号频率较高,为避免传输线效应,按照工作频率达到或超过75MHz时布线长度应在1000mil以内的原则及为避免与相邻信号产生串扰,走线长度不超过1000mil,线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,精确匹配差分对走线,误差允许在20mil以内。
2: Y- n4 e( k1 n- a
地址、片选及其它控制信号:线宽5mil,外部间距12mil,内部间距10mil,尽量走成菊花链拓补,可有效控制高次谐波干扰,可比时钟线长,但不能短。
3 SDRAM数据线:线宽5mil,内部间距5mil,外部间距8mil,尽量在同一层布线,数据线与时钟线的线长差控制在50mil内。
( t# f- e4 h2 B* l; F
4.在重要的控制信号线上一搬串联33的电阻,消除干扰。
嵌入式系统使用64M字节的SDRAM扩展数据存储区,由两片K4S561632组成工作在32位模式下。最高频率可达100M以上,对于SDRAM的数据线、时钟线、片选及其它控制信号需要进行线长匹配,由此提出以下布线要求:3 _$ E8 R3 l4 c0 M2 y- H
  • SDRAM时钟信号:时钟信号频率较高,为避免传输线效应,按照工作频率达到或超过75MHz时布线长度应在1000mil以内的原则及为避免与相邻信号产生串扰。走线长度不超过1000mil,线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,精确匹配差分对走线。误差允许在20mil以内。  R( }' W% [2 o; _9 @
    因为表层介电常数低,适合布高速信号,但是因为一侧是空气,存在电磁辐射,屏蔽效果差,因此不能布电磁辐射强的信号,如时钟信号。
  • 地址,片选及其它控制信号:线宽5mil,外部间距12mil,内部间距10mil。尽量走成菊花链拓补。可有效控制高次谐波干扰,可比时钟线长,但不能短。2 E5 I0 }( O' S6 f3 c3 S+ Y) g
  • SDRAM数据线:线宽5mil,内部间距5mil,外部间距8mil,尽量在同一层布线,数据线与时钟线的线长差控制在50mil内。(SDRAM布线中,SDCLKDATA的长度相差<=800mil
    ; t2 N6 U9 |( G4 n/ @, e   
    根据布线要求,在Allegro中设置不同的约束:针对线宽设置3 个约束SDRAM_CLKSDRAM_ADDDRSDRAM_DATA,设置完约束后将约束添加到对应的net上。使得各个net都具有线宽、线距约束属性。最后为不同的信号组选择合适的约束即可。但是设置的约束在系统CPU内部是无法达到的。因为EP9315BGA封装。pin间距1.27毫米,显然在CPU内部,线宽线距无法达到上述要求,利用Allegro设置CPU特殊走线区域cpu_area。并加上area属性,在此区域中另设置适合BGA内部走线的约束。
    ) f9 ]4 e- R) }2 f6 M; @
下面简单说下内外层布线的特点:
8 [2 {4 ]5 D8 ~7 z7 f+ Q, l9 l6 i$ ?. P) M( W: k
% P+ l! S: u* X
^' S! H(1)表层(TOP和BOTTOM层)布线) - ~8 c! K* R, O) r* M& _. w3 k

  b% q4 V( F- {* y4 ~
' z; @. g0 B9 w/ {) Y6 C: a; `* r / w! A7 }6 U: c5 F

# J: u3 t: \; k, _5 U; U分析一下表层布线的环境,线的一侧是介质,一侧是空气(忽略阻焊油漆),等效介电常数小于中间层,传输线延时较小,这个特点决定了表层走线可以有更快的信号传输速度,因此可以利用表层布信号速度很快的信号,如2.5GHz或3.125GHz,布高速信号时尽量不要打孔,如果实在需要打孔,从TOP打孔换层到BOTTOM,或者从BOTTOM打孔换层到TOP,也不存在过孔的stub效应,这个特点也是内层布线所不具备的优势。但表层布线不是完美无缺的,由于走线一侧是空气,所以存在电磁辐射效应,因此不能布时钟等强辐射信号。(2)内层布线

& Q2 ^/ ]7 E$ k+ T2 _! A+ m  J
: p7 b8 N  y. R
+ F2 J% |, B/ d: e( E内层布线的优势是可以很好的利用参考平面实现屏蔽效果,可以很好地控制阻抗,由于内层没有表层的SMD器件焊盘,所以布线空间比表层更大,布线特别是布总线更容易。但内层布线由于两侧都是介质,等效介电常数比表层更大,所以传输延时较大,另外内层布线时换层会存在过孔stub效应,过孔stub一来会加大传输线延时,另外一方面会使传输线阻抗不够连续。
4 \6 j3 ?2 H# i7 W( [, o

  z  \: d) m( V6 e7 H
0 F2 X' I- C5 c$ @; b  c在现实环境中,由于内层有更大的布线空间,尽管存在延时较大等不足,我们还是倾向于把更多的线布在内层,至少在1GHz以下是不会有太大影响的。
SDRAM,133MHz的应该没有什么大关系的,不过还是要做一下的。
差分时钟控制在+-50mil以下,严格的差分走线;
控制信以及地址线要和时钟线等长,线长不超过+-100mil.
至于数据线,没有必要和时钟线,地址线以及控制线等长。
每8个bit也就是一个Byte及其对应的DQSDQM为一组。以32位DDR2为例:其实一共可以分为五个组来控制走线长度:第一组:时钟以及控制线,地址线,所有的走线等长,误差在+-100mil之间,时钟要求更高,该组走线长度不宜短于数据线长度。第二组:Byte0D0-D7)以及DQS0,DQM0为一组,要求等长,误差在+-100mil之间,可适当放宽。第三组:Byte1 (D8-D15)以及DQS1,DQM1为一组,要求等长,误差在+-100mil之间,可适当放宽。_ 第四组:Byte2D16-D23)以及DQS2,DQM2为一组,要求等长,误差在+-100mil之间,可适当放宽。第五组:Byte3D24-D32)以及DQS3,DQM3为一组,要求等长,误差在+-100mil之间,可适当放宽, s% \/ Q2 o' V) Q; e/ w
如果用Allegro来做的话,可以很方便的利用Net,Xnet等办法来设置等长。) d4 I! V! i# b- B4 [% E  n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏7 支持!支持! 反对!反对!

5

主题

1254

帖子

2680

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2680
2#
发表于 2011-8-9 16:47 | 只看该作者
谢谢楼主的分享!!!

2

主题

20

帖子

-8968

积分

未知游客(0)

积分
-8968
3#
发表于 2011-8-12 00:28 | 只看该作者
不错,谢谢
  e6 u9 O  x( L' [% Q5 _

12

主题

48

帖子

-8909

积分

未知游客(0)

积分
-8909
4#
发表于 2011-8-12 10:26 | 只看该作者
研究这么深奥的东西,还说刚入行,让我如何是好啊

12

主题

48

帖子

-8909

积分

未知游客(0)

积分
-8909
5#
发表于 2011-8-12 10:33 | 只看该作者
研究这么深奥的东西,还说刚入行,让我如何是好啊

12

主题

48

帖子

-8909

积分

未知游客(0)

积分
-8909
6#
发表于 2011-8-12 10:38 | 只看该作者
不是我不想发帖呀,总是显示内部错误,无法显示此内容啊

12

主题

48

帖子

-8909

积分

未知游客(0)

积分
-8909
7#
发表于 2011-8-12 10:38 | 只看该作者
不是我不想发帖呀,总是显示内部错误,无法显示此内容啊

10

主题

83

帖子

1023

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1023
8#
发表于 2012-2-15 10:14 | 只看该作者
楼主很有奉献精神

4

主题

257

帖子

702

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
702
9#
发表于 2012-2-24 15:32 | 只看该作者
高手

4

主题

32

帖子

-8939

积分

未知游客(0)

积分
-8939
10#
发表于 2012-2-24 21:36 | 只看该作者
谢谢楼主共享。

24

主题

419

帖子

542

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
542
11#
发表于 2012-3-5 14:16 | 只看该作者
说的不错

104

主题

669

帖子

306

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
306
12#
发表于 2012-7-23 15:02 | 只看该作者
非常感谢

2

主题

271

帖子

2363

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2363
13#
发表于 2012-8-24 14:43 | 只看该作者
因为表层介电常数低,适合布高速信号,但是因为一侧是空气,存在电磁辐射,屏蔽效果差,因此不能布电磁辐射强的信号,如时钟信号。
  X3 `4 [' ?  i四层板的时钟信号难道布在内层么

3

主题

36

帖子

345

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
345
14#
发表于 2013-1-24 22:56 | 只看该作者
学习了,佩服

5

主题

75

帖子

1729

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1729
15#
发表于 2013-3-13 19:58 | 只看该作者
请教各位 有PCB实例结合来讲解下SDRAM的等长布线么?谢谢& {( q$ _3 H8 G9 l
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-12-29 20:23 , Processed in 0.072196 second(s), 31 queries , Gzip On.

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

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

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