设计规范设定<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Allegro提供强大完善的设计规范设定,用户设定好了整块板子后,在Route只要把DRC都打开做到没有DRC整块板子就可以达到设计规范的所需要求。
Constraints
在这里设计规范是包括:安全间距的设定,走线宽度和贯孔的特殊设定,特殊区块的设定,其他方面约束的设定和物件特性控制的设定。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 点选菜单Setup>Constraints或是点击功能键 出现下面窗体:
这一区就是默认值的设定
这一区就是走线间距的设定
这一区就是走线宽度和贯孔的设定
这一区就是关于其他方面约束的设定
打开和关闭constrains设定
这一区就是关于特殊区域的设定
对一些需要特殊要求区域走线规则设定
Standard design rules:
这里主要显示和进行一些默认属性的设定
On-line DRC: 在线DRC检查,在Layout过程中如有不符合设计规范的地方就会用特别记号标示出来
On:打开 Off:关闭
点击Set standard values…出现下面窗体:
Subclass:是选择你在下面设定的系统默认值要应用的层面,一般选ALL ETCH。
Line To Line:是设定走线和走线之间最小的间距。
Line To Pad:是设定走线和焊盘之间最小的间距。
Pad To Pad:是设定焊盘和焊盘之间最小的间距。
Line Width:是设定走线的最小线宽。
这四项设定会自动应用于Layout时,没有进行这方面详细设定的物件上。
Etch on Subclass:是设定能否允许在subclass上有电气特性的走线(etch)
Allowed是允许的,Not-Allowed是不允许。请选择Allowed
Same Net DRC:在这里设定同一Net之间所产生的DRC系统是否抓取。
请选择On,要求系统抓取。用以避免同Net绕线时
间距过小产生短路,和其他影响生产的因数。
Default Via:在这里加入整块板子默认Via的名称。
注意:这里主要用来查看板子的基本设定的,如要具体设定建议有下面的具体设定
Spacing rule set
主要进行走线安全间距的一些相关设定
1. Attach property nets…
点击这一按键再点选所要进行设定的net,就可以对这net进行安全距离的设定
也就是对这一net加上NET_SPACING_TYPE这一设定参数。还可以通过点选菜单中Edit>Properties命令再选择要进行设定的net,也可以加上NET_SPACING_TYPE
这一参数。用这方法时定要在右面的控制面板的Find栏中钩选Net这一项。通过以上动作都会进入一个Edit Property的对话框。
<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />
Delete | Property | Value |
如果在这里打了钩后就会把先前选择的那个Property给剔除。
|
在这里会显示我们先前选择的Property参数。
| 这里是给Property加上一个值。 其实这一值这是作为一个表示,并没有什么作用。 |
2. Set values
点击Set values这按键就可以进入走线间距的具体定义
Differential Pair |
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Normal |
A: Spacing name |
Add:在A栏中键入要设定的Constraint 的名字,再按Add就会把刚起的名字加入到Constraint Set Name的栏位中了。
Copy:在A栏中键入要设定的Constraint的名字,再按Add就会把刚起的名字加入到Constraint Set Name的栏位中了,并且会把当前在设定区中设定加入到这个新设的单位中来。
Delete:在A栏中键入要删除的Constraint 的名字,再按Delete就会把在Constraint Set Name栏位中存在的这个命名单位的设定给删除。
Subclass
在这个栏位中可以设定Constraint Set Name所要针对的每个层面设定。如在这里选择了ALL ETCH,在设定区里的设定是针对所有的层面的;如选择了Top,在设定区里的设定只是针对Top层面的一个设定,以此类推。
物件之间间距设定区
在这里可以详细定义物件之间的间距。
X1 to X2 两个物件之间的距离
如果需要更具体的设定的话,点击左上的Global出现相应的选项:
Differential pair
配对线参数设定区:
A.Length Tolerance:设定配对走线的长度误差值。
B.Primary Max Sep:设定配对走线之间的间距。
C.Secondary Max Sep:设定配对走线之间的最大分岔间距。
D.Secondary Length:设定当配对走线在走大于B,小于等于C时,所走线段的长度。(所分岔线段的累计值)
A=|DIFF_NET1-DIFF_NET2|
Same Net DRC:
在这里选择同一Net之间所产生的DRC是否要显示。
On是显示,Off是不显示。
Min BB Via Gap:
在这里是设定盲孔和埋孔之间的安全间距。
3. Assignment table…
这里主要设定各Spacing type的net相碰时的安全间距,
通过点击Assignment table这一按钮,就可以进入下面窗体:
这个窗体主要有红色方框内的三个区域:
1. Net Spacing Type Properties
列出所有定义的NET_SPACING_TYPE属性的设定值,NO_TYPE就是没有设定
2. Area Property
列出所有定义的限制区域的NET_SPACING_TYPE属性的设定值
3. Net Spacing Constraint Set
选择2. Set values 中所设定的Constraint Value Name值
刷新上面的内容把没用到的清除
排列Net Spacing Type Properties
By Net: 以net名称排列
By Area:以Area名称排列
上面的可以这么理解:哪个Net Spacing Type Properties遇到哪个Net Spacing Type Properties在什么Area Property里应遵循Net Spacing Constraint Set的哪个值。
两个Net Spacing Type分别: 1. LCD_ATX(10:10/18) 2. SP18 |
没有区域 |
遵循的2. Set values 中所设定的Constraint Value Name值为:18 |
4. Set DRC modes…
点击出现下面窗体
:
这里主要设置打开和关闭相关的DRC检查。
Subclass:在这里选择要针对的层面。
All Spacing Check:总的控制物件之间,配对走线区和盲埋孔间距DRC显示的开关。
物件之间DRC控制区,配对线DRC控制区,盲埋孔间距:在这些区里可以根据需要选择想要的DRC显示模式。
Always:一直打开
Batch:仅当执行batch_drc时才进行DRC检查
Never:不进行检查
Physical (lines/vias) rule set
这里的设定跟Spacing rule set差不多
1. Attach property,nets…
这项操作和前面的Spacing rule set的Attach property,nets…一样,这里不再作详细介绍了,操作可以参考前面。
2. Set values…
点击出现下面窗体:
A :Physical name |
Constraint Set name
Add:在A栏中键入要设定的Constraint 的名字,再按Add就会把刚起的名字加入到Constraint Set Name的栏位中了。
Copy:在A栏中键入要设定的Constraint的名字,再按Add就会把刚起的名字加入到Constraint Set Name的栏位中了,并且会把当前在设定区中设定加入到这个新设的单位中来。
Delete:在A栏中键入要删除的Constraint 的名字,再按Delete就会把在Constraint Set Name栏位中存在的这个命名单位的设定给删除。
Subclass
在这个栏位中可以设定Constraint Set Name所要针对的每个层面设定。如在这里选择了ALL ETCH,在设定区里的设定是针对所有的层面的;如选择了Top,在设定区里的设定只是针对Top层面的一个设定,以此类推。
Min Line Width:设定最小线宽。
Min Neck Width:能走的最小线宽,要和Min Line Width的设定相同。
Max Neck Length:在走最小线宽时能走的最长距离。
Allow On Etch Subclass:选择是否允许在Subclass上有走线。
Allowed允许,Not Allowed不允许。
Min BBvia Stagger:
Max BBvia Stagger:
Pad/Pad Direct Connect:选择Pad和Via的连接方式。
All Allowed允许Via能在Pad,Via和Via的连接方式。
Via/Pin Allowed 允许Via能在Pad上。
Via/Via Allowed允许Via和Via的连接方式。
Not Allowed 不允许上面的任何连接方式。
Via List Property:
Available Padstacks:在这里会列出Pad库里的所有Pad。用鼠标点击要用的Via,
它会加到右面的Current Via list中。
Current Via list:在这里会列出你选择的Via类型。
还可以通过在Name中键入要的Via类型,再按Add后就会加到
Current Via list的框中。(如果在库中有这个类型的Via,就会自动加入,如果没,会在这个名字前加个*)。
如果要移除Current Via list中Via类型,可以在Name中键入要移除的Via类型,再按Delete就会把Current Via list中的那个Via给移除了,也可以直接用鼠标在Current Via lis中点击不要的那个Via,也会移除。
3. Assignment table…
点击出现下面窗体:
Net Physical Property
列出所有定义的NET_PHYSICAL_TYPE属性的设定值
Area Property
列出所有定义的限制区域的NET_PHYSICAL_TYPE属性的设定值
Physical Constraint Set
选择2. Set values 中所设定的Constraint Value Name值
4. Set DRC modes…
设置打开和关闭相关的DRC检查,和spacing的类似这不作详细介绍了。
Design Constraints
这里也主要设置一些DRC的check
Package to package:选择是否要显示零件重叠的错误。
Package to place keepin:选择是否要显示零件和place keepin的错误。
Package to place keepout:选择是否要显示零件和place keepout的错误。
Package to room:选择是否要显示零件和它要所在区域的错误。(零件出了这个区域)
Negative plane islands:检查负片中Flash零件间隔的距离(大于下面的Oversize就不会有DRC的警告。
Oversize:距离值。
Soldemask alignment:设定防焊层和Pad误差的DRC显示模式。
Tolerance:误差值。
Soldemask to soldemask:选择是否要显示防焊层与防焊层在规定的间距外产生的DRC。
Spacing:间距设定。
Electrical Constraints
这里是进行电气特性方面的设定
Modes:打开关闭一些DRC Check
Areas
这里进行区域添加和区域属性的设定。
1.按Add,然后在画出一个想要的区域。(所加的这个区域层面,系统会自动把它加在Geometry>Board Geometry>Constraints_Areas这一层面上;用户也可以手动选择菜单的Add>Shapes>Unfilled,在右边的层面里选择Geometry>Board Geometry>Constraints_Areas这一层面就可以了)
2.按Attach property,shapes,再点击刚才加的那个Constraints_Areas区域,就可以对这个区域进行详细的Property的设定。
Property设定
u 物件特性控制
在这一部分将介绍关于Net和零件一些常用的Property的设定。(部分)
零件部分
FIXED:可以将该零件固定(不被加以其它动作)。
HARD_LOCATION: 在执行Auto Remane的动作时,系统不会将该零件的
RefDes Rename掉。
NCPIN_TESTED:是设定该零件所有的NC Pin都必须有测试点。
Net部分
FIXED:可以将该Net固定(不被加以其它动作)。
NO_RAT:不显示该Net的鼠线。
BUS_NAME:给该Net加一个组名。
TESTPIN_COUNT:设定该Net测点的个数。
MIN_LINE_WIDTH:设定该Net的最小线宽。
NET_PHYSICAL_TYPE:设定Net的线宽和使用的Via的分组名称。
当MIN_LINE_WIDTH的设定于NET_PHYSICAL_TYPE的设定有冲突时,系统会应用MIN_LINE_WIDTH的设定。
DIFFERENTIAL_PAIR:给配对走线加个名称。
MAX_VIA_COUNT:设定该Net最多可以使用的Via个数。
VIA_LIST:设定该Net可以使用Via的类型的名称列表,并以“,”来分隔。
如:VIA_LIST=via30,via40,via50
IMPEDANCE_RULE:设定走线的阻抗值。
语法说明:
IMPEDANCE_RULE=A:B:C:D
A:起点Pin。
B:终点Pin。
如果是整条Net话,在A和B处写入ALL就好了。
C:阻抗的数值大小。
D:阻抗的误差大小。(可以用绝对数值表示,也可以用百分比表示。)
例:
1.IMPEDANCE_RULE=ALL:ALL:50ohm:10ohm
(设定走线的阻抗是50ohm,误差值是正负10ohm)
2.IMPEDANCE_RULE=ALL:ALL:50ohm:20%
(设定走线的阻抗是50ohm,误差值是正负20%)
3.IMPEDANCE_RULE=U1.1:R1.1:50ohm:10ohm
(设定走线在U1.1到R1.1之间的阻抗是50ohm,误差值是正负10ohm)
4.IMPEDANCE_RULE=U1.1:R1.1:50ohm:20%
(设定走线在U1.1到R1.1之间的阻抗是50ohm,误差值是正负20%)
PROPAGATION_DELAY:设定走线的长度范围。
语法说明:
PROPAGATION_DELAY=A:B:C:D
A:起点Pin。
B:终点Pin。
如果是整条Net只有2个Pin时,在A处写入L,在B处写入S。
C:最小线长。
D:最多线长。
例:
一,
PROPAGATION_DELAY=U1.4:U2.8:1000mil:1500mil
(设定U1.4到U2.8的走线长度为1000mil至1500mil之间。)
PROPAGATION_DELAY=U1.4:U2.8:1000mil:
(设定U1.4到U2.8的走线长度大于1000mil。)
PROPAGATION_DELAY=U1.4:U2.8::1500
(设定U1.4到U2.8的走线长度小于1500mil。)
二,
PROPAGATION_DELAY=L:S:1000mil:1500mil
(设定整条Net的走线长度为1000mil至1500mil之间。)
PROPAGATION_DELAY=L:S:1000mil:
(设定整条Net的走线长度大于1000mil。)
PROPAGATION_DELAY=L:S::1500mil
(设定整条Net的走线长度小于1500mil之间。)
RELATIVE_PROPAGATION_DELAY:是设定等长的走线组。
语法说明:
RELATIVE_PROPAGATION_DELAY=A:B:C:D:E:F
A:组名。不要和BUS_NAME名相同,所在设定MATCH_GROUP是要注意到这一点。
如:BUS_NAME是AGP,那MATCH_GROUP就不能起AGP,可以设为R_AGP。
否则可能引起不能修改。
B:是GLOBAL,在B位写入G即可。
C:起点Pin。
D:终点Pin。
如果是整条Net只有2个Pin时,在C处写入L,在D处写入S。
E:在这里写入要比参照线(Target)长或短的数值。
F:长度的误差值。(可以用绝对数值表示,也可以用百分比表示。)
例:
一,
RELATIVE_PROPAGATION_DELAY=R_AGP:G:U4.23:U5.34:0mil:25mil
(设定U4.23到U5.34为R_AGP组的等长线段,其误差是25mil。)
RELATIVE_PROPAGATION_DELAY=R_AGP:G:U4.23:U5.34:0mil:10%
(设定U4.23到U5.34为R_AGP组的等长线段,其误差是10%。)
RELATIVE_PROPAGATION_DELAY=R_AGP:G:U4.23:U5.34::
(设定U4.23到U5.34为R_AGP组的等长线段组中的参照线(Target)。)
RELATIVE_PROPAGATION_DELAY=R_AGP:G:U4.23:U5.34:15mil:25mil
(设定U4.23到U5.34为R_AGP组的等长线段,其长度比同组的Target线段长15mil,然后长度的误差是25mil。)
RELATIVE_PROPAGATION_DELAY=R_AGP:G:U4.23:U5.34:-15mil:25mil
(设定U4.23到U5.34为R_AGP组的等长线段,其长度比同组的Target线段短15mil,然后长度的误差是25mil。)
二,
RELATIVE_PROPAGATION_DELAY=R_AGP:G:L:S:0mil:25mil
(设定整段Net是R_AGP组的等长线段,其误差是25mil。)
这里的设法与有Pin号的设发基本相同,只要把起点和终点的Pin号该成L和S就好了。
注意点:
1.若Net的连接只有2个Pin时,起点和终点的Pin码可以用L:S来表示。
2.若Net的连接超过2个Pin时,起点和终点的Pin码就要用具体的Pin码来表示。
3.等长的组名(Match Group)一定要和Bus Name的命名不同,否则会造成在Cmgr中无法修改该组等长的值。
用户1611293 2012-8-19 22:35