摘要:基于板極設計高速化,復雜化的發展趨勢,縮短設計進入市場時間的方法無疑成為各個設計公司的焦點?,F有的EDA工具可以幫助工程師在確定系統框架并完成原理圖輸入工作后進行電氣規范規則等的檢查來減少設計錯誤,但是EDA工具在硬件連接錯誤檢查方面的功能有所欠缺。本文討論了一種基于實用報表提取語言的數據庫處理工具進行硬件連接檢查的新方法的可行性以及優越性。
關鍵詞:板級設計;EDA工具;硬件連接檢查;Perl語言
中圖分類號: TP311文獻標識碼:A文章編號:1009-3044(2008)33-1496-02
Discussion of Hardware Connectivity validation method in Board Level Design
JIANG Yuan-jun, WU Xiu-long
(School of Electronic Science and Technology, Anhui University, Hefei 230039,China)
Abstract: Based on the developing trend of board design's high-speed and complication, it is no surprise that how to shorten the time-to-market of products is an import metric for every design company. After fixing on the architecture of system and finishing the design entry, engineers can use EDA tools to do ERC check in order to reduce design errors. But EDA tools are short of the function in hardware connectivity check. In this article, we will discuss the feasibility and superiority of using a new method to go on with the hardware connectivity check, which is based on Perl (Practical Extraction and Report Language).
Key words:board level design; EDA tool; hardware connectivity validation; Perl
1 引言
目前的電子設計大多數是集成系統級設計,整個項目中既包含硬件整機設計又包含軟件開發。這種技術特點向電子工程師提出了新的挑戰。
首先,如何在設計早期將系統軟硬件功能劃分得比較合理,形成有效的功能結構框架,以避免冗余循環過程;
其次,如何在短時間內設計出高性能高可靠的PCB板。因為軟件的開發很大程度上依賴硬件的實現,只有保證整機設計一次通過,才會更有效的縮短設計周期。
眾所周知,電子技術的發展日新月異,而這種變化的根源,主要因素來自芯片技術的進步,半導體工藝日趨物理極限,超大規模電路成為芯片發展主流[1]。而這種工藝和規模的變化又帶來了許多新的電子設計瓶頸,板級設計也受到很大的沖擊,最明顯的一個變化是芯片封裝的種類極大豐富,功能集成度、復雜度明顯增高;另外,芯片工作頻率提高,使得系統工作頻率的提高成為可能。而這些變化必然給板級設計帶來許多問題和挑戰。首先,由于高密度引腳及引腳尺寸日趨物理極限,導致低的布通率;其次,由于系統時鐘頻率的提高,引起的時序及信號完整性問題;第三,工程師希望使用功能更完備的EDA工具來完成復雜的高性能的設計[2]。
據此,我們不難看出,板級設計有以下三種趨勢:
1) 高速時鐘頻率及快速邊沿的設計成為主流[3];
2) 產品小型化及高性能必須面對在同一塊板上由于混合信號設計技術(即數字、模擬及射頻混合設計)所帶來的分布效應;
3) 設計難度的提高,導致傳統的設計流程及設計方法很難勝任當前的技術。
基于板級設計的發展趨勢,目前有許多廠商從事電子設計自動化(EDA)工具的開發工作,如 Cadence, Synopsis, Mentor Graphics等EDA工具供應商。EDA所涉及的領域非常廣泛,包括網絡、通信、計算機、航天航空等。產品則涉及系統板級設計、系統數字/中頻模擬/數?;旌?射頻仿真設計、系統IC/ASIC/FPGA的設計/仿真/驗證,軟硬件協同設計等。任何一家EDA供應商均很難提供滿足各類用戶的不同設計需求的最強的設計流程。
2 板級電路的硬件連接驗證方法
2.1 電路原理圖設計流程
我們知道原理圖設計是電路設計的基礎,只有在設計好原理圖的基礎上才可以進行印刷電路板的設計和電路仿真等。電路原理圖設計流程如圖1所示。
原理圖具體設計步驟如下[4]:
1) 新建原理圖文件。在進人 SCH 設計系統之前,首先要構思好原理圖,即必須知道所設計的項目需要哪些電路來完成,然后用相應的設計輸入工具來畫出電路原理圖。

