PCB布線方法在不斷進(jìn)步,靈活的布線技術(shù)可以縮短導(dǎo)線長度,釋放更多的PCB空間。傳統(tǒng)PCB布線受到導(dǎo)線坐標(biāo)固定和缺少任意角度導(dǎo)線的限制。去除這些限制可以顯著改善布線的質(zhì)量。
背景
我們首先來介紹一些術(shù)語。我們將任意角度布線定義為使用任意角度的線段和弧度進(jìn)行的導(dǎo)線布線。它是一種導(dǎo)線布線,但不限于只能使用90度和45度角度的線段。拓?fù)涫讲季€是不粘附柵格和坐標(biāo)的導(dǎo)線布線,不使用像基于形狀的布線器那樣的規(guī)則或不規(guī)則柵格。讓我們把術(shù)語靈活布線定義為沒有形狀固定的導(dǎo)線布線,能夠通過實(shí)時(shí)導(dǎo)線形狀再計(jì)算實(shí)現(xiàn)下文的轉(zhuǎn)變可能性。只有來自障礙物的圓弧和它們的公切線被用來形成走線形狀。(障礙物包括引腳、銅箔、禁布區(qū)、過孔和其它物體)
圖1顯示了兩種PCB模型的部分電路。其中的綠色導(dǎo)線和紅線導(dǎo)線分別走在pcb模型的不同層上。藍(lán)色圓圈是過孔。紅色元件被高亮顯示。另外有一些紅色的圓形引腳。圖1a是只使用線段和線段間夾角為90度的模型。圖1b是使用弧和任意角度的PCB模型。也許任意角度布線看起來很奇怪,但它確實(shí)有許多優(yōu)勢。它的這種布線方式與半個(gè)世紀(jì)前工程師的手工布線方式非常類似。
圖1:兩種PCB模型的部分電路
頂圖:傳統(tǒng)設(shè)計(jì)版本
底圖:同樣的設(shè)計(jì)但采用了任意角度的布線
圖2顯示了一家名為Digibarn的美國公司在1972年開發(fā)的完全手工布線的真實(shí)PCB。這是一塊基于Intel 8008的計(jì)算機(jī)內(nèi)的PCB板。圖2所示的任意角度布線事實(shí)上與圖1b很相似。為何他們會使用任意角度的布線呢?因?yàn)檫@種布線方式有許多優(yōu)勢。
圖2
(資源來源:DigiBarn計(jì)算機(jī)博物館)
任意角度布線的優(yōu)勢
任意角度布線有許多優(yōu)勢。首先,不使用線段間的角度可以節(jié)省PCB空間(多邊形所占的空間總是要大于內(nèi)切圓)。
傳統(tǒng)的自動(dòng)布線器在緊鄰元件之間只能布3根線(見圖3中的左邊和中間)。而任意角度布線時(shí)的空間足以在相同路徑上布4根線而不違反設(shè)計(jì)規(guī)則檢查(DRC),見圖3右邊。
圖3
假設(shè)我們有一個(gè)正方式芯片,想把芯片引腳連接到另外兩列引腳(見圖4)。只使用90度夾角要占很大的面積(見圖4頂部)。
圖4
使用任意角度布線可以縮短芯片和其它引腳之間的距離(圖4中間),同時(shí)減小占用面積。在本例中,面積從30平方厘米縮小到了23平方厘米。
任意角度旋轉(zhuǎn)芯片還可以提供更好的效果。在本例中,面積從23平方厘米縮小到了10平方厘米(圖4底部)。圖5顯示了一塊真實(shí)的PCB。帶旋轉(zhuǎn)芯片功能的任意角度布線是這種電路板的唯一布線方法。這不僅是一個(gè)理論,也是得到實(shí)際應(yīng)用的解決方案(有時(shí)是唯一可行的解決方案)。
圖5
圖6顯示了一個(gè)簡單PCB的例子。拓?fù)洳季€器結(jié)果如圖6a所示,而基于最佳形狀的自動(dòng)布線器結(jié)果如圖6b所示。圖6c是實(shí)際pcb的照片?;谧罴研螤畹淖詣?dòng)布線器無法完成這種電路板的布線,因?yàn)樵恍D(zhuǎn)成任意角度放置。你需要更多的面積,如果不旋轉(zhuǎn)元件,設(shè)備必須做得更大。
圖6
電磁干擾(EMI)
如果沒有并行導(dǎo)線段,版圖性能將得到很大的提升,因?yàn)椴⑿袑?dǎo)線段經(jīng)常是串?dāng)_的來源。隨著并行導(dǎo)線長度的增長,串?dāng)_等級將呈線性增加。當(dāng)并行導(dǎo)線之間的間距增加時(shí),串?dāng)_則呈二次方減小。讓我們把兩條并行的1mm長導(dǎo)線在間距為d時(shí)所產(chǎn)生的串?dāng)_等級設(shè)為e(見圖7)。
如果導(dǎo)線段之間有個(gè)夾角,那么當(dāng)這個(gè)夾角增加時(shí),串?dāng)_等級將下降。這時(shí)的串?dāng)_不取決于導(dǎo)線長度,僅受限于夾角值:
其中α代表導(dǎo)線段之間的夾角。
圖7
下面考慮三種導(dǎo)線布線方式。在圖8中的左邊(90度布局),由于并行線段而存在最大的導(dǎo)線長度和最大的電磁干擾值。在圖8的中間(45度布局),導(dǎo)線長度和電磁干擾值都減小了。在圖8的右邊(任意角度),導(dǎo)線長度最短,也沒有并行的導(dǎo)線段,因此干擾值可以忽略不計(jì)。
圖8:三種導(dǎo)線布線方式
因此任意角度布線有助于減小總的導(dǎo)線長度,并顯著減少電磁干擾。另外你應(yīng)該還記得對信號延時(shí)的影響吧(導(dǎo)線方向不應(yīng)該并行,并且不應(yīng)該垂直于PCB玻璃纖維方向)。
靈活布線的優(yōu)勢
元件的人工和自動(dòng)移動(dòng)不會破壞靈活布線中的走線。布線器會自動(dòng)計(jì)算導(dǎo)線的最佳形狀(考慮必要的安全間隙)。因此靈活布線可以極大地減少編輯拓?fù)渌璧臅r(shí)間,很好地支持因?yàn)橐獫M足限制條件而做的多次重新布線。圖9a顯示的是一個(gè)PCB設(shè)計(jì),移動(dòng)過孔和分支點(diǎn)后的結(jié)果如圖9b所示。
圖9
在自動(dòng)移動(dòng)過程中,導(dǎo)線分支點(diǎn)和過孔被調(diào)整到最佳位置(如圖9c所示)。
在大多數(shù)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)中,布線互連問題被簡化為在焊盤、禁布區(qū)和已布好的導(dǎo)線形成的迷宮中按順序?qū)ふ页蓪c(diǎn)之間的路徑問題。當(dāng)找到一條路徑時(shí),它就被固定下來,并成為迷宮的一部分。順序布線的缺點(diǎn)是布線結(jié)果可能與布線的順序有關(guān)。
當(dāng)拓?fù)滟|(zhì)量仍然離完美很遠(yuǎn)時(shí),在局部很小的區(qū)域?qū)l(fā)生“被困住”的問題。但不管你重新布線哪根導(dǎo)線,都無法改善布線的質(zhì)量。這是在使用順序優(yōu)化的所有CAD系統(tǒng)中都存在的很嚴(yán)重的問題。
這時(shí)應(yīng)用打彎消除過程就很有用了。導(dǎo)線打彎是指某條網(wǎng)絡(luò)中的導(dǎo)線想要接入某個(gè)物體時(shí)必須圍著另一條網(wǎng)絡(luò)上的物體四周行走的現(xiàn)象。重新布線一條導(dǎo)線并不能糾正這種現(xiàn)象。
圖10a顯示了一個(gè)打彎的例子。一條點(diǎn)亮的紅色導(dǎo)線圍繞另一條網(wǎng)絡(luò)的一個(gè)引腳行走,一條未點(diǎn)亮的紅色導(dǎo)線接入這個(gè)引腳。圖10b顯示了自動(dòng)處理結(jié)果。在第2種情況中(另一層上),一條點(diǎn)亮的綠色導(dǎo)線通過改變布線層得到了自動(dòng)調(diào)整(重新布線)(從綠色層到紅色層)。
圖10
通過自動(dòng)優(yōu)化導(dǎo)線形狀消除導(dǎo)線打彎(用線段近似弧線只是為了顯示沒有弧線的任何角度例子)。(頂部)原始設(shè)計(jì),(底部)消除打彎后的設(shè)計(jì)。紅色打彎導(dǎo)線被高亮顯示,如圖10所示。
在Steiner樹中,所有連線都必須以線段方式連接到頂點(diǎn)(終點(diǎn)和新增點(diǎn))。在每個(gè)新增頂點(diǎn)的頂部,三個(gè)線段必須匯聚在一起,終點(diǎn)的線段不得超過3個(gè)。集中到頂點(diǎn)的線段之間的夾角不得小于120度。構(gòu)造具有這些充足條件性能的Steiner不是很困難,但沒有必要是最小的。圖11中的灰色Steiner樹不是最優(yōu)的,但黑色Steiner樹是最優(yōu)的。
圖11
在實(shí)際通信設(shè)計(jì)中,必須考慮到存在不同種類的障礙物。它們會限制使用兩種算法構(gòu)造最小生成樹(圖12a)的能力和使用幾何方法構(gòu)造Steiner樹(圖12b)的能力。圖中用灰色表示障礙物。
圖12
我們建議從任意一個(gè)終結(jié)頂點(diǎn)開始。如果有超過一個(gè)的相鄰終結(jié)頂點(diǎn),你應(yīng)該選擇一個(gè)允許你繼續(xù)使用第二個(gè)頂點(diǎn)的那個(gè)頂點(diǎn)。這是由角度決定的。
這里的主要機(jī)制是一種基于力的算法,它會計(jì)算作用在新增頂點(diǎn)上的力,并反復(fù)移動(dòng)它們到一個(gè)平衡點(diǎn)(力的幅度和方向取決于鄰近分支點(diǎn)的導(dǎo)線)。如果接入某個(gè)頂點(diǎn)(終點(diǎn)或新增點(diǎn))的一對線段之間的角度小于120度(圖13a和圖13b),可以再增加一個(gè)分支點(diǎn)(圖13b和圖13d),然后使用力學(xué)算法優(yōu)化頂點(diǎn)的位置(圖13c和圖13d)。最終結(jié)果如圖13e所示。
圖13
值得注意的是,只是按降序排序所有角度然后按這個(gè)順序增加新的頂點(diǎn)是行不通的,結(jié)果會更糟。在新加一個(gè)節(jié)點(diǎn)之后,你應(yīng)該檢查由4個(gè)引腳組成的子網(wǎng)的最小性:
1.如果頂點(diǎn)增加到其它新增頂點(diǎn)的鄰近位置,要檢查最小的四引腳網(wǎng)絡(luò)(圖14a)。
2.如果四引腳網(wǎng)絡(luò)不是最小的,選擇一對“對角”(屬于四邊形對角線)終點(diǎn)或虛擬的終端節(jié)點(diǎn)(虛擬終端節(jié)點(diǎn)-導(dǎo)線彎曲)。
3.連接終點(diǎn)(虛擬終點(diǎn))到最近的新增頂點(diǎn)的線段被連接終點(diǎn)(虛擬終點(diǎn))到遠(yuǎn)處的新增頂點(diǎn)的線段所代替(圖14b)。
4.使用力學(xué)算法優(yōu)化頂點(diǎn)的位置(圖14c)。
圖14
這種方法并不保證構(gòu)建最小的網(wǎng)絡(luò),但相比其它方法,它不用牧舉就能實(shí)現(xiàn)最小的網(wǎng)絡(luò)長度。它還考慮到了終點(diǎn)連接被禁止的區(qū)域,并且終端節(jié)點(diǎn)數(shù)量可以是任意的。
其它優(yōu)勢
任何角度靈活布線還有其它一些有趣的優(yōu)勢。例如,如果你能借助自動(dòng)的實(shí)時(shí)導(dǎo)線形狀重新計(jì)算功能自動(dòng)移動(dòng)許多物體,你可以創(chuàng)建并行的蛇形線。這種布線方式能夠更好的利用空間,最大限度地減小反復(fù)次數(shù),并且允許靈活地使用容差(見圖15)。如果有兩條蛇形線相互交織在一起,自動(dòng)布線器會減小其中一條或同時(shí)減小兩條的長度,具體取決于規(guī)則優(yōu)先級。
圖15
BGA元件的布線
下面考慮BGA元件的布線。在傳統(tǒng)的“從外圍到中心”方法中,到外圍的通道數(shù)量將隨著每個(gè)連續(xù)層而逐層減8(由于周長的減小)。例如,具有784個(gè)引腳、尺寸為28x28mm的元件需要10層。在圖中有些層存在逃逸布線。圖16顯示了一個(gè)BGA的四分之一部分。
圖16
與此同時(shí),當(dāng)采用“從中心到外圍”的布線方法時(shí),退出到外圍所要求的通道數(shù)量不會隨著層的改變而改變。這將極大地減少層的數(shù)量。對于尺寸為28x28mm的元件來說,7層就足夠了。對于尺寸更大的元件,還可以取得雙贏。圖17顯示了BGA的四分之一部分。
圖17
圖18顯示了一個(gè)BGA布線的例子。當(dāng)采用“從中心到外圍”的布線方法時(shí),我們可以完成所有網(wǎng)絡(luò)的布線(圖18b)。任意角度的拓?fù)涫阶詣?dòng)布線器就可以做到這一點(diǎn)。傳統(tǒng)的自動(dòng)布線器則無法布線這個(gè)例子(圖18a)。
圖18
真實(shí)PCB例子
圖19顯示了一個(gè)真實(shí)PCB的例子,工程師將信號層數(shù)從6層減少到了4層(與規(guī)格相比)。另外,工程師只花了半天時(shí)間就完成了這塊PCB的布線。
圖19:一個(gè)真實(shí)pcb例子。