當(dāng)PCB板設(shè)計(jì)完成后,無論是手工布線還是采用SPECCTRA進(jìn)行自動(dòng)布線,總會(huì)產(chǎn)生一些布線效果不好、多余過孔等問題。此時(shí)可以利用allegro提供的Gloss命令對(duì)設(shè)計(jì)進(jìn)行優(yōu)化和調(diào)整,這樣不僅可以提高設(shè)計(jì)的美觀和可生產(chǎn)性,并且可以降低制造成本,提高產(chǎn)品可靠性。
, {0 z1 z0 s" Y9 Z$ ~% [% R1 w6 G7 o一、 優(yōu)化前的準(zhǔn)備工作
( r+ V8 J6 t7 ]! ]在進(jìn)行優(yōu)化工作之前,先檢查設(shè)計(jì)以確定是整個(gè)板子都需要進(jìn)行優(yōu)化還是只對(duì)某個(gè)區(qū)域或者某些網(wǎng)絡(luò)進(jìn)行優(yōu)化。 - L b% U* E* d. H" y, q" _6 r
如果某些網(wǎng)絡(luò)有特殊要求,我們就應(yīng)該對(duì)其進(jìn)行設(shè)置以保護(hù)在優(yōu)化過程中不改變這些網(wǎng)絡(luò)的特殊性。保護(hù)網(wǎng)絡(luò)不在優(yōu)化過程中改變的俄方法就是給網(wǎng)絡(luò)增加NO_GLOSS 或者FIXED屬性。
& v( D( Z6 q, ~3 N3 p$ [- V如果要保護(hù)設(shè)計(jì)中的某個(gè)區(qū)域不被優(yōu)化,則應(yīng)設(shè)置一個(gè)NO_GLOSS的多邊形。NO_GLOSS的多邊形應(yīng)該設(shè)置在MANUFACTURE層,它的子層可以是NO_GLOSS_TOP、NO_GLOSS_BOTTOM、NO_GLOSS_ALL或NO_GLOSS_INTERNAL。
5 z6 S* f+ ~7 {+ g) P! Z: }Allegro還提供了幾種不同的優(yōu)化命令可以針對(duì)不同的優(yōu)化區(qū)域進(jìn)行操作,分別為優(yōu)化菜單中的Design、Room、Window、Highlight和List。Design用于對(duì)整個(gè)設(shè)計(jì)進(jìn)行優(yōu)化,Room用于對(duì)選定的room進(jìn)行優(yōu)化,Window用于對(duì)選定的窗口進(jìn)行優(yōu)化,Hightlight用于對(duì)高亮顯示的當(dāng)個(gè)網(wǎng)絡(luò)或者元件進(jìn)行優(yōu)化,List用于對(duì)所設(shè)定的列表項(xiàng)目進(jìn)行優(yōu)化。 5 }# B' d5 w' u& M2 H6 V4 w1 H- \
二、 項(xiàng)目和參數(shù)設(shè)置
% g6 _* F* D |9 c8 v選擇菜單命令Route/Gloss/Parameters,彈出如圖1所示對(duì)話框。 , V) W- R. E/ [% {
7 c8 k% K$ S+ g1 m$ Y
/ f4 ]9 u1 K, r/ E( }! h: J圖1 Route/Gloss/Parameters
% _3 H0 R9 F5 T2 [- p7 l$ `; M/ c) `4 o V" h* h {
對(duì)話框中的Application欄列出了可進(jìn)行優(yōu)化操作的所有選項(xiàng),單擊任一選項(xiàng)前面的按鈕可進(jìn)入到該選項(xiàng)的參數(shù)設(shè)置對(duì)話框,選中某項(xiàng)后面的Run,再單擊對(duì)話框中的“Gloss”按鈕即可進(jìn)行相關(guān)項(xiàng)目的優(yōu)化。如果一次選中多個(gè)選項(xiàng),優(yōu)化時(shí)就按照這些選項(xiàng)的排列順序依次進(jìn)行。
# W# E; g I4 K, N該對(duì)話框中可進(jìn)行的優(yōu)化項(xiàng)目包括:
5 V+ F. E6 H' n. f2 a! b+ l1 Q- o: p◆ Line And via cleanup:走線和過孔的清除
! g. |3 S$ o+ p4 |! M p" S◆ Via eliminate:減少過孔 0 `2 `3 L; w( K- y4 d
◆ Line smoothing:將彎折線變平滑 / d6 u( A* C c7 |2 D
◆ Center lines between pads:將兩焊盤之間的走線放置在中間
5 H" G6 u% T+ B) ]+ ?4 P" u% J◆ Improve line entry into pads:增加連入焊盤走線的入口
/ p# v4 I0 ]* B2 _- R4 j◆ Line fattering:增大線寬
5 L- `! L+ q1 Z- U0 Z- {◆ Convert conner to arc:將走線方角變?yōu)閳A弧
4 _9 b9 [8 D# w◆ Pad and T connection filter:焊盤和T行聯(lián)接處理 " B& j9 z% O& ^9 B& n8 x7 s
◆ Dielectric generation:產(chǎn)生絕緣體
5 @( Z' w* y; Y4 ~3 h4 I下面分別對(duì)常用的幾種功能進(jìn)行介紹。 9 G" E# p% p! ^$ t9 V
1、Line And via cleanup:這項(xiàng)功能將走線和過孔清除后重新布線。單擊該項(xiàng)前面的按鈕可進(jìn)入?yún)?shù)設(shè)置對(duì)話框,如圖2所示。 9 M5 A& m3 o p9 _
# N% J+ P, ?% ?/ \% L" r G* G
+ [% Y3 u3 {# U; F& `" A4 m
圖2
+ C* B+ K% |4 M! T, N. r# W# ~3 o# T8 K0 r) k& p! S+ A0 S
對(duì)話框中的參數(shù)設(shè)置分為3部分。 - G% \7 E& N: z: M0 d& D. N
第一部分是關(guān)于Line的參數(shù)設(shè)置,主要選項(xiàng)功能如下 * }; d4 o! U @" v
◆ Jog Size Limit:用于設(shè)定在清除過程中可增加的斜線段個(gè)數(shù),值為-1時(shí)表明該項(xiàng)沒有限制。
) O" j7 U- X6 w9 d◆ Etch Length/Via:用于設(shè)定為了減少過孔而增加的布線長度,值為-1時(shí)表明該項(xiàng)沒有限制。
9 D) w& y5 ?; f" n3 F8 V◆ Net Length Limit:用于設(shè)定線網(wǎng)的長度超過該設(shè)定值時(shí)才對(duì)其進(jìn)行清除和重新布線,值為-1時(shí)表明該項(xiàng)沒有限制。 ! b2 o# ]" ~2 ~. ~1 g8 u
◆ Maximum 45 Length:用于設(shè)定45度角的水平邊或者垂直邊的長度。 / Y9 F: V; K5 y) W( Y) [' T( P
◆ 復(fù)選框Slip Slide:用于設(shè)定在清除布線時(shí)是否可以應(yīng)用推擠功能。
7 G- }/ ?! K$ E- J第二部分為關(guān)于Via的參數(shù)設(shè)置,主要選項(xiàng)功能介紹如下。 1 b5 Z2 J( c$ w0 P& n, ?) ]
◆ 復(fù)選框Retry:用于設(shè)定清除連線后布線器是否進(jìn)行進(jìn)行重新布線,一般情況下選中該復(fù)選框。 ! ]) i6 i% M( G4 R( ~# U! \2 n4 N
◆ Number of Executions:用于設(shè)定執(zhí)行操作的次數(shù),推薦選擇多次運(yùn)行。
# I% x# S9 P" R4 T# l+ ^( y# X◆ Cleanup All:用于設(shè)定清除的對(duì)象,選擇Lines只清除連線,選擇Lines and Vias則清除連線和過孔,選擇Lines,Vias,and Missing Connecs則清除連線和過孔,對(duì)后對(duì)清除的連線以及設(shè)計(jì)中沒有連接的線網(wǎng)進(jìn)行連線。
- F0 Y8 @' w; }+ f- B( S2、Via eliminate:這項(xiàng)主要用來減少整個(gè)設(shè)計(jì)所用過孔數(shù)量。單擊該選項(xiàng)前面的按鈕,彈出如圖3所示參數(shù)設(shè)置對(duì)話框。 1 M! K/ ~2 \; H" i2 V$ E
0 t) P6 l+ _( W: W
9 g& o* ?- P3 q8 s圖3 4 t, _# S3 h7 _' Q" j
! B2 ?# ~0 G/ P: Y) b2 m
◆ Eliminate Used Pin Escapes:用來設(shè)定是否減少有用的扇出過孔。選中后,當(dāng)兩個(gè)SMD類型焊盤各通過一個(gè)扇出孔引出后又通過其他層走線相連時(shí),系統(tǒng)會(huì)嘗試將這兩個(gè)過孔刪除,用同樣線寬的表層走線來實(shí)現(xiàn)兩個(gè)SMD焊盤的連接。
2 S0 |' g# ~# x2 v- ~$ L◆ Eliminate Unused Pin Escapes:用來設(shè)定是否減少無用的扇出過孔。選中后,當(dāng)一個(gè)SMD焊盤通過一個(gè)扇出孔引出后又通過表層走線實(shí)現(xiàn)了和另一個(gè)SMD焊盤的連接時(shí),系統(tǒng)會(huì)刪除這個(gè)沒有起作用的過孔。 - G" \$ [+ M+ w
◆ Eliminate Stand Alone Vias:用來設(shè)定是否刪除沒有網(wǎng)絡(luò)屬性的孤立過孔。
" \1 o2 T. Y9 l◆ Eliminate Regular Through Vias:用來設(shè)定是否刪除正規(guī)的多余通孔。 ! q: v5 y( J8 A3 `' J0 ]
◆ Jog Size:用來設(shè)定在執(zhí)行Via Eliminate時(shí)可用的最大的拐線尺寸,缺省值為-1,表明沒有拐線尺寸方面的限制。 # o: O/ V1 B9 o! G) L; {) f9 }
設(shè)置完成之后單擊“Ok”,在圖1所示界面中選擇Via eliminate選項(xiàng),單擊“Ok”開始進(jìn)行Via eliminate的優(yōu)化操作。
& h& C4 \8 e. K" E2 j* W& u' K3、Line smoothing:用來刪除設(shè)計(jì)中額外的連接線段或者拐線,是連接線變得平滑,每次執(zhí)行Line smoothing命令時(shí)只對(duì)設(shè)計(jì)中的每個(gè)線網(wǎng)檢查一遍,所以最優(yōu)的情況是將該命令執(zhí)行多次,單擊選項(xiàng)前面的按鈕,彈出如圖4所示的設(shè)置對(duì)話框。
N: R. s! e, I
. D X8 w# t( {: @, A- a/ c; ~6 J: F) y
圖4 ) M3 s' n/ n" P l* \7 ~
% P1 N t* S7 I0 [( i2 ?3 W0 W◆ Eliminate:用于設(shè)定能被刪除的對(duì)象。
3 s- K9 `' l8 X8 k. q& _) O! d0 t◆ Bubbles:用來設(shè)定是否刪除一個(gè)90度走線后的45度走線。
" E( q- g. v" y, D: u5 E◆ Jogs:用來設(shè)定是否刪除多余的拐線,將兩段拐線合并為一段。
0 x6 E a r$ s: v& L% ?8 o◆ Dangling Lines:用來設(shè)定是否刪除兩頭沒有連接的孤立線段。
' w0 h n1 A& N) q! O, J* |◆ Line Segments:用來設(shè)定線段的一些參數(shù)。 4 J* p* u1 b) O% U( m4 j
◆ Convert 90 to 45:用來設(shè)定是否將設(shè)計(jì)中的90度的拐角轉(zhuǎn)換成45度的拐角 6 A% ?* S8 D( D) p' `3 ~
◆ Extend 45:用來設(shè)定是否延長連接一個(gè)水平線段和一個(gè)垂直線段的45度連接線,這樣就可以將水平線段和垂直線段刪除。 ) c L: u8 {- X2 X) Y! V
◆ Maximum 45 Length:用來設(shè)定45度連接線的最大長度,缺省值為-1,表明對(duì)該項(xiàng)沒有限制。
j2 Z' b) {; u% ~: L: i+ x◆ Length Limit:用來設(shè)定進(jìn)行平滑處理的連接線的長度,缺省值為-1,表明沒有限制,任何長度的連接線都要進(jìn)行平滑處理。
. y, d7 L# G$ \! o$ E+ z' q: y9 S◆ Corner Type:用來設(shè)定是45度的拐角還是90度的拐角,缺省為45。
% }/ e; N: a' O( c◆ Number of Executions:用來設(shè)定Line smoothing命令的執(zhí)行次數(shù),推薦多次使用該命令。
3 }( a! M2 _, G( S4、Center lines between pads:用來調(diào)整連接線使之與相鄰管腳保持相同的距離。單擊選項(xiàng)前面按鈕,彈出如圖5所示的設(shè)置對(duì)話框。 / S X% l7 c- E0 T& q
& Q$ H( U6 A# |7 B! O1 q2 ]
) L2 }5 P6 C* X: b8 ^圖5
* \" [. J0 Q! J1 d8 w
- h3 W# {1 c) b9 ~: G◆ Minimum move size:用來設(shè)定移動(dòng)連接線的最小距離,缺省值為兩個(gè)設(shè)計(jì)單位。當(dāng)一組連接線中任意連接線的移動(dòng)距離小于該值,這一組中所有的連接線都不進(jìn)行移動(dòng)。 5 b! a, V3 \ f1 r
◆ Adjacent pad tolerance:用來設(shè)定兩個(gè)相鄰管腳水平方向或者垂直方向上中心到中心的最大距離。 ) R. E0 q2 N* M; J! R
◆ Corner Type:用來設(shè)定采用的是45還是90度拐角,缺省為45。
3 t* L ~/ k1 X; R& x0 b- C2 ~◆ Line spacing:用來設(shè)定劃分線間距的種類。選擇Minimum是說明按照線到線的最小間距分配布線空間,最外面的連接線和管腳之間的聲譽(yù)間距保持平均分配,如果有DRC錯(cuò)誤產(chǎn)生,就不將連線移動(dòng)到中間。選擇Even是保持每一條連接線和管腳之間的間距都是相等的,如果有DRC錯(cuò)誤產(chǎn)生,則應(yīng)用Minimum規(guī)則重新移動(dòng)連接線。
- U7 R) F* |% O( Q8 N. F2 n6 L單擊Gloss layer按鈕可進(jìn)入圖6所示的對(duì)話框。 $ p2 U5 A: q* P. f" `. j' A
' E# }% X4 h" Z( h/ Y8 E
6 [* b t0 D! M& D8 r圖6
; P1 s- v6 ^: t' M6 |
: O' y( T/ s. y在這個(gè)對(duì)話框中可從現(xiàn)有板層中添加或刪除進(jìn)行Gloss處理的疊層,單擊Add按鈕可以添加新層(可選的層都是已經(jīng)定義的并且類型設(shè)置為Conductored的層),單擊Delete可以刪除后面的層,右邊的文本輸入框用來設(shè)定有效的aroute生成的連接線上的拐線個(gè)數(shù),由于Allegro中aroute不能用,此處可以忽略。
4 k# b }- `- s3 ~設(shè)置完成之后單擊Ok推出設(shè)置對(duì)話框,在圖1所示界面中選擇Center lines between pads選項(xiàng),單擊Gloss開始進(jìn)行Center lines between pads的操作。 |