|
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。2 H; _7 |6 z* ]3 M, u6 j' K
& D) m: x* ~3 m4 N6 ~( W
' J& c8 K$ _! U0 I [5 C# R
8 g D9 b% l, W! } }- V' E
W& H. {: S1 ~; ~3 d% t% ?! O: e8 A6 a3 Y- H$ h
; g1 X5 v8 ?$ W, |右击DDR总线,赋予总线电气约束集名称
6 |5 N0 g$ w, g% k8 z0 |8 L0 h" M0 N. G# T$ M
, R* D8 e+ a- x, n) i+ a4 j
; g5 F% P( u7 g8 {3 S/ x' U* {
+ X( M% t% e# U- r5 l W( c
; s" m; W4 C0 G3 H2 n
7 u5 _& f- \) I- ?设置完成后BUS中的Xnet都具有DDR约束集属性5 {1 ], e7 v6 U0 I# T. y( _6 \# ^% e
! g' c4 w; V3 c' d8 o2 [9 J: `" ~ }2 e' K) \# b2 n
6 i; k! @. V" ^- O! L2 ~
右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器+ T; Y% f8 r5 f8 c, M( _
! c2 W6 _# ^& G8 t- W; |5 j
" M; ^& D6 s6 y
+ l, N _. T3 d1 r Z& h& L5 u5 {( ~* u
$ K& [, ~. x- V/ H: s. i一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay3 ~( S' v- h% k, J
% n9 G& f6 g7 ?9 h; Y
$ F+ B2 X% {% Y' F# r% ]. P参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM
5 U% J; V/ P S, O+ V9 X' u' g0 D" [8 E$ T4 y9 ~
?; N1 N% b! |
; ?' O1 l/ w8 h
2 O6 a/ }6 ~6 @2 z* x/ m; g! z3 ^- i# G; B4 H: Q3 l
更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。: r7 u- u% z4 d6 t2 M; ~* s4 N
' Q# j$ d5 U ~* g. c( ?3 M: {
9 P7 y1 P3 B) t- h; l1 _" q
( E, R% D1 ?+ X% d, q1 v这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置# K- Q- _! K: q+ R( w; p J
, f* _8 ?; r. Y, z
@" K! w! o' C% e: a/ W# _) f; j" c. J& V- i; l
然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。
6 \' l: F& q0 I7 W7 q. K
! x: Q( |/ D- C
. W4 ~0 Z6 J* ~9 X" n
% G A; {; B$ E+ `) Y
最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name
/ q" r% y9 L$ v- ~8 S+ P; t4 T6 S/ E& K
4 U+ ?1 Q. `7 r/ U6 m* H
: h, l7 I" n5 e- h! \& Y8 [
总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。
3 v S+ F \: L" n0 k: n
4 C* ^9 z% g8 E2 ~0 @8 M! o0 n右键Xnet,生成一个新的约束Ref。
! V# E6 P( Y3 t' J+ p% |1 @9 c, _
4 T: R% J8 o5 Q' j C5 b6 j
; l4 l: u% Y0 F5 w3 ^5 t! Y
2 n$ s$ L1 }+ c! v1 J! d5 n. b3 ~8 E进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。
! L5 j, M; }4 B1 F( }
* g6 @/ c/ @; V. K8 g" B0 |
0 [; ~$ W4 `' B9 _& u9 g
/ `/ K6 f. @! B4 [% {设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。
8 l% |# i4 b; c6 T# m# t/ K) I5 t4 _* j+ }# ?, ]
) u. G4 D' `$ F! {6 f3 W: j) c+ p7 Z+ d( [6 W+ Z
其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面 n+ g. [2 @% |. M8 m- t, V
: q0 \; m( l( A! B- M; T3 @/ m
' w; g6 y1 m! x. C5 ]1 U. }- v- o
0 a2 _) d- _% M: k' e从下拉列表中选择DDR即可) d2 Y7 d K6 ?
" {( ^; E, ]: w: L/ V2 Z7 d+ o$ b
; S2 V9 G; V3 U; o2 L# [ e这样CDS1就被成功加载到DDR总线中
% g$ N3 _, x, x U% V( i- @! w( Y8 W1 ]# ~( Q9 O& P+ R4 ~; Q
6 i# Y5 R& |: i: G' e5 N
' \- l7 ?9 p1 b. Z% d
自此,等长约束规则作成,即可进行布线工作 |
|