当PCB板设计完成后,无论是手工布线还是采用SPECCTRA进行自动布线,总会产生一些布线效果不好、多余过孔等问题。此时可以利用allegro提供的Gloss命令对设计进行优化和调整,这样不仅可以提高设计的美观和可生产性,并且可以降低制造成本,提高产品可靠性。
- V- L& c. y ?0 y$ ]8 B1 W1 F一、 优化前的准备工作
: H7 d- Z, E/ U7 Z% y- \. a在进行优化工作之前,先检查设计以确定是整个板子都需要进行优化还是只对某个区域或者某些网络进行优化。
, y( Y8 n' }7 \如果某些网络有特殊要求,我们就应该对其进行设置以保护在优化过程中不改变这些网络的特殊性。保护网络不在优化过程中改变的俄方法就是给网络增加NO_GLOSS 或者FIXED属性。 o4 ]8 x/ j% f) y% q0 ]
如果要保护设计中的某个区域不被优化,则应设置一个NO_GLOSS的多边形。NO_GLOSS的多边形应该设置在MANUFACTURE层,它的子层可以是NO_GLOSS_TOP、NO_GLOSS_BOTTOM、NO_GLOSS_ALL或NO_GLOSS_INTERNAL。
. r0 P h2 T6 o" ]Allegro还提供了几种不同的优化命令可以针对不同的优化区域进行操作,分别为优化菜单中的Design、Room、Window、Highlight和List。Design用于对整个设计进行优化,Room用于对选定的room进行优化,Window用于对选定的窗口进行优化,Hightlight用于对高亮显示的当个网络或者元件进行优化,List用于对所设定的列表项目进行优化。 0 a# h, F; w) d( i6 l
二、 项目和参数设置
% U" F% G! j" ?" l& H2 Z9 Q选择菜单命令Route/Gloss/Parameters,弹出如图1所示对话框。
( q! N9 u; a. V5 `. t2 E. y
% j6 c) H0 m2 U
2 z, K! c1 U# x6 _图1 Route/Gloss/Parameters
/ P* g) K: n, i* t8 u9 m' l0 n+ ?
对话框中的Application栏列出了可进行优化操作的所有选项,单击任一选项前面的按钮可进入到该选项的参数设置对话框,选中某项后面的Run,再单击对话框中的“Gloss”按钮即可进行相关项目的优化。如果一次选中多个选项,优化时就按照这些选项的排列顺序依次进行。 + }3 T5 V" U& F5 |$ f
该对话框中可进行的优化项目包括: 0 |4 W/ G8 ~+ E5 Z
◆ Line And via cleanup:走线和过孔的清除 ( e0 I' t; K) S2 B9 ?3 ^, i9 r
◆ Via eliminate:减少过孔 7 j: b1 j3 T) o5 t# A5 L
◆ Line smoothing:将弯折线变平滑
3 n$ f2 H# S8 y6 E R3 ]◆ Center lines between pads:将两焊盘之间的走线放置在中间 $ O8 n! A) x4 ?" G/ K8 V& [
◆ Improve line entry into pads:增加连入焊盘走线的入口
0 B. S% V1 T% I. k' ]$ q! P◆ Line fattering:增大线宽 ( G: O2 B1 P7 B/ O) m
◆ Convert conner to arc:将走线方角变为圆弧 3 @# S% ]; G* G
◆ Pad and T connection filter:焊盘和T行联接处理
0 Y$ L, Q1 o6 {( o◆ Dielectric generation:产生绝缘体 . m3 E+ p6 ?5 f& Q$ e, _0 ?1 ^
下面分别对常用的几种功能进行介绍。 1 b3 P3 d9 B8 k; B1 a' I) k
1、Line And via cleanup:这项功能将走线和过孔清除后重新布线。单击该项前面的按钮可进入参数设置对话框,如图2所示。 2 l0 }+ V+ L# X% y, E
$ @# @9 p$ z$ M
1 W# @$ O$ e% `' b1 v G# t8 x
图2
7 O, B5 N- f+ q( N6 S' s$ R# Y" G' T# H: i4 D* C# E p
对话框中的参数设置分为3部分。
7 ~4 F# L& t3 a5 Z第一部分是关于Line的参数设置,主要选项功能如下 " N1 n+ H9 ]- N+ }* q! I2 o2 X
◆ Jog Size Limit:用于设定在清除过程中可增加的斜线段个数,值为-1时表明该项没有限制。
! g. W5 ?: b+ u) _. X( b$ |◆ Etch Length/Via:用于设定为了减少过孔而增加的布线长度,值为-1时表明该项没有限制。
8 J3 H7 L% I4 a- W% G0 Y: y1 ^- ~+ x◆ Net Length Limit:用于设定线网的长度超过该设定值时才对其进行清除和重新布线,值为-1时表明该项没有限制。
# H8 M) l, i3 Y* q6 j◆ Maximum 45 Length:用于设定45度角的水平边或者垂直边的长度。 # @; q6 Z. r( p2 J
◆ 复选框Slip Slide:用于设定在清除布线时是否可以应用推挤功能。 1 e' \% k" f5 K- X+ k9 D
第二部分为关于Via的参数设置,主要选项功能介绍如下。 6 \0 O% s6 A$ _+ S7 T j
◆ 复选框Retry:用于设定清除连线后布线器是否进行进行重新布线,一般情况下选中该复选框。
0 _5 n- }! O. y! z◆ Number of Executions:用于设定执行操作的次数,推荐选择多次运行。 ' Y0 r4 V4 X, N
◆ Cleanup All:用于设定清除的对象,选择Lines只清除连线,选择Lines and Vias则清除连线和过孔,选择Lines,Vias,and Missing Connecs则清除连线和过孔,对后对清除的连线以及设计中没有连接的线网进行连线。
2 x* r- @4 l: H k# `( |( t h2、Via eliminate:这项主要用来减少整个设计所用过孔数量。单击该选项前面的按钮,弹出如图3所示参数设置对话框。
( |1 g \8 J# L# I- Q6 i4 x+ U$ _/ \: W/ \
) U3 B# R- e9 G图3 7 i5 J8 Y( S. u U+ K# B0 ~9 I
8 Q4 b' U- s" Z& F, m* Z& m2 K) w* x
◆ Eliminate Used Pin Escapes:用来设定是否减少有用的扇出过孔。选中后,当两个SMD类型焊盘各通过一个扇出孔引出后又通过其他层走线相连时,系统会尝试将这两个过孔删除,用同样线宽的表层走线来实现两个SMD焊盘的连接。
! q: q/ h# `( @; m3 I9 ^% N◆ Eliminate Unused Pin Escapes:用来设定是否减少无用的扇出过孔。选中后,当一个SMD焊盘通过一个扇出孔引出后又通过表层走线实现了和另一个SMD焊盘的连接时,系统会删除这个没有起作用的过孔。 & ]7 R' J: o+ U: x* r9 S1 y# [4 b
◆ Eliminate Stand Alone Vias:用来设定是否删除没有网络属性的孤立过孔。 4 W9 M2 ?$ F9 T0 W( D! h) `
◆ Eliminate Regular Through Vias:用来设定是否删除正规的多余通孔。 1 C0 K7 C3 b8 x4 j! r: m
◆ Jog Size:用来设定在执行Via Eliminate时可用的最大的拐线尺寸,缺省值为-1,表明没有拐线尺寸方面的限制。
* ~9 c8 v; g9 n. e5 q设置完成之后单击“Ok”,在图1所示界面中选择Via eliminate选项,单击“Ok”开始进行Via eliminate的优化操作。
5 x8 h. s" i* a: ~9 e3、Line smoothing:用来删除设计中额外的连接线段或者拐线,是连接线变得平滑,每次执行Line smoothing命令时只对设计中的每个线网检查一遍,所以最优的情况是将该命令执行多次,单击选项前面的按钮,弹出如图4所示的设置对话框。
1 C7 O4 @6 Z! R5 f$ n3 {/ h+ B I+ B1 z
7 {" n) M$ l: H; K2 B* s7 ~' ]
图4
( g9 i! H7 N+ U- e
6 U. C4 ?+ a, L" O- h; u' z◆ Eliminate:用于设定能被删除的对象。 5 y/ X/ J. x& z: X6 _3 h
◆ Bubbles:用来设定是否删除一个90度走线后的45度走线。 - N8 f1 V/ W# ] e& R
◆ Jogs:用来设定是否删除多余的拐线,将两段拐线合并为一段。
" m4 |: W+ f. c5 N8 E( q6 u$ r4 w* U◆ Dangling Lines:用来设定是否删除两头没有连接的孤立线段。 ! ]3 Q+ M) F7 D$ n8 I; C$ q
◆ Line Segments:用来设定线段的一些参数。 - B* w+ E, ]( L o8 o7 e& D4 p0 z* ~
◆ Convert 90 to 45:用来设定是否将设计中的90度的拐角转换成45度的拐角
) V( v8 O: U1 E7 m8 T% | z◆ Extend 45:用来设定是否延长连接一个水平线段和一个垂直线段的45度连接线,这样就可以将水平线段和垂直线段删除。 5 Y7 P" S) r! {( t: N7 t" b
◆ Maximum 45 Length:用来设定45度连接线的最大长度,缺省值为-1,表明对该项没有限制。
, ~$ {( B- A4 r" y4 }◆ Length Limit:用来设定进行平滑处理的连接线的长度,缺省值为-1,表明没有限制,任何长度的连接线都要进行平滑处理。 5 h5 [0 H; U; e! j
◆ Corner Type:用来设定是45度的拐角还是90度的拐角,缺省为45。
2 `/ H& Z& c% j0 J1 g◆ Number of Executions:用来设定Line smoothing命令的执行次数,推荐多次使用该命令。
& k! c8 e4 G( N$ ^- q* b4、Center lines between pads:用来调整连接线使之与相邻管脚保持相同的距离。单击选项前面按钮,弹出如图5所示的设置对话框。
3 w! S3 ^* m2 \+ f; [
$ n' e1 i6 b& J$ o& {' I" P% i$ B5 _5 D
图5
( O. U0 Y& \& m9 y+ k. l4 q- u9 ]" F: R8 G& Q+ M+ \' j
◆ Minimum move size:用来设定移动连接线的最小距离,缺省值为两个设计单位。当一组连接线中任意连接线的移动距离小于该值,这一组中所有的连接线都不进行移动。 * e/ O n7 w6 V3 V5 [9 q
◆ Adjacent pad tolerance:用来设定两个相邻管脚水平方向或者垂直方向上中心到中心的最大距离。 + J0 E0 |( G y& m5 B7 n) q
◆ Corner Type:用来设定采用的是45还是90度拐角,缺省为45。 ; \$ u7 {1 j, b& Z" g
◆ Line spacing:用来设定划分线间距的种类。选择Minimum是说明按照线到线的最小间距分配布线空间,最外面的连接线和管脚之间的声誉间距保持平均分配,如果有DRC错误产生,就不将连线移动到中间。选择Even是保持每一条连接线和管脚之间的间距都是相等的,如果有DRC错误产生,则应用Minimum规则重新移动连接线。
2 w; l# Z* n- }1 I, [单击Gloss layer按钮可进入图6所示的对话框。 * K6 h& ?6 h, f' O3 B% D
! s7 s6 b. l" g
9 h! }( i0 T9 l4 l3 e# P* u图6
1 S3 s+ k0 b _; a0 R# X. u
+ m% Y/ s$ S: V1 X在这个对话框中可从现有板层中添加或删除进行Gloss处理的叠层,单击Add按钮可以添加新层(可选的层都是已经定义的并且类型设置为Conductored的层),单击Delete可以删除后面的层,右边的文本输入框用来设定有效的aroute生成的连接线上的拐线个数,由于Allegro中aroute不能用,此处可以忽略。
* X' E7 s7 \1 k( P3 Q4 x2 n) c' q设置完成之后单击Ok推出设置对话框,在图1所示界面中选择Center lines between pads选项,单击Gloss开始进行Center lines between pads的操作。 |