关闭

关闭

关闭

封号提示

内容

首页 Allegro约束设置

Allegro约束设置.pdf

Allegro约束设置

一个人的窝 2011-09-19 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《Allegro约束设置pdf》,可适用于IT/计算机领域,主题内容包含Spacing规则(约束)RexdlutarmyahoocomcnAllegro以后版本的约束规则设置较之前有很大改变对于用惯了x的人来说很多不习惯符等。

Spacing规则(约束)RexdlutarmyahoocomcnAllegro以后版本的约束规则设置较之前有很大改变对于用惯了x的人来说很多不习惯新的约束管理器。和在对待女人的态度上恰相反。后说后脑残说脑残Xp说Vista脑残。Vista确实很脑残。新事物取代旧事物是自然界发展的客观规律。说明:本文只介绍了Spacing约束的设置因为Physical规则通常来说都设置的非常简单。掌握了Spacing规则Physical规则对你来说一定是小Case。另外Physical规则的设置也写的话一定显得都是在重复Spacing的设置文中所有的规则(约束)如不特殊说明默认情况下均指Spacing规则(约束)对于Electrical的约束是另一种约束本文不作讨论。约束的设置方式:直接的:Net中写数值间接的:创建ConstraintSet然后Assign给Net这两种都很常用后者管理方便。在Physical和Spacing设置中用后者比较好但是在Electrical中我看到很多很多的人会混合使用。使用第二种约束设置方式的约束设置步骤:约束的对象约束的内容给对象分配内容这个步骤默默的引导着所有间接约束的设置。基本约束预备先理解:NetclassNetclassclassRegionRegionclassRegionclassclassBus……现在不理解想跳过去。没关系你早晚都要理解的。最简单和稍微复杂一点的约束:最简单的就是default的约束稍微复杂一点的就是修改了一点默认的约束。再复杂一些的约束:你可能会想让不断变化的CLK(我们不考虑是不是差分)和其他的线离的远一些。在ConstraintSet中Create规则并设置规则的内容:CreatSet之后给Net分配规则:更高级的约束:WhatCanUThink?有了一根线的约束贪婪的本性会使你你很快上升到两根线(通常是Diff)和更多线的约束。两根线(Diff)的约束是不敢称更高级约束的顶多算一种特殊的约束。这里我们讨论更多线的约束。你会想到一组BUS。接下来你会Create一组Bus并且很自然你会在ReferencedSpacingCSet里给这组Bus加上约束。那么我问你这个Spacing究竟是什么呢?是BUS内部的Space吗?还是BUS和其他线的Space?恐怕你自己也说不清楚。你可能会说是所有的线的Space包括内部和外部。你似乎觉得自己是对的。那么我再问你:如果BUSA的Space为SpacXMILBUSB的Space为SpacYMIL(X!=Y)BUSA和BUSB之间的Space会是多少呢?X?Y?应该都不是。(XY)亏你想的出来。其实你一开始就错了问题不是这么Easy(当然也不复杂)否则怎么敢叫更高级的约束?CreateNetClass:很多人不明白Net中Bus和Class的区别。相同:都是一组线不同:一种是按照功能划分一种按照规则划分。有人会说Bus和Class也可以是一根线我懒得理朝左右而不是前方钻牛角尖的人。这两种化划分是不是有点多此一举?NO功能相同就规则相同吗?NetClass是按照功能划分所以这里我们需要先创建NetClass。NetClassClass在左侧的Folder区域你可能早就注意到这个神秘的东西了。他将带给我们什么样的惊喜呢?毫无疑问它将成为化解我们之前疑问的有力工具。如何使用呢?NetClassClass:BUS和其他线间距:BUS内部线间距:BUS与BUS之间Region约束没错如你所想这个约束就是X的Area约束。这是个很有意思并且非常有用的约束。创建Region:AssigntoRegion:AssignWhattoRegion?Region!AssignRegiontoRegion?FirstRegionis具体(即能看得到的)的RegionSecondRegionis抽象的Region~这是个很有意思的地方。Allegro里面有AssigndifferentpairAssignRefdes这里却是Assign()toRegion。这个命令放在Logic中是很合理的但是Cadence公司干脆一不做二不休把这个命令去掉需要在绘制区域的时候在controlpanel中Assign。这时候Assign你就不用说括号中的内容了因为Assign的肯定是你正在画的东西。AssignAreatoRegion也有点不妥当吧?(本文所有操作除了这个绘制约束Region(即具体的Region)在AllegroPCB完成外其他操作均在约束管理器中完成。)shape>Rectangular矩形ControlPanel的option的activeclass选ConstraintRegionsubclass选择allassgintoregion刚刚在规则管理中建立的区域规则。创建sapcing规则按层叠设置间距:Spacing规则分配:最高级的约束:听到“最高级”你一定很激动仿佛感觉自己已经练到了九阳神功的第九层。指的是什么?不要着急先听我给你罗嗦几句话这几句话你在除了这篇文章的任何资料上都看不到。规则可以分为Physical和Spacing规则但是你有没有想过分成Line(这里的Line包括BusBus也是Line)规则和Region规则也是很舒服呢?首先这两个集合可以包括所有的规则而又没有冲突(真的没有冲突吗?)其次这两个规则的划分会对更高级的约束设置带来意想不到的效果。Line和Region都是带规则的Line的规则是流动的Region的规则是固定的。当携带规则长驱直入的Line进入Region将怎么办呢?Region会觉得很爽吗?Line呢?究竟谁会更爽呢?比如一组线内部的间距是mil与其它线的间距是mil进入特殊的Region之后将使用何种规则?其实你是导演你想让谁爽谁就爽。他俩要是都爽了你也就爽了。很河蟹。那么作为导演你该如何满足他们的需求呢?(说白了就是解决规则冲突让大家相安无事共建河蟹PCB。)当不同规则的Class与Class在同一个Region不期而遇或个Class在同一个Region不期而遇后果将怎么样呢?面对如此错中复杂的局面你将何去何从?CreateNetClass:要是还不明白Class和Bus的区别再琢磨琢磨。CreateRegionClass。创建之后:到这里我们就可以给RegionClass分配规则了我们先不分。CreateRegionClassClassClass与Class在同一个Region不期而遇了。创建之后:局部放大相信你能看明白这个是什么意思。Spacing规则分配:包括RegionClassRegionClassClass短短的时间之内你就学会了九阳神功从“欲渡黄河冰塞川将登太行雪满山”的彷徨失措摇身一变你已经到了华山之巅俨然一副“拔剑四顾心茫然”的独孤求败。完。因为自己也是初学Allegro说的不妥之处请大家拍砖。参考资料:无。任何问题:dlutarmyahoocomcn转载请注明出处。

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/14
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料