當(dāng)PCB板設(shè)計完成后,無論是手工布線還是采用SPECCTRA進(jìn)行自動布線,總會產(chǎn)生一些布線效果不好、多余過孔等問題。此時可以利用allegro提供的Gloss命令對設(shè)計進(jìn)行優(yōu)化和調(diào)整,這樣不僅可以提高設(shè)計的美觀和可生產(chǎn)性,并且可以降低制造成本,提高產(chǎn)品可靠性。 4 o4 M' }( u) P+ a3 K- _+ F
一、 優(yōu)化前的準(zhǔn)備工作 / t4 u" F# ~- k5 V
在進(jìn)行優(yōu)化工作之前,先檢查設(shè)計以確定是整個板子都需要進(jìn)行優(yōu)化還是只對某個區(qū)域或者某些網(wǎng)絡(luò)進(jìn)行優(yōu)化。
4 H, t2 W1 C$ T如果某些網(wǎng)絡(luò)有特殊要求,我們就應(yīng)該對其進(jìn)行設(shè)置以保護(hù)在優(yōu)化過程中不改變這些網(wǎng)絡(luò)的特殊性。保護(hù)網(wǎng)絡(luò)不在優(yōu)化過程中改變的俄方法就是給網(wǎng)絡(luò)增加NO_GLOSS 或者FIXED屬性。
! }" }2 l; y" _7 h( h1 N5 X ]如果要保護(hù)設(shè)計中的某個區(qū)域不被優(yōu)化,則應(yīng)設(shè)置一個NO_GLOSS的多邊形。NO_GLOSS的多邊形應(yīng)該設(shè)置在MANUFACTURE層,它的子層可以是NO_GLOSS_TOP、NO_GLOSS_BOTTOM、NO_GLOSS_ALL或NO_GLOSS_INTERNAL。 + K9 Y% F% y( t7 q
Allegro還提供了幾種不同的優(yōu)化命令可以針對不同的優(yōu)化區(qū)域進(jìn)行操作,分別為優(yōu)化菜單中的Design、Room、Window、Highlight和List。Design用于對整個設(shè)計進(jìn)行優(yōu)化,Room用于對選定的room進(jìn)行優(yōu)化,Window用于對選定的窗口進(jìn)行優(yōu)化,Hightlight用于對高亮顯示的當(dāng)個網(wǎng)絡(luò)或者元件進(jìn)行優(yōu)化,List用于對所設(shè)定的列表項目進(jìn)行優(yōu)化。 ' ]7 S) O) d6 d9 V2 H% p+ y
二、 項目和參數(shù)設(shè)置
$ i7 ~! I. N. u! S選擇菜單命令Route/Gloss/Parameters,彈出如圖1所示對話框。
( Z: |2 j0 f) O8 `5 l
) @) P! Y ^8 R. [3 B+ Q
# W9 C2 [) n1 `9 g2 J) ^+ u) z圖1 Route/Gloss/Parameters
/ k3 d E! }0 A9 ?
& r/ M% E$ w% R對話框中的Application欄列出了可進(jìn)行優(yōu)化操作的所有選項,單擊任一選項前面的按鈕可進(jìn)入到該選項的參數(shù)設(shè)置對話框,選中某項后面的Run,再單擊對話框中的“Gloss”按鈕即可進(jìn)行相關(guān)項目的優(yōu)化。如果一次選中多個選項,優(yōu)化時就按照這些選項的排列順序依次進(jìn)行。
0 s* Q+ E* [( C! b該對話框中可進(jìn)行的優(yōu)化項目包括: # q# Y/ j0 ]4 [+ Y/ t1 `
◆ Line And via cleanup:走線和過孔的清除
$ y4 m' O( [. K' N; M9 h◆ Via eliminate:減少過孔 , V$ p( Q5 e* i5 V5 a$ ^
◆ Line smoothing:將彎折線變平滑
1 Z( f" v/ F& o$ m2 O6 R6 Z◆ Center lines between pads:將兩焊盤之間的走線放置在中間 ( _8 T# [# C0 E' n$ m+ D- z
◆ Improve line entry into pads:增加連入焊盤走線的入口
* Z! I1 i# [5 q5 Z8 z, F% w: _◆ Line fattering:增大線寬 8 k& V2 n/ V8 q+ r- Y6 B
◆ Convert conner to arc:將走線方角變?yōu)閳A弧 ) k8 U9 Q' F) Q- _* t8 v$ _
◆ Pad and T connection filter:焊盤和T行聯(lián)接處理 , `0 X# e0 V: D0 ?( `8 ?9 M3 x: X
◆ Dielectric generation:產(chǎn)生絕緣體
0 I) k4 D- m* M0 t下面分別對常用的幾種功能進(jìn)行介紹。
. I% s3 t0 ~+ R1、Line And via cleanup:這項功能將走線和過孔清除后重新布線。單擊該項前面的按鈕可進(jìn)入?yún)?shù)設(shè)置對話框,如圖2所示。 / N2 }" L+ K. I" ~4 P9 m/ w
$ o+ Z1 Z0 O$ P" S
( m7 |9 q7 A: `2 F圖2 0 w, d- B' p3 ^! V6 |8 s3 n
5 z5 n( t/ Z: ]+ F! n% p- t! E對話框中的參數(shù)設(shè)置分為3部分。 0 K# P( \ I4 I. i+ G( ]
第一部分是關(guān)于Line的參數(shù)設(shè)置,主要選項功能如下
4 }" f/ |. A0 {0 W; T9 S" X' W◆ Jog Size Limit:用于設(shè)定在清除過程中可增加的斜線段個數(shù),值為-1時表明該項沒有限制。
( C& H V p$ g8 T1 {4 R◆ Etch Length/Via:用于設(shè)定為了減少過孔而增加的布線長度,值為-1時表明該項沒有限制。
. M7 r5 \, g$ ~' `; @5 z. _◆ Net Length Limit:用于設(shè)定線網(wǎng)的長度超過該設(shè)定值時才對其進(jìn)行清除和重新布線,值為-1時表明該項沒有限制。 ( r- ~* D. _' g7 O2 n3 y
◆ Maximum 45 Length:用于設(shè)定45度角的水平邊或者垂直邊的長度。
6 A9 J* j! [( P% J# T. T◆ 復(fù)選框Slip Slide:用于設(shè)定在清除布線時是否可以應(yīng)用推擠功能。 0 Z$ b3 b( o5 h% K7 Q! W& \
第二部分為關(guān)于Via的參數(shù)設(shè)置,主要選項功能介紹如下。 3 R. \' J+ J" H1 M7 S# ^
◆ 復(fù)選框Retry:用于設(shè)定清除連線后布線器是否進(jìn)行進(jìn)行重新布線,一般情況下選中該復(fù)選框。 0 m3 D* F6 ]! h4 J. i
◆ Number of Executions:用于設(shè)定執(zhí)行操作的次數(shù),推薦選擇多次運行。 - U: @0 k2 b1 u! h
◆ Cleanup All:用于設(shè)定清除的對象,選擇Lines只清除連線,選擇Lines and Vias則清除連線和過孔,選擇Lines,Vias,and Missing Connecs則清除連線和過孔,對后對清除的連線以及設(shè)計中沒有連接的線網(wǎng)進(jìn)行連線。 ( J6 a$ m3 G0 m. I, F
2、Via eliminate:這項主要用來減少整個設(shè)計所用過孔數(shù)量。單擊該選項前面的按鈕,彈出如圖3所示參數(shù)設(shè)置對話框。 2 {: `' h1 ~- r) b1 I
8 {+ _* H$ g A6 v# x3 R
( a/ n0 h6 Q$ b f% c圖3
" B b, D# x% k5 `7 l+ O/ q) d- S( D/ ]; N* ]& e
◆ Eliminate Used Pin Escapes:用來設(shè)定是否減少有用的扇出過孔。選中后,當(dāng)兩個SMD類型焊盤各通過一個扇出孔引出后又通過其他層走線相連時,系統(tǒng)會嘗試將這兩個過孔刪除,用同樣線寬的表層走線來實現(xiàn)兩個SMD焊盤的連接。 9 L' [+ I! q3 r/ _5 O- R" G- b" k
◆ Eliminate Unused Pin Escapes:用來設(shè)定是否減少無用的扇出過孔。選中后,當(dāng)一個SMD焊盤通過一個扇出孔引出后又通過表層走線實現(xiàn)了和另一個SMD焊盤的連接時,系統(tǒng)會刪除這個沒有起作用的過孔。 5 S1 R0 A3 Y% Z9 v5 d7 t
◆ Eliminate Stand Alone Vias:用來設(shè)定是否刪除沒有網(wǎng)絡(luò)屬性的孤立過孔。 3 n% N# ~1 J4 J% Z5 J: r3 h4 x: f
◆ Eliminate Regular Through Vias:用來設(shè)定是否刪除正規(guī)的多余通孔。 ! r/ \$ ^4 D9 D/ X3 N9 K1 p
◆ Jog Size:用來設(shè)定在執(zhí)行Via Eliminate時可用的最大的拐線尺寸,缺省值為-1,表明沒有拐線尺寸方面的限制。
% c/ }# a( n0 L/ X設(shè)置完成之后單擊“Ok”,在圖1所示界面中選擇Via eliminate選項,單擊“Ok”開始進(jìn)行Via eliminate的優(yōu)化操作。 3 G* l' s/ o. I! r! g
3、Line smoothing:用來刪除設(shè)計中額外的連接線段或者拐線,是連接線變得平滑,每次執(zhí)行Line smoothing命令時只對設(shè)計中的每個線網(wǎng)檢查一遍,所以最優(yōu)的情況是將該命令執(zhí)行多次,單擊選項前面的按鈕,彈出如圖4所示的設(shè)置對話框。
$ Y5 T$ |% h1 b7 U4 m, ^- i9 j+ p7 m: R, k
$ r9 V8 r0 E2 p3 R& G( o圖4 & b8 j* K% ?# |# H/ h5 _0 _$ H
- c4 j) I- S/ n3 P5 n
◆ Eliminate:用于設(shè)定能被刪除的對象。
% l& w* q6 I2 Q1 ?5 J @6 T% {◆ Bubbles:用來設(shè)定是否刪除一個90度走線后的45度走線。
8 @4 X8 h/ E' n0 p# p% j◆ Jogs:用來設(shè)定是否刪除多余的拐線,將兩段拐線合并為一段。 2 P, B B5 D# m
◆ Dangling Lines:用來設(shè)定是否刪除兩頭沒有連接的孤立線段。
4 S2 {4 B2 G: \3 g: }◆ Line Segments:用來設(shè)定線段的一些參數(shù)。
1 I0 n a# n: g; x/ U% M3 [◆ Convert 90 to 45:用來設(shè)定是否將設(shè)計中的90度的拐角轉(zhuǎn)換成45度的拐角 3 H" |8 r, K! Z f/ x: E, c" Y
◆ Extend 45:用來設(shè)定是否延長連接一個水平線段和一個垂直線段的45度連接線,這樣就可以將水平線段和垂直線段刪除。
* j. [; ]2 L" ]◆ Maximum 45 Length:用來設(shè)定45度連接線的最大長度,缺省值為-1,表明對該項沒有限制。
! h; l: N0 j) ~$ s◆ Length Limit:用來設(shè)定進(jìn)行平滑處理的連接線的長度,缺省值為-1,表明沒有限制,任何長度的連接線都要進(jìn)行平滑處理。 ' u$ i* Z% P- R5 q% J
◆ Corner Type:用來設(shè)定是45度的拐角還是90度的拐角,缺省為45。 $ z9 t3 J4 Q e& ^$ |
◆ Number of Executions:用來設(shè)定Line smoothing命令的執(zhí)行次數(shù),推薦多次使用該命令。 ; s: q# n2 L; V8 x. V" n! F
4、Center lines between pads:用來調(diào)整連接線使之與相鄰管腳保持相同的距離。單擊選項前面按鈕,彈出如圖5所示的設(shè)置對話框。 0 @9 h, C$ p( r+ _7 I& s) ^
0 g7 j5 k- E6 w# Z5 B4 S
1 P) A8 D( J6 n+ Q( E$ \% W4 j4 \' g+ I
圖5 % E1 w9 E7 e% {4 q9 u+ G
7 z2 Z9 ` V0 G' B. Q◆ Minimum move size:用來設(shè)定移動連接線的最小距離,缺省值為兩個設(shè)計單位。當(dāng)一組連接線中任意連接線的移動距離小于該值,這一組中所有的連接線都不進(jìn)行移動。
( r' H* o% _" t◆ Adjacent pad tolerance:用來設(shè)定兩個相鄰管腳水平方向或者垂直方向上中心到中心的最大距離。
j. E8 U3 K/ N4 y+ K* M◆ Corner Type:用來設(shè)定采用的是45還是90度拐角,缺省為45。 8 Q$ R) ~- K E0 @! p
◆ Line spacing:用來設(shè)定劃分線間距的種類。選擇Minimum是說明按照線到線的最小間距分配布線空間,最外面的連接線和管腳之間的聲譽(yù)間距保持平均分配,如果有DRC錯誤產(chǎn)生,就不將連線移動到中間。選擇Even是保持每一條連接線和管腳之間的間距都是相等的,如果有DRC錯誤產(chǎn)生,則應(yīng)用Minimum規(guī)則重新移動連接線。
( r4 ^, f7 B [2 x! ]& }單擊Gloss layer按鈕可進(jìn)入圖6所示的對話框。 ' B" H4 c5 k8 }( a! T( D
+ w& z% K# s! N+ C$ ~7 h& \- R( ?. x* n) g! b) e" S$ |0 B! H
圖6 - {# f+ n3 S) n! ?/ }
( W9 g4 {7 m$ a5 H
在這個對話框中可從現(xiàn)有板層中添加或刪除進(jìn)行Gloss處理的疊層,單擊Add按鈕可以添加新層(可選的層都是已經(jīng)定義的并且類型設(shè)置為Conductored的層),單擊Delete可以刪除后面的層,右邊的文本輸入框用來設(shè)定有效的aroute生成的連接線上的拐線個數(shù),由于Allegro中aroute不能用,此處可以忽略。
4 w7 ^0 k/ l$ ]" |) }" V+ [設(shè)置完成之后單擊Ok推出設(shè)置對話框,在圖1所示界面中選擇Center lines between pads選項,單擊Gloss開始進(jìn)行Center lines between pads的操作。 |