圖1 電路原理圖設計流程圖
2) 設置工作環境。根據實際電路的復雜程度來設置圖紙的大小。在電路設計的整個過程中,圖紙的大小都可以不斷地調整,設置合適的圖紙大小是完成原理圖設計的第一步。
3) 放置元件。從元件庫中選取元件,布置到圖紙的合適位置,并對元件的名稱、封裝進行定義和設定,根據元件之間的走線等聯系對元件在工作平面上的位置進行調整和修改使得原理圖美觀而且易懂。
4) 原理圖的布線。根據實際電路的需要,利用 SCH 提供的各種工具、指令進行布線,將工作平面上的器件用具有電氣意義的導線、符號連接起來,構成一幅完整的電路原理圖。
5) 建立網絡表。完成上面的步驟以后,可以看到一張完整的電路原理圖了,但是要完成電路板的設計,就需要生成一個網絡表文件。網絡表是電路板和電路原理圖之間的重要紐帶。
6) 原理圖的電氣檢查。當完成原理圖布線后,需要設置項目選項來編譯當前項目,利用工具提供的錯誤檢查報告修改原理圖。
7) 編譯和調整。如果原理圖已通過電氣規范檢查,那么原理圖的設計就完成了。這是對于一般電路設計而言,尤其是較大的項目,通常需要對電路的多次修改才能夠通過電氣規范檢查。
8) 存盤和報表輸出:電路圖輸入工具一般會提供利用各種報表工具生成的報表(如網絡表、元件清單等),同時可以對設計好的原理圖和各種報表進行存盤和輸出打印,為印刷板電路的設計做好準備。
2.2 硬件連接驗證方法的目的和驗證范圍
在2.1中描述的原理圖設計流程中,電氣規范檢查是完成原理圖設計的必要條件[5]。對于一個龐大復雜的系統板級設計來說,由于設計工具在硬件連接性方面的檢查功能不完善,或者由于設計人員在設計中的忽視,硬件連接方面的一些錯誤在通過電氣規范檢查并報表輸出后的板級設計中時有出現。在這里所說的硬件連接方面的錯誤主要是指:原理圖中器件symbol中的芯片引腳名稱與該芯片說明書中命名的引腳名稱不同;沒有連接的引腳;輸入/輸出腳的沖突;電路設計中是否按照每個芯片說明書中規定的供電電壓為該芯片供電;電路設計中是否存在芯片的某一個引腳存在重復的上拉、下拉電阻或者同時存在一個上拉電阻和一個下拉電阻的矛盾情況。其中輸入/輸出腳的沖突包括兩個方面:一是驅動芯片和接收芯片的連接引腳的信號方向是否存在同為輸入或者同為輸入的相悖情況,二是驅動芯片輸出腳的輸出高低電平和接收芯片輸入腳的高低電平是否存在過驅動或者不足驅動的情況。
為了進一步分析進行硬件連接驗證的必要性,以下按照連接性錯誤的類型逐一闡述:
1) 電路設計中是否存在未連接的節點:進行節點連接驗證通常是為了確認器件的引腳是否存在沒有正確連接的情況,或者是否存在孤立節點即電路設計中是否存在某器件的一個節點沒有連接到其他任何器件的情況。通常情況下,電路設計人員會對電路設計中一些故意懸空的芯片引腳標注上“NC”,這種情況則不屬于未連接的節點。在分析中,我們認為未連接的節點既可以是器件的一個引腳未連接,也可以是完全沒有連到其他器件;對于電容,電阻和電感這樣的器件,我們也需要去確定它們的兩個引腳在設計中是否都被使用。
2) 電路設計中的是否存在芯片說明書中明確指出未連接時需要進行特殊處理的輸入腳:進行輸入腳測試的目的和進行節點測試的目的很相似。電路圖中的浮空的輸入腳必須被給予特別的關注,因為由于它們處于邏輯“1”和邏輯“0”的不確定性可能會給器件帶來不穩定的工作狀態,或者引入了電子噪聲從而影響該器件的其他功能。
3) 電路設計中的是否存在錯接的電源腳或者地腳:進行電源和地腳的連接驗證的目的是為了確保電路設計中的每一個器件的電源和地腳都接入到正確的電源網絡上。此處的“正確”包含兩個方面的含義,其一是指電源腳接到電源節點,且地腳接地;其二是指電源腳所接的電壓值處在該芯片說明書要求的工作電壓范圍之內。此外,輸入腳和輸出腳是否存在重復的上拉或下拉電阻,以及是否存在沖突的上/下拉電阻這兩個問題也必須予以關注。
4) 電路設計中的是否存在相悖的引腳方向:

