EDA365电子论坛网

标题: DDR布线全攻略与技术探讨 [打印本页]

作者: hdjun    时间: 2009-8-10 15:21
标题: DDR布线全攻略与技术探讨
本帖最后由 hdjun 于 2009-8-10 16:13 编辑   O8 g0 Q" _- {: ?

( H. H3 H5 O. G* j3 U$ Y% l; C- I/ O使用ALLEGRO 对DDR布线进行设计,是我最近在做的工作,由于是第一次使用DDR ,很多问题不是很清楚,之前查阅了很多资料,现在将我的布线和约束步骤写出来,供后来人参考,其中也有很多技术问题需要向坛子里的高手请教,望不对的地方多多指正。: h' K) y6 O( A! T5 Z2 @0 H

& h& f" A* F3 yDDR的布局布线约束众说纷纭,随便在网上找一下,都说的不一样,甚至有矛盾的地方,这让我着实苦恼的一整子,目前我能确定的基本约束有:
* r/ _# m% P1 N  }
2 T1 T( _; j) T1 x# a+ h% F0 Z) N1。RS RT的选用& N/ |. s: F) c

9 [% ^6 c$ d  X0 Y    一般都要使用,但是在小负载,短距离的应用下,可以不使用RT ,甚至不适用RS。 目前我的设计使用的芯片是单片128MX8的DDR333的芯片,与FPGA中心距离在1900mil左右,使用了RT和RS。端接电源芯片使用LP2996,其实单片负载很小,如果不使用RT也是可以的,我认为。具体要看仿真结果,我比较懒,所以不管3721都用了。
) D  H+ ^, N, h! h# {, b  C: y/ s0 t- `1 o
     至于RS RT的摆放问题,也是众说纷纭,一般的正统的做法是将RT摆放在信号线尾端,并行端接。RS一般放在信号线的中间段(也有的说法是在双向时靠近DDR,因为有RT作用,驱动较强,单向,则靠近FPGA)其实一般的小负载短距离情况下,我想都没有问题。我的设计都是放在中间的。
7 V3 T* N9 ?" d) T, |, A8 f) s. g3 Z5 l
2. 时序等长约束
: K& g  q  ?8 v' J2 O) V: S9 Y& S& I6 v% v, w* r+ ^
    这个也有很多说法。我现在采用的是如下约束。如有不对的地方请指出。
" d2 g: u0 G% G% p0 M    A, 一个lane中的DQ DQS DM 等长(我使用的芯片只有一个lane) ,设置relative propagation 约束为 0:25mil,将DQS作为TARGET+ h9 B/ Z6 ]) H) q
    B, CK,CK#与DQS等长,容差在400mil,我使用的是total etch length 来约束,省去定义pin-pair
, u8 s6 ?- O, r& p! H# Q8 t    C, 其余(地址线控制线命令线 ) 和  (CK,CK#) 等长,我设置relative propagation 约束为 400mil:400mil,将CK 或者CK #作为TARGET. 这一部分我不是很确定,因为有的网上down 的东西说,地址线不能比时钟线短(我想可能是和北桥有关,FPGA的设计好像没有关系,因为可以下沿锁出命令,呵呵,不知对不对,欢迎拍砖!),所以我的这样设置就使这些地址线长度分布在 (ck~ck+800mil)范围内,不知是否有问题。因为有的文献又说 地址线也要等长 ,甚至等长容差要在50 mil 以内,但是我个人觉的没有必要。不知高手们怎么看。望不吝赐教!$ k) A6 m3 M* d5 w$ F/ @
    D,时钟线和DQS 不在同一层走线,或者相距较远,数据组组间间距12mil以上(这是约束设置的,实际走线平行线段尽量分开,减少串扰),线宽6mil, 组外间距14mil以上(这也是约束设置的,实际走线尽量分开,一开始我设置的是20mil,后来发现,到pin后,和电源脚相邻的pin都报DRC,原因是电源线比较粗,嫌麻烦我就都改成14mil 了,就没有DRC了),不知道兄弟们遇到这个问题怎么解决的。
: k; H" P. D- m  U+ e) V% y$ W+ B4 l
   E. 使用 FPGA是BGA封装484PIN, BGA附近定义一个Constraint area 以区别一般的DDR spacing rules。使用default spacing rules (我的是6mil)。' H* h9 w7 }+ d0 m
, @7 V* d! G3 h  h. w
3. 时钟线的匹配
( U: A1 o3 z. Z% O8 V+ O8 q" B8 A/ L8 A  G) P# X& Y/ K
   差分阻抗控制在100-120欧姆之间(有的说是90-100欧姆,比较困惑。。。)。阻抗控制这个我决定找制版的人做,因为我们不知道工厂调节的板层间距和具体的Er值。相位延时误差在25mil,直接在CSM中设置差分线的phase tol. 为25mil 。其他的参数我使用的couple tol.=0.2 mil; uncoupled length (max)=100mil (gather controled)
3 t1 h7 y2 z. X1 U
2 W1 A( N$ F- I# j( A6 [. \% z" Y   另外使用了100欧姆并行端接,和10欧姆的源端串行匹配。1 x% X$ d* t, C# u" @" n6 s

1 H6 @% d* w8 k  z. m1 Q  I
' @1 V# x5 h* A0 E! T暂时想到的就这么多了,有不对的或者有疑问的,欢迎拍砖。

DDR_ROUTE.JPG (175.18 KB, 下载次数: 58)

附截图一张供参考,最近要投版了,如果有问题,请高手不吝赐教!

附截图一张供参考,最近要投版了,如果有问题,请高手不吝赐教!

作者: hdjun    时间: 2009-8-10 16:06
没人顶啊,,后来我修改了约束C ,  其余(地址线控制线命令线 ) 和  (CK,CK#) 等长,我设置relative propagation 约束为 300mil:500mil, 因为,不好调整布线,改过后地址线组的长度范围在 ck-200~ck+800mil范围内,感觉比时钟线短一点,应该也没有问题的。不知大家怎么看。
作者: 袁荣盛    时间: 2009-8-10 21:06
关于D那个间距问题  M8 I* x6 s6 }5 }6 ^4 n
可以在出现这种情况的引脚周围画一个约束区域解决这个问题
作者: hdjun    时间: 2009-8-10 21:30
恩,有点麻烦,我就没加了,呵呵,估计指定电源NET(Identify DC nets)也不行吧?
作者: hdjun    时间: 2009-8-10 23:47
3# 袁荣盛
/ }  g+ E: t3 j4 Q1 n! s$ v' S7 i# t2 e# Z5 y2 M9 a1 n
我想做先做一下阻抗控制,可是论坛的FTP好像登录不了,下载不了polar 软件,是不是有 版权问题啊,哪里可以下载到呢???借地一求啦,呵呵。。。
作者: 袁荣盛    时间: 2009-8-11 09:38
本帖最后由 袁荣盛 于 2009-8-11 09:40 编辑
$ C5 w5 M% ^# w9 L5 j. l: z0 |7 w' Q( w4 [& J7 y+ U4 I; P5 I! W
http://www.sig007.com/rjxz/115.html
作者: hdjun    时间: 2009-8-11 19:09
非常感谢!!
作者: John-L    时间: 2009-8-11 21:16
支持LZ分享经验
作者: winricky    时间: 2009-8-12 16:46
支持分享实战经验哈3 G; s( _; I6 w( U3 |6 n9 ~
我们也是准备做DDR2,感觉对这个约束什么的还是了解太少了
. n5 i/ i9 c$ ?! o以前的SDRAM最多133MHz,真是随便画都能用
! H$ k  o: ^# Y: ~+ t) P" g
' R: \+ C  s/ t. [8 ]0 F* u( n讲的清楚的文档太少了,只能看内存厂家的东西了,都是时序之类的,太痛苦了
作者: lzyahu    时间: 2009-12-1 14:57
谢谢楼主分享。。
作者: s410675653    时间: 2009-12-1 18:38
2# hdjun
作者: azhe2006    时间: 2009-12-3 16:55
支持,一起学习。。
作者: newzyf    时间: 2010-2-19 01:38
顶一下
作者: hoto123456    时间: 2010-3-2 14:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: hugeme    时间: 2010-3-12 10:10
楼主有不有DDR2接口的定义啊,我准备画插槽接口,都不知道如何接在FPGA上。。。。。。。
作者: lilei19811016    时间: 2010-3-26 14:13
感谢楼主分享经验
作者: zlq0416    时间: 2011-10-14 16:02
写的不错,值得学习
作者: czypf    时间: 2011-10-19 15:18
顶了顶。。谢谢。。。。
作者: 10201147    时间: 2012-11-2 11:05
顶个~
作者: ailang    时间: 2012-12-21 16:24
{:soso_e179:}
作者: wumeng1217    时间: 2012-12-21 17:00
1.地址和clk做一组,误差尽量小,+/_25吧: n1 [6 u& z, q9 ~5 D* x
2.数据跟对应的dqs,数据高低位间分层走线。: Z9 b$ q$ H7 l- H, p; K9 W
3.都得以clk或dqs做参考,即时钟比同组其他信号长。
作者: wuqishengli    时间: 2012-12-22 14:35
ding ding ding
作者: zhengying2965    时间: 2013-4-26 08:51
多谢楼主,学习了。谢谢!
作者: wbm03yd2    时间: 2013-4-26 16:23
没有,谁有共享学习一下吧




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2