|
|
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自此,等长约束规则作成,即可进行布线工作 |
|