如今PCB設(shè)計考慮的因素越來越復(fù)雜,如時鐘、串?dāng)_、阻抗、檢測、制造工藝等等,這經(jīng)常使得設(shè)計人員要重復(fù)進(jìn)行大量的布局布線、驗(yàn)證以及維護(hù)等工作。參數(shù)約束編輯器能將這些參數(shù)編到公式中,協(xié)助設(shè)計人員在設(shè)計和生產(chǎn)過程中更好地處理這些有時甚至還會互相對立的參數(shù)。
近年來對PCB布局布線的要求越來越復(fù)雜,集成電路中晶體管數(shù)量還在按摩爾定律預(yù)計的速度不斷上升,從而使得器件速度更快且每個脈沖沿上升時間縮短,同時管腳數(shù)也越來越多——常常要到500~2,000個管腳。所有這一切都會在設(shè)計PCB時帶來密度、時鐘以及串?dāng)_等方面的問題。
幾年前,大部分PCB上只有不多的幾個“關(guān)鍵性”節(jié)點(diǎn)(net),通常是指在阻抗、長度及間隙等方面受到一些約束,PCB設(shè)計人員一般先對這些走線進(jìn)行手工布線,然后再用軟件對整個電路作大規(guī)模自動布線。如今的PCB上常常會有5,000個甚至更多的節(jié)點(diǎn),而其中50%以上都屬于關(guān)鍵性節(jié)點(diǎn)。由于面臨著上市時間的壓力,此時采用手工布線已不可能。此外,不僅僅關(guān)鍵性節(jié)點(diǎn)的數(shù)量有所增加,每個節(jié)點(diǎn)的約束條件也在增加。
這些約束條件主要是由于參數(shù)相關(guān)性以及設(shè)計要求越來越復(fù)雜而產(chǎn)生的,例如兩條走線的間隔可能取決于一個和節(jié)點(diǎn)電壓及線路板材料都有關(guān)的函數(shù),數(shù)字IC上升時間減小對高時鐘速度和低時鐘速度的設(shè)計都會產(chǎn)生影響,由于脈沖產(chǎn)生更快而使建立及保持時間更短,另外互連延時作為高速電路設(shè)計總延時的重要部分對低速設(shè)計也同樣非常重要等等。
如果電路板能設(shè)計得更大一點(diǎn),上面有些問題就比較容易解決,但現(xiàn)在的發(fā)展趨勢卻正好相反。由于在互連延時及高密度封裝上的要求,電路板正在不斷變小,從而出現(xiàn)了高密度電路設(shè)計,同時還必須遵循小型化設(shè)計規(guī)則。上升時間減小再加上這些小型化設(shè)計規(guī)則,使串?dāng)_噪聲問題變得越來越突出,而球柵格陣列和其它高密度封裝本身也會加重串?dāng)_、開關(guān)噪聲及地線反彈等問題。
固定約束存在的限制
對付這些問題的傳統(tǒng)做法是憑經(jīng)驗(yàn)、缺省值、數(shù)表或計算方法將電氣和工藝要求轉(zhuǎn)化為固定的約束參數(shù)。例如工程師設(shè)計電路時也許先確定一個額定阻抗,然后根據(jù)最后的工藝要求“估算”出一個能達(dá)到所需阻抗的額定線寬,或者利用計算表格或算術(shù)程序?qū)Ω蓴_進(jìn)行測試,再求出長度約束條件。
這種方法通常需要設(shè)計出一整套經(jīng)驗(yàn)數(shù)據(jù)作為PCB設(shè)計人員的基本指導(dǎo)原則,以便在用自動布局布線工具進(jìn)行設(shè)計時能夠利用這些數(shù)據(jù)。該方法的問題在于經(jīng)驗(yàn)數(shù)據(jù)只是一個一般性原則,大部分情況下它們都是正確的,但有些時候卻不起作用或?qū)е洛e誤的結(jié)果。
我們以上面確定阻抗的例子來看看這種方法可能造成的誤差。和阻抗有關(guān)的因素包括電路板材料的電介質(zhì)特性、銅箔高度、各層到地/電源層間的距離及線寬,由于前三個參數(shù)一般由生產(chǎn)工藝決定,所以設(shè)計師通常是靠線寬來控制阻抗。由于每一線路層到地或電源層的距離各不相同,因此對每一層都用同一個經(jīng)驗(yàn)數(shù)據(jù)顯然是錯誤的。此外在開發(fā)過程中采用的生產(chǎn)工藝或電路板特性可能隨時會改變,所以問題還會更加復(fù)雜。
大多數(shù)時候這些問題會在樣機(jī)制作階段暴露出來,一般是找出問題后通過對線路板修補(bǔ)或重新進(jìn)行板子設(shè)計來解決。這樣做成本比較高,并且修補(bǔ)經(jīng)常還會帶來額外的問題而需要作進(jìn)一步調(diào)試,最后由于延誤上市時間而造成收入上的損失更是遠(yuǎn)遠(yuǎn)高于調(diào)試成本。幾乎每家電子生產(chǎn)商都面臨著這樣的問題,最終都?xì)w結(jié)到傳統(tǒng)的PCB設(shè)計軟件無法跟上當(dāng)前對電氣性能要求的實(shí)際情況,在這一點(diǎn)上它不像機(jī)械設(shè)計的經(jīng)驗(yàn)數(shù)據(jù)那么簡單。
解決方案:參數(shù)化約束
目前設(shè)計軟件供應(yīng)商們試圖通過在約束條件上增加參數(shù)的辦法來解決這個問題。這種方法最先進(jìn)的地方在于能夠詳細(xì)說明完全反映各種內(nèi)部電氣特性的機(jī)械指標(biāo),只要將其加入到PCB設(shè)計中,設(shè)計軟件就可利用這些信息對自動布局布線工具進(jìn)行控制。
當(dāng)后續(xù)生產(chǎn)工藝改變時也不需要重新作設(shè)計,設(shè)計人員只需簡單地更新工藝特性參數(shù),即可自動改變相關(guān)約束條件。設(shè)計人員然后可以運(yùn)行DRC(設(shè)計規(guī)則檢查)確定新工藝是否還違反了其它設(shè)計規(guī)則,并找出應(yīng)該對設(shè)計的哪些方面進(jìn)行更改才能糾正所有錯誤。
約束條件可以用數(shù)學(xué)表達(dá)式的形式輸入,包含常數(shù)、各種運(yùn)算符、向量以及其它設(shè)計約束,為設(shè)計人員提供一個參數(shù)化規(guī)則驅(qū)動系統(tǒng)。約束條件甚至能以查表的形式輸入,將它們存放在PCB或原理圖的設(shè)計文件中。PCB布線、銅箔區(qū)位置及布局工具都要遵照這些條件生成的約束規(guī)則,DRC則驗(yàn)證整個設(shè)計是否都符合這些約束,包括線寬、間隔及空間方面的要求(如面積和高度限制)等。
一個很簡單的例子是上升時間約束,一般將其設(shè)置為常數(shù)1.5ns,根據(jù)此條件就可得出最大走線長度的約束,即用5,800mil/ns乘以上升時間1.5ns。稍為復(fù)雜一點(diǎn)的例子是元件間隔,它通過將檢測角的正切值乘以器件高度來決定,該算式可算出元件最小間隔值。
分級管理
參數(shù)化約束的一個主要的好處在于它能分級進(jìn)行處理。例如全局線寬規(guī)則可作為一個設(shè)計約束用于整個設(shè)計中,當(dāng)然會有個別區(qū)域或節(jié)點(diǎn)不能照搬這個原則,這時就可繞過高一級約束而采用分級設(shè)計中的低級約束。以ACCEL Technologies的約束條件編輯器Parametric Constraint Solver為例,共有7級約束:
1.設(shè)計約束,用于所有無其它約束的對象。
2.層級約束,用于某一層上的對象。
3.節(jié)點(diǎn)類型約束,用于某個類型包含的所有節(jié)點(diǎn)。
4.節(jié)點(diǎn)約束,用于某一個節(jié)點(diǎn)。
5.類間約束,表示兩類節(jié)點(diǎn)之間的約束。
6.空間約束,用于某個空間內(nèi)的所有器件。
7.器件約束,用于某一個器件。
該軟件按照從個別器件到整個設(shè)計規(guī)則的順序遵循各個設(shè)計約束,并用圖形的方式顯示出這些規(guī)則在設(shè)計中的應(yīng)用次序。
·例1:線寬=f(阻抗,層間距,介電常數(shù),銅箔高度)
這里舉例說明參數(shù)化約束條件如何作為設(shè)計規(guī)則控制阻抗。如前所述,阻抗是介電常數(shù)、到最近線路層距離、銅線寬度及高度的函數(shù),由于已確定了設(shè)計所要求的阻抗,因此可任意取這四個參數(shù)作為相關(guān)變量重新寫出阻抗公式,大多數(shù)情況下設(shè)計人員能夠控制的參數(shù)只有線寬。
正因?yàn)榇?,對線寬的約束就是阻抗、介電常數(shù)、到最近線路層距離及銅箔高度的函數(shù)。如果將該公式定義為層級約束而將制造工藝參數(shù)定義為設(shè)計級約束,那么當(dāng)所設(shè)計的線路層改變時軟件會自動調(diào)整線寬以進(jìn)行補(bǔ)償。同樣道理,如果設(shè)計的線路板用另一種工藝進(jìn)行生產(chǎn)而使銅箔高度發(fā)生了變化,則只要改變設(shè)計級里的銅箔高度參數(shù)就可使層級里的相關(guān)規(guī)則自動重新計算。
·例2:器件間隔=max(默認(rèn)間隔,f(器件高度,檢測角度))
同時使用參數(shù)約束和設(shè)計規(guī)則檢查顯而易見的好處是當(dāng)設(shè)計修改時,參數(shù)化方法具有很好的可移植性和可監(jiān)測性。本例表明如何由工藝特性及測試要求來決定器件間隔,上面的公式表示器件間隔是器件高度和檢測角度的函數(shù)。
通常檢測角度對整塊板都是一個常數(shù),所以可在設(shè)計級進(jìn)行定義。當(dāng)改由不同的機(jī)器進(jìn)行檢測時,只需在設(shè)計級中輸入新的值即可更新整個設(shè)計。將新機(jī)器性能參數(shù)輸入之后,設(shè)計人員只要簡單地運(yùn)行一下DRC以檢查器件間隔是否與新的間隔值有沖突,即可知道設(shè)計是否可行,這要比先分析再改正然后按新間隔要求硬性計算容易得多。
·例3:元器件布局
除了對設(shè)計對象和約束條件進(jìn)行組織,設(shè)計規(guī)則還可用于元器件布局,也即它能夠根據(jù)約束條件檢測出在哪里放置器件不會帶來錯誤。圖1中突出顯示的部分是滿足物理約束條件(如與板邊沿間隔及器件間隔等)的器件放置區(qū)域,圖2突出顯示的是滿足電性約束的器件放置區(qū)域,如最大走線長度,圖3僅顯示滿足空間約束的區(qū)域,最后,圖4是前3幅圖中各部分的交集,這就是有效布局區(qū)域,在這個區(qū)域放置的器件可以滿足所有約束條件。
事實(shí)上用模塊化方式生成約束條件可極大提高其可維護(hù)性和可復(fù)用性。參考前一階段不同層的約束參數(shù)可生成新表達(dá)式,如頂層線寬取決于頂層的距離和銅線高度及設(shè)計級中的變量Temp和Diel_Const。請注意設(shè)計規(guī)則是按由低到高的順序顯示的,改變一個高一級約束會立刻影響參考這個約束的所有表達(dá)式。
設(shè)計復(fù)用和文檔
參數(shù)化約束不僅可以顯著改進(jìn)初始設(shè)計流程,而且對工程更改和設(shè)計復(fù)用更為有用,約束條件可作為設(shè)計、系統(tǒng)和文件資料的一部分,如果不這樣而只存放在工程師或設(shè)計人員的頭腦中,那么當(dāng)他們轉(zhuǎn)到其它項目時可能就會慢慢忘掉。約束文檔記錄了設(shè)計過程中應(yīng)遵循的電性能規(guī)則,可使他人有機(jī)會了解設(shè)計者意圖,從而易于將這些規(guī)則應(yīng)用到新的制造工藝中或根據(jù)電性能要求進(jìn)行改變。以后的復(fù)用者也可以知道準(zhǔn)確的設(shè)計規(guī)則,并通過輸入新的工藝要求而進(jìn)行更改,不必再去猜測諸如線寬是如何得到之類的問題。
本文結(jié)論
參數(shù)約束編輯器有助于多維約束條件下的PCB布局布線,這也是第一次使自動布線軟件和設(shè)計規(guī)則完全按照復(fù)雜的電氣和工藝要求進(jìn)行檢查,而不是僅僅靠經(jīng)驗(yàn)或簡單沒多大用處的設(shè)計規(guī)則。其結(jié)果是設(shè)計能夠做到一次成功,減少甚至取消樣機(jī)調(diào)試。
責(zé)任編輯;zl
評論
查看更多