|
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。5 ^# Y9 p; W% }. G
/ A0 n( g: j9 L/ Z+ s- d* }
9 |$ k( i+ Q4 I: H, T6 E2 L. n& p( R; n' ], Q; q
8 b5 o4 j1 |$ i3 V7 i' T
4 O, b. L" ] [9 r6 q, y% O4 J
3 Q& Z. Q' U: m- U+ e& u2 g# u
右击DDR总线,赋予总线电气约束集名称( i' X& l; l& Z# d: }1 v
% J7 L1 Y Y W
' W, g$ n, D, u& I: \" s* v
4 S( [8 U9 ~% L4 a0 }
) D3 r& @$ I* U, |) ?2 [
; ^( N/ @+ U% K. u$ C
) g- D0 P) K; b w4 B, E设置完成后BUS中的Xnet都具有DDR约束集属性; I6 Q9 P) y: ~" \7 A
" d9 M" h& Q5 W. c
/ n2 q" F* M5 C
4 u$ N' y# k" k. W7 p# O右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器
0 Q& y& r- Q1 I+ a
M8 T6 g0 w$ \
1 ?+ E! i3 }% W0 M8 g2 W, v
% b5 h& }+ M3 O& D* e0 |9 y
! ~; F+ C7 M' J
1 j% L5 S! e% T
一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay$ D2 Y+ f# X9 B2 Q/ i
$ Y* t7 m# c' c
% ^. r- D% L$ g7 m2 ]5 F& Z: s参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM
: A# l2 _( H k" s/ }. `
# A/ [) Y8 Y# }( F4 {- X# Z
( N# o! V( I+ j- E7 B* Z! L: u' j" G
+ o" ^, k) ]0 S: o8 H! Z1 e; s$ Q2 V# p3 b C
更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。
, I2 E; z$ G9 d7 i* O- z1 D& A2 j T6 ?+ d/ k$ x/ X z
* G5 U7 K _. g1 k+ a; S" I$ L; e. a* F
这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置# r4 H) H' V" G; O5 w; L8 [
t6 R5 z% {' C. x# c
- |* X5 s8 a/ g; S& C# V; M) a
/ F* z3 R8 D/ n* F" v: E然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。/ R, C |# b; z1 F/ E1 g
1 N! A6 e+ V1 F4 m
5 ^' A( {5 b7 `# J x# v
; B, z; I* G- ?* g* Z! t+ z最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name
( X! v) c4 }& {, T2 c
- L6 {% g% X( G" ?- j' Q
: E9 R+ P7 h1 D0 E0 W! g$ {9 A
! s/ @5 i& S* i* v- N" u, f
总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。
6 n* x5 {. j& d& e, {; P9 S, b/ W$ z9 Y& F1 [
右键Xnet,生成一个新的约束Ref。
2 G7 F; F' O% v4 k6 d+ Q
`' J% }8 _5 D, a
9 P8 [! \+ S O/ {3 I
$ _ [& L1 n1 W进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。
6 C# z; K+ ^8 M! y7 W& V |3 b3 g' X
p7 [; S' d2 V/ X5 f. w3 A! @" _* O' ~0 o0 U5 `( x
设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。# m) y$ P( q$ z2 E5 ?' C) |( q3 j
) w$ j: w# v' r% g& [; Y3 j& ^
5 E9 i. u# l8 H) v& L' A: K2 w% h1 J0 t" \7 H+ _; ~/ R( s8 \5 q' K
其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面
& {2 J, I. k+ h+ B1 O
( E1 O' p/ z) H
' q$ x+ H' i c2 Z0 ~! f6 i8 M% \$ z
5 N. p1 N, y; Y3 B3 f# h0 C从下拉列表中选择DDR即可
0 Q7 h$ M N' r0 `( R0 H& k C
# C6 d, x5 Y/ B3 U1 A4 y
; p3 `& G2 U8 c8 h/ U5 ^4 ~4 T
这样CDS1就被成功加载到DDR总线中
1 d8 v1 J" I8 P3 l( U$ O Q+ W1 p% C8 p
1 Z7 g K& q9 }" R8 d$ @' |
! m6 m/ x$ J7 A0 @自此,等长约束规则作成,即可进行布线工作 |
|