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

求助:关于SDRAM 的线长匹配

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-9 15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 REALLY 于 2009-9-9 15:39 编辑 5 z! Z3 l; Y! J! m" {) I/ S' }
% b$ W; n, Y5 i. ?' E7 [* B' o# f
我设计的系统中有两片SDRAM 扩展成的存储空间,如下图所示
" Q. t! `9 w5 I! L  M; j' i" c" C9 F$ R0 s

, T& m* a! u% r3 P现在想要CPU到这两片的地址数据控制线长匹配。我打算的做法是:2 l2 Z% n5 m9 e& n
1.将其中的时钟,数据 地址 控制线 分别设定规则,如SD_DATA, SD_CLK 等,并分配好网络
* f; T" q* t7 c2 c7 l9 f2.在ECset 中设置(SD_DATA等)最小走长,最大走长来控制长度
; x& {* B! f! v9 K! }5 P5 [+ r# ?6 i- ?2 f" z, W
但是现在,从CPU出来的地址线数据现如 TED TEA 等,还连接到其他芯片上,(如FLASH ,cpld),在allegro 中都是TED TEA来标示的, 如果在添加网络到对应的SD_DATA ,SD_CLK规则中的时候,不是把其他的线也包括进去了,这个时候我该怎么做才能够区分这些地址数据总线呢?% Z- _% j( t+ G: Y; a: b

) e7 ^; c) w3 @' X& X6 S附注:如果用PIN TO PIN ,太多了,很不方便,大家在这个时候是怎么做的呢?非常感谢!!

该用户从未签到

2#
发表于 2009-9-9 16:10 | 只看该作者
地址线和数据线相同拓扑结构的可以建成一个BUS& M* B/ e# s" a+ N; \6 _
对其中一个进行提取拓扑设置约束
: Z; z3 e1 |, g$ m% z' z其它的可以自动生成pin to pin,并生成Match Group; k% z  s+ |, p/ z- A/ ?
记得论坛里应该有这篇操作文档

该用户从未签到

3#
 楼主| 发表于 2009-9-9 16:38 | 只看该作者
2# 袁荣盛 . M. p: u# @/ G3 a5 A6 y
可不可以说具体点。呵呵,我还是不太懂。

该用户从未签到

4#
发表于 2009-9-9 18:11 | 只看该作者
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。
8 l  D0 h+ y5 _( M" [0 N# S8 P7 U- }6 n/ ]" M5 A( [6 u( ?! d# J

7 Z. C; f* i% }( z
, A. O& E9 S) Z5 I- [/ d
/ R3 z0 j0 H+ q2 ~
/ V; \7 ^8 c* s/ `7 I+ z
$ ~. t  R2 @4 o' D$ {( H, S右击DDR总线,赋予总线电气约束集名称8 a6 u5 {2 m/ y2 O6 g- |" x
! R8 J/ F; ^/ n
: B2 U0 g+ |! E8 Q7 q- o/ k; s
* a2 B0 G% P8 {. i4 l0 o. }! A
2 B2 [% ]6 W% J" U

3 I  f* f- l  R
0 x+ ~0 ?  h3 \; L% H设置完成后BUS中的Xnet都具有DDR约束集属性. P1 L3 X% K+ `) f& ~
3 r9 Q  ]1 V& F

1 g1 {7 b$ G7 O1 d+ k8 w3 w* p) \3 j' O
右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器+ [- `9 G3 x5 D

3 b+ u: ]) }9 ]9 e& l. d5 ~+ j
& d0 t& H1 ?0 L% g+ I& g& x1 F 8 K$ h( L: R7 k0 Z$ X. n5 c3 J

% O3 R- Q( N) l! }$ B! l3 S0 `! C3 u2 x
一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay5 [, S3 ~" u; N

# Z" }" b1 T) P! W, B2 I6 k1 s
参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM
3 W7 d( j7 x  q4 w
4 Q! ~- S: T0 S  G( t6 e
9 S3 F6 |2 S# R% s6 e3 q* ^, g! G  M% Q9 l: Q
: ?: C8 \" e4 o+ Y9 L

1 p) y/ [4 t" T3 Y9 B8 t更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。7 m" _) m) h$ _
. @. ]& {3 i* B" c

6 v0 U& x* C6 t: u. s' ]* G! ]! j& T7 I9 I3 B
这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置$ O9 }5 N/ [$ T8 }3 O
+ ?4 j9 E) w& b7 O3 O' n, R5 M

3 Q; z% b" N% R- g- @5 _1 c0 r4 g9 g7 ^2 [9 C
然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。7 Z( V- h. x2 m) T6 V( U

0 G, ^& d1 r4 ~; \ 2 N+ {3 q0 G' P) ~3 P& `

+ S8 V8 ~0 z6 ~( L3 l) `6 Y( x最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name
% M4 \! ~" |7 }) C7 C1 x% V
/ T4 T4 S5 l0 W6 d% v 5 ]* W( [" l2 h# r0 l! ~) X

. h3 N/ U. w* y4 F& W总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。3 e+ A8 C; U# o

; p' q" b- C0 H6 l0 ~右键Xnet,生成一个新的约束Ref。# F; M$ K$ e! Y) `! e2 ^/ ~4 c

, }( O2 ^5 o& \7 r% t
" p1 O' }' r, v& a. d! f! Z  a% |
进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。; C( L1 V! B. N& W6 X- f  K# {, ^

9 R% c2 `" x' m/ h6 Q5 k
+ n' q5 F) K9 S% t) R" p4 B% T' c7 a! `4 }
设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。; _* P+ i/ i, p! b  r- f6 u/ }
# Q3 t# _. O% N  H: P+ q
, l* ~- g  Q# P2 ~1 Q: Y0 |; m# P

% r7 B* x: j7 \1 ~) U其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面4 e- \" t% }0 \/ r" t, ~  W
. Z. Q" a" H: N, c2 }) T9 v& `
! ]2 P5 m4 r6 ]0 n+ H

3 K: j) m& U" b' C2 V: W从下拉列表中选择DDR即可) `# [1 v. q1 ~$ h5 Q6 Q- j. _7 x: m, M4 h; k
0 Q# T8 W6 n  F- U* Z  i

4 d  M- J+ |2 F' D9 c这样CDS1就被成功加载到DDR总线中' [% C: F* C, A1 \, o

5 Q. y7 V4 G, p2 r% F6 \* j# {5 Y 5 u( r! y9 u1 S4 C1 u9 ^

2 g5 q3 M$ l  }" c自此,等长约束规则作成,即可进行布线工作

该用户从未签到

5#
 楼主| 发表于 2009-9-11 09:57 | 只看该作者
这个方法太好了,太谢谢楼主的热心帮助了
' J7 F" Z2 ?; z* L2 B: G; q; l( @' X! I* z  h* s; M0 J5 u+ q
  但是当初我画原理图的时候用的是ORCAD ,不是HDL的,SigXplorer界面打不开,设置也没有成功,呵呵,有没有什么办法把ORCAD 的原理图转换成HDL的?

该用户从未签到

6#
发表于 2009-9-11 10:59 | 只看该作者
这个是在Allegro中进入到SixP中设置的

该用户从未签到

7#
发表于 2011-10-28 10:18 | 只看该作者
楼主真好 帮大忙了

该用户从未签到

8#
发表于 2011-10-28 15:39 | 只看该作者
很详细呢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2026-4-18 21:24 , Processed in 0.109375 second(s), 28 queries , Gzip On.

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

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

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