|
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。
# \ ^) P' g0 r) {
7 x$ w8 T, C" x ?3 J" l: K
S) K* K5 j, w3 W! Y
$ j2 B1 G/ @( n1 g* h
% L R8 @7 A( t$ ~, p
1 u* R1 N0 K* J8 w( v( E
( y/ ^& ?, o/ U! l9 V
右击DDR总线,赋予总线电气约束集名称: y" i3 R2 `( R+ B1 m F* Z
6 \ L" {) ^. e/ ?0 d. s( V
9 A5 Y4 t2 R" F9 s% D
# V6 p8 H: l$ [( {: y
0 E' T+ G' B, c( c- j% s
( a( A' J0 L7 D1 x8 h, Z: X6 W F2 C: _9 e0 c3 o
设置完成后BUS中的Xnet都具有DDR约束集属性3 B# }7 s) Y/ Y" p" {! z- [# o
`4 u; T( L: b' [' |1 J
& w6 U$ h; L' n' D! S' Q& @1 u
. V3 A/ L5 ^; T+ j, j, i! I/ C5 k# n右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器
4 _: n. o' l: K( B2 ? |
& j' h; S# j# l( c) S" W
, U/ T, q7 {& t7 _. r2 p
. ]& _% _4 ^8 C8 O: F$ \7 U2 }3 W& e* U2 J
- I! i' W! [& L7 [
一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay7 q$ i; G' v* L. g K9 G6 u1 E
+ `9 }2 R& J; G* g' o) ~' {% F. s% J8 X- O7 I( |4 [8 |
参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM- v( C; S! I h4 Z% x5 r
5 J5 q1 G8 j4 N5 }3 n
9 }. K, A. d" S( J- M o
* M% B: z8 z7 z9 U
% l& }- J& N1 M
( Y: ^$ z/ s2 _: Y
更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。: R4 Y1 u I& G! i( s8 G) t" u
! t3 S9 U. F" l8 ?: j2 I, D
m) ~0 q1 V8 U7 d) s( w& r1 @
3 N2 T) Y$ B* L. G5 m! C# g1 ?这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置6 a" r; U. o7 H9 `
& \# }* I+ S: t" u; r6 R1 W
: ~$ L6 H& U6 s7 H! ?
" o( P7 \4 t5 y, p' i. |7 p
然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。
0 k( k' O4 N& y* w; k) Y2 t+ ]. m0 b4 _
. u9 @3 f. F- ^4 I; e9 i R
* W3 P- J N9 d& X }
最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name1 h8 ?+ ]! d" Z2 I4 ]4 `
% \2 Y$ c9 f8 y- {% E0 h
" g, A5 ^* l- Z; V2 u6 ^0 _' [ m+ k! B% d0 S
总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。
) z0 I @7 ?9 F& k9 J/ o7 D
: F4 z+ n: {: [* Y/ m9 Y3 ]1 w右键Xnet,生成一个新的约束Ref。! O# H# H6 D7 z: }7 H9 K
# e4 `! _& h: a, }' z
; ~( K. }& u$ c. l' g% c
. L' R1 {3 ~! V2 ^* q进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。) U5 F# g9 u6 T- o" n+ C$ L
/ {! A4 j5 e2 x
b; e4 B# n* u3 G2 t
$ Q# s {% U2 {; Z, d( |
设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。
3 V2 w9 Q0 v. Q* i3 D/ B# K
# R0 ?3 O9 L. o* o1 s' X' M# z
' b6 J6 F- N+ t9 S/ v* c( @
9 ^9 \0 q' I" n( h其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面) Y2 H3 {. k+ H& }( \
. H' [6 q1 n" ~4 O4 }! |
1 W8 r* i+ H- _
3 E/ v: v, F9 a4 U2 S从下拉列表中选择DDR即可
: M9 z3 s! y: s' v
$ ]$ n3 A) k/ r5 e" w, o
o: o( y9 p( P5 t' S
这样CDS1就被成功加载到DDR总线中
. W% n/ t& ?2 x# n2 e& R8 t) l$ j0 b
' X# S. E- j% f+ j
! s$ \4 n7 D' e+ \. i6 _自此,等长约束规则作成,即可进行布线工作 |
|