找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2544|回复: 14
打印 上一主题 下一主题

Allegro 约束规则设置

  [复制链接]

30

主题

131

帖子

1081

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1081
跳转到指定楼层
1#
发表于 2012-11-4 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
Allegro 16.0以后版本的约束规则设置较之前有很大改变,对于用惯了15.x的人来说,很多不习惯新的约束管理器。和在对待女人的态度上,恰相反。80后说90后脑残,15.7说16.2脑残,Xp说Vista脑残。Vista确实很脑残。新事物取代旧事物是自然界发展的客观规律。 $ K: K! [5 H* L7 p
说明:
  W- c) G/ B  Z+ T% `  w3 H1 |) J% x1本文只介绍了Spacing约束的设置,因为Physical规则通常来说都设置的非常简单。掌握了Spacing规则Physical规则对你来说一定是小Case。另外,Physical规则的设置也写的话,一定显得都是在重复Spacing的设置;
0 y: \+ j. r) `7 b/ `8 u6 s2文中所有的规则(约束),如不特殊说明默认情况下均指Spacing规则(约束); 2 H' y% i" B0 @
3对于Electrical的约束,是另一种约束,本文不作讨论。
) Z: B; d0 i# q; E3 b. @) O9 P约束的设置方式:
/ e; P- i0 r$ z: f7 {1直接的:Net中写数值,
7 R2 L6 _# f+ Q( G/ N$ Y, G6 V) A2 间接的:创建Constraint Set,然后Assign给Net; , m* y. s: t, Y3 g  Q+ {/ U7 v3 k
这两种都很常用,后者管理方便。在Physical和Spacing设置中用后者比较好,但是在Electrical中,我看到很多很多的人会混合使用。
3 d* a3 y" L* C7 p+ ?% [; ]使用第二种约束设置方式的约束设置步骤: 5 Q+ ~8 Q+ ^! u; T% `  u
1约束的对象
# n: W; O: h: O* M( `2约束的内容 - s, B" z- T& h% O6 @
3给对象分配内容
! a4 i7 s, m9 R6 a这3个步骤默默的引导着所有间接约束的设置。
8 t, `- r9 T( d& h基本约束 4 p3 r8 _: E. O1 g6 }
预备 ' b2 J0 D+ m" H% N: c$ X* J, B% P. U; ]
先理解:
! `" N2 T. m0 F: m, C. [4 e4 G; s% UNet class
9 i7 g. U1 z. a" KNet class-class ' p! I) o/ Q3 F% X7 c0 @
Region 9 s* x1 H$ w1 j2 Y
Region-class
( U& ]$ H: W$ {2 t8 BRegion-class-class
* t, M$ R' l8 ], a2 h0 |2 dBus 8 B3 \5 q$ Z  r7 ]
……
3 t& _. H3 P# q# M1 N6 H, P现在不理解,想跳过去。没关系,你早晚都要理解的。 1 v0 e. e8 n$ G) P5 }0 n
最简单和稍微复杂一点的约束: ' _" }7 W' \1 m- h1 p. h( C: O
最简单的就是default的约束,稍微复杂一点的就是修改了一点默认的约束。 ! p( O3 G. e" R5 s& i* |) H
再复杂一些的约束: + n! D5 B8 [* F2 p# _
你可能会想让不断变化的CLK(我们不考虑是不是差分)和其他的线离的远一些。 5 F/ \5 i* v5 W% X+ D8 k
在Constraint Set中Create规则并设置规则的内容: $ ?: k4 x* j+ S; R
Creat & Set之后 # F  Z( h& H( S6 X, y5 m
给Net分配规则:
1 E/ z1 ?( i% t+ [更高级的约束:
6 X6 d: M0 [5 }3 j8 uWhat Can U Think?
( b5 K3 j0 s" r7 l) ]: X3 @有了一根线的约束,贪婪的本性会使你你很快上升到两根线(通常是Diff)和更多线的约束。两根线(Diff)的约束是不敢称更高级约束的,顶多算一种特殊的约束。这里我们讨论更多线的约束。你会想到一组BUS。
! g+ e5 R9 ~% ?$ q接下来,你会Create一组Bus,并且很自然你会在Referenced Spacing CSet里给这组Bus加上约束。那么,我问你,这个Spacing究竟是什么呢?是BUS内部的Space吗?还是BUS和其他线的Space?恐怕你自己也说不清楚。你可能会说是所有的线的Space,包括内部和外部。你似乎觉得自己是对的。那么我再问你:如果BUS_A的Space为Spac_XMIL,BUS_B的Space为Spac_YMIL(X!=Y),BUS_A和BUS_B之间的Space会是多少呢?X?Y?应该都不是。(X+Y)/2?亏你想的出来。
8 w7 _5 D$ C  M其实你一开始就错了,问题不是这么Easy(当然也不复杂),否则怎么敢叫更高级的约束? , U5 F; g9 V9 ^2 |* u, `
Create Net Class:
4 }* e* ~7 f( B6 @& a/ `  E, a! S' D很多人不明白Net中Bus和Class的区别。 1 l# E$ I- n/ Z! {+ f3 s/ R
相同:都是一组线, * @1 Y  b9 X+ \- N1 T
不同:一种是按照功能划分,一种按照规则划分。
) d! s3 O7 a0 H9 i有人会说Bus和Class也可以是一根线,我懒得理朝左右而不是前方,钻牛角尖的人。
7 |2 [( B2 N  a* @8 |% Z8 i/ u这两种化划分是不是有点多此一举?NO,功能相同就规则相同吗? 6 }6 h7 I+ n  T5 ~+ U; |' ]
Net Class是按照功能划分,所以这里我们需要先创建Net Class。   {" l) L# f# \+ W2 i6 J5 u
Net Class-Class ( c" J2 G: W) _# u
在左侧的Folder区域你可能早就注意到这个神秘的东西了。他将带给我们什么样的惊喜呢?毫无疑问它将成为化解我们之前疑问的有力工具。如何使用呢?
3 ~9 z% l  G6 z5 }' @! A7 I& K5 dNet Class-Class:
$ x' I9 m- K, g" Q0 n% c0 Y# }BUS和其他线间距: 1 f1 Q) H, n0 `$ z7 A  D
BUS内部线间距: , Z8 f5 {5 u$ s8 L& l! P2 |
BUS与BUS之间 ) @) N4 `, n) f$ a7 `
Region约束
5 M( ^3 D; j, b: F: h没错,如你所想,这个约束就是15.X的Area约束。这是个很有意思,并且非常有用的约束。 1 Y! B: A) g$ `! f- I
创建Region:
' W& U$ b; i  }+ ?8 {; U# CAssign to Region: % w' N3 i9 J' Y) l
Assign What to Region?
3 r( {7 q" `( L( C% N) R/ _; zRegion!
9 x2 @! f3 ~1 Z. E4 P0 t' a% vAssign Region to Region? # z0 P9 {) a/ M3 k
First Region is具体(即能看得到的)的Region,Second Region is抽象的Region~ : P3 u7 J4 X& c8 C
这是个很有意思的地方。Allegro里面有Assign different pair,Assign Refdes,这里却是Assign()to Region。这个命令放在Logic中是很合理的,但是Cadence公司干脆一不做二不休把这个命令去掉,需要在绘制区域的时候,在control panel中Assign。这时候Assign你就不用说括号中的内容了,因为Assign的肯定是你正在画的东西。Assign Area to Region也有点不妥当吧?
0 ~+ `( ]- S5 Z+ ^9 g% H% ^/ x(本文所有操作除了这个绘制约束Region(即具体的Region)在AllegroPCB完成外,其他操作均在约束管理器中完成。)
4 J' G( f  X/ ~9 V2 u2 xshape->Rectangular矩形,Control Panel 的option的active class 选Constraint Region, subclass选择all. . X6 H* t! R3 X, [5 _& }
assgin to region刚刚在规则管理中建立的区域规则。 ! T8 f- Z/ a9 B7 K! o
创建sapcing规则
& Y* o0 @1 [7 |) J0 n( v. y. u! q按层叠设置间距: - m. b, S$ ^1 f' o. P7 [( H
Spacing规则分配: 4 e# }, L2 K( h) a0 W9 m" |
最高级的约束: - P" L* R& K# l4 T% b
听到“最高级”你一定很激动,仿佛感觉自己已经练到了九阳神功的第九层。指的是什么?   ^9 b' Z7 Z6 T
不要着急,先听我给你罗嗦几句话,这几句话你在除了这篇文章的任何资料上都看不到。 * a% F; F: t" Y2 X  b" i2 |3 v  Y
规则可以分为Physical和Spacing规则,但是你有没有想过分成Line(这里的Line包括Bus,Bus也是Line)规则和Region规则也是很舒服呢?首先,这两个集合可以包括所有的规则而又没有冲突(真的没有冲突吗?);其次,这两个规则的划分会对更高级的约束设置带来意想不到的效果。Line和Region都是带规则的,Line的规则是流动的,Region的规则是固定的。当携带规则长驱直入的Line进入Region将怎么办呢?Region会觉得很爽吗?Line呢?究竟谁会更爽呢?比如一组线内部的间距是10mil,与其它线的间距是20mil,进入特殊的Region之后将使用何种规则? 其实你是导演,你想让谁爽谁就爽。他俩要是都爽了,你也就爽了。很河蟹。 8 Q* R- ]! C9 k- O2 i2 U' L
那么作为导演,你该如何满足他们的需求呢?(说白了就是解决规则冲突,让大家相安无事,共建河蟹PCB。) , e4 J: m' x$ R% i& a' t# M! m+ S, r
当不同规则的Class与Class在同一个Region不期而遇,或100个Class在同一个Region不期而遇,后果将怎么样呢?面对如此错中复杂的局面,你将何去何从?
9 L  X3 B  v5 xCreate Net Class:
# g: f$ C6 J1 V要是还不明白Class和Bus的区别,再琢磨琢磨。 4 E0 t4 S- @, b
Create Region-Class。 8 {1 R  I& t2 a" E! U5 t$ D
创建之后:
$ G* p2 J, O8 J5 G到这里我们就可以给Region-Class分配规则了,我们先不分。 $ y. Q8 e" O  N: z9 I& Z( Z
Create Region-Class-Class
! z, i5 i/ [6 m1 _Class与Class在同一个Region不期而遇了。
9 h3 B5 [1 c/ Q- D* |- b, ~创建之后:
6 ^( I+ L/ v6 l5 A) G: N  f局部放大,相信你能看明白这个是什么意思。
! B; ^, J* `- ?$ y4 p: i  sSpacing规则分配: : S3 _0 @" r  W$ I# E& ~8 Q: j1 e1 R
包括Region-Class,Region-Class-Class % X3 z. ?& }/ X  Q' j& V  _) I
短短的时间之内,你就学会了九阳神功,从“欲渡黄河冰塞川,将登太行雪满山”的彷徨失措,摇身一变,你已经到了华山之巅,俨然一副“拔剑四顾心茫然”的独孤求败。 1 n% o: [8 u- Q# L" m% v1 L+ }
完。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏4 支持!支持!1 反对!反对!

20

主题

270

帖子

2228

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2228
2#
发表于 2012-11-5 01:55 | 只看该作者
{:soso_e179:}

1

主题

23

帖子

-8958

积分

未知游客(0)

积分
-8958
3#
发表于 2012-11-5 03:00 | 只看该作者
謝謝你

59

主题

451

帖子

826

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
826
4#
发表于 2012-11-5 10:16 | 只看该作者
貌似有点复杂 米有截图 不是很懂

4

主题

80

帖子

199

积分

二级会员(20)

Rank: 2Rank: 2

积分
199
5#
发表于 2012-11-5 13:10 | 只看该作者
有點亂
8 R) h/ ], J+ i5 B1 C看著看著好像明白什麽了
6 g' U9 C/ U9 [* F看完之後好像又什麽也不明白了

45

主题

1888

帖子

8369

积分

六级会员(60)

Rank: 6Rank: 6

积分
8369
6#
发表于 2012-11-5 13:24 | 只看该作者
百度有的。还有图片的。。这人,就把 字发上来了。。

2

主题

253

帖子

50

积分

二级会员(20)

Rank: 2Rank: 2

积分
50
7#
发表于 2013-1-17 19:49 | 只看该作者
;P;P

3

主题

26

帖子

591

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
591
8#
发表于 2013-6-21 14:29 | 只看该作者
楼主非常有意思!

1

主题

15

帖子

-1万

积分

未知游客(0)

积分
-11020
9#
发表于 2013-9-27 17:23 | 只看该作者
alian_chen 发表于 2012-11-5 13:10
& n. |& K! o: f有點亂
9 X' }8 |- i: D! C看著看著好像明白什麽了' v+ n. g* r5 E3 u) B
看完之後好像又什麽也不明白了
" ?5 X) b$ c  ]+ W: M9 [" V; O
同样感觉,看了半天,似懂非懂了

3

主题

7

帖子

174

积分

二级会员(20)

Rank: 2Rank: 2

积分
174
10#
发表于 2014-11-15 10:02 | 只看该作者
dfgdfgdfgdfg

0

主题

2

帖子

27

积分

二级会员(20)

Rank: 2Rank: 2

积分
27
11#
发表于 2014-11-19 12:07 | 只看该作者
越看越糊涂

0

主题

2

帖子

94

积分

二级会员(20)

Rank: 2Rank: 2

积分
94
12#
发表于 2014-11-19 13:28 | 只看该作者
謝謝分享 稍有概念了

28

主题

189

帖子

771

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
771
13#
发表于 2014-11-19 14:11 | 只看该作者

( t9 ~$ _& w4 D7 P& {4 F# B" g4 p& ^3 I; d: n  J
加1; Q. f1 S5 k/ Q% M, f  ^
8 A8 m: M, h$ r0 I  o3 q, q2 l! }* F
, d, b6 n) N+ [5 ^1 @; r0 E( D# W1 a! ?
没明白,云里雾里的

0

主题

35

帖子

38

积分

二级会员(20)

Rank: 2Rank: 2

积分
38
14#
发表于 2014-11-20 10:54 | 只看该作者
都是文字描述,没图。不直观

2

主题

91

帖子

-8995

积分

未知游客(0)

积分
-8995
15#
发表于 2015-9-7 20:24 | 只看该作者
云里雾里的,说的口气是挺大的,但你看几遍之后,觉得里面什么都没说清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-15 13:04 , Processed in 0.071666 second(s), 31 queries , Gzip On.

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

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

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