找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2542|回复: 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确实很脑残。新事物取代旧事物是自然界发展的客观规律。
* p9 h# Y8 B  A6 F8 F: L说明:
4 u& M0 \2 _- x  I1 n5 A1 L1本文只介绍了Spacing约束的设置,因为Physical规则通常来说都设置的非常简单。掌握了Spacing规则Physical规则对你来说一定是小Case。另外,Physical规则的设置也写的话,一定显得都是在重复Spacing的设置;
2 K) I" v: l# w9 k2文中所有的规则(约束),如不特殊说明默认情况下均指Spacing规则(约束); % A* f$ a0 L; c3 I
3对于Electrical的约束,是另一种约束,本文不作讨论。
# O  A3 n4 x- l& D- a1 e5 ~约束的设置方式: ( P) m9 Q& ]! Q$ v* z' c
1直接的:Net中写数值,
8 O  K; y! u) W7 w  M5 n2 间接的:创建Constraint Set,然后Assign给Net;
0 a( f5 Z% ?" I$ w# S, J* @  d, g3 _这两种都很常用,后者管理方便。在Physical和Spacing设置中用后者比较好,但是在Electrical中,我看到很多很多的人会混合使用。 1 T( s* M: c5 }  H: t
使用第二种约束设置方式的约束设置步骤:
& @2 L3 r- @6 a+ ^1 P1约束的对象
% y6 a2 m6 i+ y* B9 p2约束的内容
9 _& b( {0 U. T# T3给对象分配内容
% k8 U& X2 h+ f; s这3个步骤默默的引导着所有间接约束的设置。 ) E9 m) K* K3 ~/ k& s
基本约束
. M) f( S. g! c; Y  [预备
$ f; A- d% j; L+ X先理解:
! f% X# C. L1 D7 I7 |% c" X2 B0 wNet class 7 ]1 P8 Y5 T$ k, }
Net class-class ' o4 `6 ?9 h/ Y' H- Q. m5 b
Region
" {8 O. I( }0 ~, pRegion-class ! i; ]$ Z( Y7 \. k
Region-class-class   `2 h+ w3 q- V& b
Bus
) s! x4 r( ?& m9 Q0 x  b……
. ]) I. z2 _- Y! _现在不理解,想跳过去。没关系,你早晚都要理解的。 8 X3 o" F' \; V9 `1 W
最简单和稍微复杂一点的约束:
: u: r2 [0 Z2 L最简单的就是default的约束,稍微复杂一点的就是修改了一点默认的约束。 7 }2 F4 m, S. `0 p" b
再复杂一些的约束:
' B* W7 |: w4 x5 h/ ?你可能会想让不断变化的CLK(我们不考虑是不是差分)和其他的线离的远一些。 ) c5 [8 a* f) c4 e9 T% t) ]& o; q
在Constraint Set中Create规则并设置规则的内容:
7 U# i! w, o% p3 K5 ~Creat & Set之后
! m! d  Y2 y: s% j3 o5 u5 p$ l* P( Y  H给Net分配规则:
) f* \2 C6 V& Y5 n! Z8 `3 ^更高级的约束: ' Y- E/ ?' x. X( x: O( g. `
What Can U Think?
* x4 L9 o; L7 V7 |0 c3 p3 G有了一根线的约束,贪婪的本性会使你你很快上升到两根线(通常是Diff)和更多线的约束。两根线(Diff)的约束是不敢称更高级约束的,顶多算一种特殊的约束。这里我们讨论更多线的约束。你会想到一组BUS。 / \  ~8 P3 _9 J6 w* F
接下来,你会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?亏你想的出来。 1 `& `9 K/ e% H; G1 Y( r
其实你一开始就错了,问题不是这么Easy(当然也不复杂),否则怎么敢叫更高级的约束? ; w8 |+ d3 z8 N& d+ L
Create Net Class: - j/ X! D( b" H4 ?
很多人不明白Net中Bus和Class的区别。 , c6 g: |9 `6 v* |& N; f( ~
相同:都是一组线,
; Y2 V4 g! D8 x/ F0 [5 i" ?5 }( f5 m/ Q不同:一种是按照功能划分,一种按照规则划分。
7 ^1 _' O/ h1 D, Q. F+ N$ O  h% D- t有人会说Bus和Class也可以是一根线,我懒得理朝左右而不是前方,钻牛角尖的人。
2 z# e2 l5 p6 ^7 f8 r这两种化划分是不是有点多此一举?NO,功能相同就规则相同吗?
- o" }' T( L9 A. B1 sNet Class是按照功能划分,所以这里我们需要先创建Net Class。
- ]) ?5 @& J. V/ O  sNet Class-Class   z, R9 s* C5 w+ `
在左侧的Folder区域你可能早就注意到这个神秘的东西了。他将带给我们什么样的惊喜呢?毫无疑问它将成为化解我们之前疑问的有力工具。如何使用呢?
. u9 v# S1 k# c1 N5 {; PNet Class-Class: & Y  p8 _" q- N% `; i) a
BUS和其他线间距:
9 \4 Y3 ~7 Y6 Z: eBUS内部线间距: , i. t# S6 c5 o. `
BUS与BUS之间 0 [& q' Q3 _. C6 C
Region约束 # s* P5 l5 N+ Q2 w% o* Y
没错,如你所想,这个约束就是15.X的Area约束。这是个很有意思,并且非常有用的约束。 & E2 V. X4 U/ q2 l
创建Region: - C2 E2 {6 ^5 l: Z0 s
Assign to Region: 6 U) D# k( k: ~. b0 G  ^
Assign What to Region?
  F5 F9 [! V8 G, \) Q, _Region! 5 E1 K' M$ [( d2 n2 Z6 {: K
Assign Region to Region?
$ ]' O! k- B( \0 b8 j. ]First Region is具体(即能看得到的)的Region,Second Region is抽象的Region~ $ S. G) ?5 }8 M! ~0 E1 W
这是个很有意思的地方。Allegro里面有Assign different pair,Assign Refdes,这里却是Assign()to Region。这个命令放在Logic中是很合理的,但是Cadence公司干脆一不做二不休把这个命令去掉,需要在绘制区域的时候,在control panel中Assign。这时候Assign你就不用说括号中的内容了,因为Assign的肯定是你正在画的东西。Assign Area to Region也有点不妥当吧? 4 [4 R% @  d0 X" u! j* ?& F
(本文所有操作除了这个绘制约束Region(即具体的Region)在AllegroPCB完成外,其他操作均在约束管理器中完成。) . k  i& Z  P) [9 X' e, v6 F
shape->Rectangular矩形,Control Panel 的option的active class 选Constraint Region, subclass选择all.
" r$ k' s" p* q" ]3 e* ~  b. b) Massgin to region刚刚在规则管理中建立的区域规则。
, d8 \, L3 l6 F3 u$ u- y3 d创建sapcing规则 . u* r$ o2 `; e6 B' S* C
按层叠设置间距: & |( W# n" O, J7 D5 y
Spacing规则分配: 2 X- ?* B% Y: I: h4 t! V2 g7 t
最高级的约束: 3 r. f2 G. q* J4 w1 W- J* E
听到“最高级”你一定很激动,仿佛感觉自己已经练到了九阳神功的第九层。指的是什么? 6 g* `# d# f- ]4 j
不要着急,先听我给你罗嗦几句话,这几句话你在除了这篇文章的任何资料上都看不到。
. y2 y% [- i- A: d0 x! _! f' k. D规则可以分为Physical和Spacing规则,但是你有没有想过分成Line(这里的Line包括Bus,Bus也是Line)规则和Region规则也是很舒服呢?首先,这两个集合可以包括所有的规则而又没有冲突(真的没有冲突吗?);其次,这两个规则的划分会对更高级的约束设置带来意想不到的效果。Line和Region都是带规则的,Line的规则是流动的,Region的规则是固定的。当携带规则长驱直入的Line进入Region将怎么办呢?Region会觉得很爽吗?Line呢?究竟谁会更爽呢?比如一组线内部的间距是10mil,与其它线的间距是20mil,进入特殊的Region之后将使用何种规则? 其实你是导演,你想让谁爽谁就爽。他俩要是都爽了,你也就爽了。很河蟹。   I% _( d& V+ x0 A* ?2 F7 l7 u& b
那么作为导演,你该如何满足他们的需求呢?(说白了就是解决规则冲突,让大家相安无事,共建河蟹PCB。) * t9 A6 A% q2 A" E3 [
当不同规则的Class与Class在同一个Region不期而遇,或100个Class在同一个Region不期而遇,后果将怎么样呢?面对如此错中复杂的局面,你将何去何从?
/ A; c2 ^% k: m2 _: mCreate Net Class: 6 T) d  s6 O4 i
要是还不明白Class和Bus的区别,再琢磨琢磨。
4 e) x$ J2 O" K8 J  `) {7 h. lCreate Region-Class。
' u( w: M; f; t- Q1 s创建之后: 0 m4 R6 r* w9 s2 K6 ]
到这里我们就可以给Region-Class分配规则了,我们先不分。 $ r/ m7 y9 t1 y5 T! y
Create Region-Class-Class ( x$ _% W) Z$ N: }6 H
Class与Class在同一个Region不期而遇了。
5 i; f. G9 X& c# J创建之后: ; k: M" K0 J, h6 ?$ \3 J
局部放大,相信你能看明白这个是什么意思。
1 X$ |2 _; C( ?0 I/ R+ bSpacing规则分配: 8 n- R$ C: N* I2 D0 W- T. G/ O2 J2 Y
包括Region-Class,Region-Class-Class 7 Z: S* v& s9 ^% u& r8 R  {. X
短短的时间之内,你就学会了九阳神功,从“欲渡黄河冰塞川,将登太行雪满山”的彷徨失措,摇身一变,你已经到了华山之巅,俨然一副“拔剑四顾心茫然”的独孤求败。
; M8 w* d1 O) r' @7 F完。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏4 支持!支持!1 反对!反对!

2

主题

91

帖子

-8995

积分

未知游客(0)

积分
-8995
15#
发表于 2015-9-7 20:24 | 只看该作者
云里雾里的,说的口气是挺大的,但你看几遍之后,觉得里面什么都没说清楚

0

主题

35

帖子

38

积分

二级会员(20)

Rank: 2Rank: 2

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

28

主题

189

帖子

771

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

9 _6 ]5 y( _" e! ~4 \9 O7 T! Z9 U, O* r& N1 b( H! v2 b  n
加12 u( L2 G) L1 y9 |9 h' _
; }2 g5 {  v4 @6 m  j1 m, ~
4 T- o1 }0 F: E+ R
没明白,云里雾里的

0

主题

2

帖子

94

积分

二级会员(20)

Rank: 2Rank: 2

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

0

主题

2

帖子

27

积分

二级会员(20)

Rank: 2Rank: 2

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

3

主题

7

帖子

174

积分

二级会员(20)

Rank: 2Rank: 2

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

1

主题

15

帖子

-1万

积分

未知游客(0)

积分
-11020
9#
发表于 2013-9-27 17:23 | 只看该作者
alian_chen 发表于 2012-11-5 13:10
0 l# G- I8 S& C5 a  P4 [) H2 k有點亂5 @( p, m) h8 j1 `3 b
看著看著好像明白什麽了! j+ n7 f4 ~4 \: B. x7 P( p, x
看完之後好像又什麽也不明白了

$ L% C& C1 `& B同样感觉,看了半天,似懂非懂了

3

主题

26

帖子

591

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

2

主题

253

帖子

50

积分

二级会员(20)

Rank: 2Rank: 2

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

45

主题

1888

帖子

8369

积分

六级会员(60)

Rank: 6Rank: 6

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

4

主题

80

帖子

199

积分

二级会员(20)

Rank: 2Rank: 2

积分
199
5#
发表于 2012-11-5 13:10 | 只看该作者
有點亂
) t+ O% u) |# \* d看著看著好像明白什麽了
) x) s3 `; f* e9 X0 r- `看完之後好像又什麽也不明白了

59

主题

451

帖子

826

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

1

主题

23

帖子

-8958

积分

未知游客(0)

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

20

主题

270

帖子

2228

积分

四级会员(40)

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

积分
2228
2#
发表于 2012-11-5 01:55 | 只看该作者
{:soso_e179:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-15 12:41 , Processed in 0.070341 second(s), 32 queries , Gzip On.

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

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

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