|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 hdjun 于 2009-8-10 16:13 编辑
3 j) t0 O6 Z' N$ C7 x. m
7 B4 d. J3 S; ?; T E4 x; K使用ALLEGRO 对DDR布线进行设计,是我最近在做的工作,由于是第一次使用DDR ,很多问题不是很清楚,之前查阅了很多资料,现在将我的布线和约束步骤写出来,供后来人参考,其中也有很多技术问题需要向坛子里的高手请教,望不对的地方多多指正。
- g* G# w7 h/ k, [4 G: T
$ h4 D, ?3 b# d" ^. CDDR的布局布线约束众说纷纭,随便在网上找一下,都说的不一样,甚至有矛盾的地方,这让我着实苦恼的一整子,目前我能确定的基本约束有:
- t/ u. I5 x( N$ r) E( E
+ a! h) k+ u/ s6 @5 y! t1。RS RT的选用
: u; ^* q' Z; }- N. p
8 L3 Z% P. e: l/ ]1 _ 一般都要使用,但是在小负载,短距离的应用下,可以不使用RT ,甚至不适用RS。 目前我的设计使用的芯片是单片128MX8的DDR333的芯片,与FPGA中心距离在1900mil左右,使用了RT和RS。端接电源芯片使用LP2996,其实单片负载很小,如果不使用RT也是可以的,我认为。具体要看仿真结果,我比较懒,所以不管3721都用了。
+ H% F( h( w% e: m. W/ ?4 l2 G' n# K2 J1 e$ i3 v: Z3 V) R6 }- x6 N
至于RS RT的摆放问题,也是众说纷纭,一般的正统的做法是将RT摆放在信号线尾端,并行端接。RS一般放在信号线的中间段(也有的说法是在双向时靠近DDR,因为有RT作用,驱动较强,单向,则靠近FPGA)其实一般的小负载短距离情况下,我想都没有问题。我的设计都是放在中间的。' e8 `! [7 e, g. S7 o u8 X6 {
' q2 z8 M# O1 K$ `. K1 \: j2. 时序等长约束4 J- @* {8 p2 [$ a, T' D
- L8 u9 U/ a4 h m# u/ w 这个也有很多说法。我现在采用的是如下约束。如有不对的地方请指出。( F" W) [7 ]% A! {0 f" K- ?
A, 一个lane中的DQ DQS DM 等长(我使用的芯片只有一个lane) ,设置relative propagation 约束为 0:25mil,将DQS作为TARGET
- ?5 e1 J" \9 m1 p( l4 w* G! U0 e" l B, CK,CK#与DQS等长,容差在400mil,我使用的是total etch length 来约束,省去定义pin-pair1 K/ O# P- O4 C, n9 m5 i' _5 N. P
C, 其余(地址线控制线命令线 ) 和 (CK,CK#) 等长,我设置relative propagation 约束为 400mil:400mil,将CK 或者CK #作为TARGET. 这一部分我不是很确定,因为有的网上down 的东西说,地址线不能比时钟线短(我想可能是和北桥有关,FPGA的设计好像没有关系,因为可以下沿锁出命令,呵呵,不知对不对,欢迎拍砖!),所以我的这样设置就使这些地址线长度分布在 (ck~ck+800mil)范围内,不知是否有问题。因为有的文献又说 地址线也要等长 ,甚至等长容差要在50 mil 以内,但是我个人觉的没有必要。不知高手们怎么看。望不吝赐教!
3 x* k; M* v0 y+ f4 {6 q D,时钟线和DQS 不在同一层走线,或者相距较远,数据组组间间距12mil以上(这是约束设置的,实际走线平行线段尽量分开,减少串扰),线宽6mil, 组外间距14mil以上(这也是约束设置的,实际走线尽量分开,一开始我设置的是20mil,后来发现,到pin后,和电源脚相邻的pin都报DRC,原因是电源线比较粗,嫌麻烦我就都改成14mil 了,就没有DRC了),不知道兄弟们遇到这个问题怎么解决的。
7 K8 Y9 F% V7 d R8 I
: J' l7 @2 h4 C' ] E. 使用 FPGA是BGA封装484PIN, BGA附近定义一个Constraint area 以区别一般的DDR spacing rules。使用default spacing rules (我的是6mil)。
( z& U5 V5 m3 `9 {& V V7 O7 o8 {* F1 I9 c( |$ P
3. 时钟线的匹配
: K7 l! x% U! f8 k9 t J# `! Y/ X) ~* P8 D
差分阻抗控制在100-120欧姆之间(有的说是90-100欧姆,比较困惑。。。)。阻抗控制这个我决定找制版的人做,因为我们不知道工厂调节的板层间距和具体的Er值。相位延时误差在25mil,直接在CSM中设置差分线的phase tol. 为25mil 。其他的参数我使用的couple tol.=0.2 mil; uncoupled length (max)=100mil (gather controled)6 ^' |) g( r. m' @6 T! }" J
4 S9 K$ w1 S H, }; K- N$ r
另外使用了100欧姆并行端接,和10欧姆的源端串行匹配。
1 U3 ~* j8 E; r5 J; x- G7 y3 J
1 | s t. }9 F, d% f8 h4 _) F% M+ U% t# S0 Z! [% T# Z
暂时想到的就这么多了,有不对的或者有疑问的,欢迎拍砖。 |
-
DDR_ROUTE.JPG
(175.18 KB, 下载次数: 50)
附截图一张供参考,最近要投版了,如果有问题,请高手不吝赐教!
评分
-
查看全部评分
|