圖2 糾錯流程圖
我們進行此部分驗證所遵循的評價標準如下:
a. 所有接收器件的輸入腳都至少被一個驅動器件的輸出腳驅動;
b.電路設計中的任意一個特定的節點只允許連接一個輸出腳;
c.輸出腳不能直接和電源/地腳連接。
5)電路設計中的是否存在數字驅動腳和數字接收腳的DC特性不匹配:我們進行此部分驗證是為了檢查驅動腳和輸出腳的高/低電平是否匹配,防止芯片存在過驅動或者不足驅動的情況出現。
6) 電路設計中的是否存在命名不一致性的情況:我們進行此部分驗證的目的是檢查電路設計中引腳的功能和節點命名是否存在不一致性。不一致性通常會發生在FPGA和連接性器件上,因為這些器件的引腳功能在電路設計中沒有明確提及。同時,差分信號的極性連接正確性也可以在此部分檢查。
2.3 硬件連接驗證方法的實現
為了完成2.2中列舉的板級設計的硬件連接驗證,我們需要按照以下三個步驟:
1) 首先比對原理圖中所有器件的供電電壓、引腳信號方向、數字腳的高低電平等一系列參數是否與對應的芯片說明書的參數一致,如圖2所示:
2) 其次檢查原理圖中所有芯片的外圍連接,特別是沒有使用的引腳的特殊處理、Open-Drain的引腳、電源的去耦電容等是否滿足其對應的芯片說明書中的特定要求。
3) 最后檢查原理圖中所有存在連接關系的芯片中互相連接的引腳的輸入輸出方向是否正確,即不存在兩個輸入或者輸出腳對接的情況;檢查設計中存在互相連接的驅動與被驅動關系的芯片之間對接的數字腳的高低電平是否匹配,即不存在過驅動或者不足驅動的情況。
為完成上面提到的硬件連接驗證的三個步驟,我們需要精確地比對電路原理圖中的器件參數和芯片說明書中的對應參數的數值或者范圍是否一致。在日趨復雜的板級設計中要準確無誤地完成參數的比對工作,單單憑借設計師的經驗或者肉眼觀察是很難做到的,這就要求我們必須借助有效的輔助工具進行參數處理,排除電路原理圖和芯片說明書參數已經匹配的連接,縮小檢查的范圍,最終憑借設計經驗和芯片說明書的規范來鎖定設計中確實存在的硬件連接錯誤,整個流程如圖2所示。
3 結論
本文介紹了一種新的基于Perl語言[4]的數據庫處理工具進行系統板級設計中的硬件連接性驗證的方法,運用此方法,我們可以在系統設計的早期階段發現系統內潛在的芯片功能性或者參數匹配方面的錯誤,將硬件設計的錯誤降到最低,便于大大提升設計一次成功率,降低設計成本,縮短產品進入市場的周期。
參考文獻:
[1] 王衛平.電子工藝基礎:第2版.2003年09月.北京:電子工業出版社.
[2] 集成系統PCB板設計的新技術.[2003-11-25].上海泰齊科技網.
[3] 周潤景,袁偉亭編著.Cadence 高速電路板設計與仿真(第2版).2007年09月.北京:電子工業出版社.
[4] 李剛,王艷林,孫江宏等編著.Protel DXP電路設計標準教程.2005年06月.北京:清華大學出版社.
[5] 零點工作室編著.精通Protel DXP2004電路設計.2006年9月.北京:電子工業出版社.
[6](美)沃爾等編著.何偉平譯.Perl語言編程.2002年01月.北京:中國電力出版社.