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