新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 編寫屬于自己的PCB設計規(guī)則檢查器

編寫屬于自己的PCB設計規(guī)則檢查器

作者: 時間:2010-12-23 來源:網(wǎng)絡 收藏

屬于自己的設計規(guī)則檢查器具有很多優(yōu)點,盡管設計檢查器并不那么簡單,但也并非高不可攀,因為任何熟悉現(xiàn)有編程或腳本語言的設計人員完全能夠設計檢查器,這項工作的好處是不可估量的,本文介紹設計規(guī)則檢查器的技巧。

本文引用地址:http://butianyuan.cn/article/191411.htm

本文闡述了一種設計規(guī)則檢查器(DRC)的系統(tǒng)方法。利用電路圖生成工具得到PCB設計后,即可運行DRC以找到任何違反設計規(guī)則的故障。這些操作必須在后續(xù)處理開始之前完成,而且開發(fā)電路圖生成工具的開發(fā)商必須提供大多數(shù)設計人員都能輕松掌握的DRC工具。

然而,市場銷售的通用工具通常不具備足夠的靈活性以滿足特定的設計需要。因此,客戶必須將新特性需求反映給DRC工具開發(fā)商,而這通常需要耗費一定的資金和時間,尤其當需求不斷更新時。幸運的是,大多數(shù)工具開發(fā)商均可為客戶提供編寫屬于自己的DRC以滿足特定需求的便捷方法。但是,這種具有強大功能的工具尚未得到廣泛認同或使用。本文提供了利用DRC工具獲取最大收益的實用指南。

由于DRC必須遍歷 PCB設計的整個電路圖,包括每個符號、每個引腳、每個網(wǎng)路、每種屬性,如有必要還能創(chuàng)建數(shù)目不限的“附屬”文件。如4.0節(jié)所述,DRC可以標示出任何違反設計規(guī)則的細微偏差。例如其中一個附屬文件就可能包含設計用到的全部去耦電容。如果電容數(shù)低于或高于期望值,就將在可能出現(xiàn)電源線dv/dt問題的地方標注紅色記號[1]。這些附屬文件或許必不可少,但并非任何商用DRC工具都一定能創(chuàng)建這些文件。

DRC的另一優(yōu)勢是便于更新,以適應新設計特性(如那些可能影響設計規(guī)則的新特性)的需要。而且,一旦在該領域獲得充分經(jīng)驗,那么還能實現(xiàn)許多其它功能。

例如,如果能編寫屬于自己的DRC,那么就能編寫屬于自己的物料清單(BOM)創(chuàng)建工具,這樣就能更好地處理特定用戶需求,如如何獲取本身不屬于電路圖數(shù)據(jù)庫一部分的器件“額外硬件”(如插座、散熱裝置或螺絲刀)?;蛘咴O計人員可以編寫屬于自己的Verilog網(wǎng)表分析器,該分析器在設計環(huán)境下具有充分的靈活度,如怎樣獲取適用于特定器件的Verilog模型或時間文件。實際上,由于DRC遍歷了整個設計電路圖,因此可以收集全部有效信息以輸出PCB設計Verilog網(wǎng)表分析所需的仿真和/或BOM。

在不提供任何程序代碼的前提下討論這些話題實在有些牽強,為此,我們將以一種電路圖獲取工具為例進行說明。本文采用了Mentor Graphics公司開發(fā)的附屬于PADS-Designer產(chǎn)品線的ViewDraw工具。此外,我們還采用了ViewBase工具,這是一個可被調用并對ViewDraw數(shù)據(jù)庫進行存取操作的簡化C例行程序庫。利用ViewBase工具,設計人員可以輕松地采用C/C++語言為ViewDraw編寫完整且高效的DRC工具[2] [3]。需要注意的是,這里討論的基本原則同樣適用于任何其它的PCB電路圖工具。

輸入文件

除了電路圖數(shù)據(jù)庫,DRC還需要一些可以描述特定情況處理的輸入文件,如自動連接到電源平面的合法電源網(wǎng)路名稱。例如,如果電源網(wǎng)路名為POWER,那么電源平面將采用后端封裝設備(如適用于ViewDraw的pcbfwd)自動連接到電源平面。下面給出了輸入文件列表,這些文件必須放在固定的全局位置,這樣DRC就能自動找到并讀取,然后在運行時將這些信息保存在DRC內部。

* 文件legal_pwr_net_name可選,該文件包含POWER信號全部合法網(wǎng)路名稱,如VCC、V3_3P和VDD。在PCB布局/路由工具中,需要對名稱的大小寫進行區(qū)分,一般VCC并不等同于Vcc或vcc。VCC可以是5.0V的電源,而V3_3P則可以是3.3V的電源。

* 文件legal_pwr_net_name可選,因為后端封裝設備的配置文件通常必須包含一組合法電源線網(wǎng)路名稱。如果采用Cadence設計系統(tǒng)公司的Allegro布線工具,那么pcbfwd的文件名則為allegro.cfg并且具有如下入口參數(shù):

接地:VSS CGND GND GROUND


電源:VCC VDD VEE V3_3P V2_5P +5V +12V

如果DRC可以直接讀取allegro.cfg文件,而非legal_pwr_net_name,那么將能得到更好的結果(即引入誤差的幾率較小)。

電源線引腳通常并不外接到器件符號上,相反,該符號的一個屬性(這里稱為SIGNAL)描述了哪個引腳是電源引腳或接地引腳并描述引腳應當連接的網(wǎng)絡名稱。

SIGNAL = VCC:10


SIGNAL = GROUND:20

DRC可讀取該屬性并確保網(wǎng)路名稱保存在legal_pwr_net_name文件中,如果legal_pwr_net_name中不包含網(wǎng)路名稱,那么電源引腳將不會連接到電源平面,而這個問題確實非常嚴重。

一些符號必須具有外接電源線引腳,因為這些符號并不連接到常規(guī)電源線層。例如,ECL器件的VCC引腳要么連接到VCC,要么連接到GROUND;其VEE引腳則可連接到GROUND或-5.0V平面。此外,電源線引腳在到達電源線層之前也可連接到濾波器。

引腳與濾波器之間的網(wǎng)路可具有任意名稱,而DRC很難檢測到這一點。DRC可以錯誤形式匯報這一點,而用戶則必須將其標示出或在legal_pwr_net_name文件中添加該網(wǎng)路名稱。這就是我們需要類似legal_pwr_net_name文件的一個原因。最后,DRC將讀取legal_pwr_net_name,以1)找到上拉電阻,2)在設計中檢查POWER網(wǎng)路名稱的大小寫,3)檢測任何與POWER直接相連但尚未使用的引腳。

* 包含GROUND信號(如GROUND、VSS和F_GND)中所有合法網(wǎng)路名的legal_gnd_net_name文件可以隨意創(chuàng)建。而需要再次注意的是,符號的大小寫可能會對一些PCB布線工具產(chǎn)生影響。而且,如果DRC可以直接讀取上述allegro.cfg文件,而非legal_gnd_net_name文件的話,無疑可以得到更好的設計結果。

legal_gnd_net_name不僅具有與legal_pwr_net_name相同的功能,而且DRC還可讀取該文件,以1)找到下拉電阻,2)檢查POWER網(wǎng)路名稱的大小寫,3)檢測任何與POWER直接相連但尚未使用的引腳。

* 包含全部合法符號庫路徑和名稱的legal_lib_path_name文件可以隨意創(chuàng)建,這一點非常重要。例如,一個常見的嚴重錯誤是使用未授權程序庫中的符號。在PCB設計階段,根據(jù)測試需要,通常要求創(chuàng)建臨時器件符號并保存在本地符號庫目錄中。最終用到的器件符號來源于此并將保存在聯(lián)合或全局的程序庫目錄中,這些符號具有一些不同于本地器件符號的重要特征。設計人員通常會因為沒有采用共同符號取代本地符號而引入設計錯誤。

legal_lib_path_name可選,因為對于大多數(shù)電路圖工具,程序庫信息包含在啟動工具所需的初始化文件中。對于ViewDraw工具,該文件稱為viewdraw.ini,當工具啟動時,該文件就自動創(chuàng)建(利用腳本程序):目錄 [r] /corp_lib/pcb/symbol_libraries/viewdraw/fct (fct)。

Fct(快速CMOS技術)是ViewDraw眾多子庫中的一個,也是fct器件各符號的來源。如果初始化文件存在,那么DRC不僅可以而且也應當直接讀取該文件,因為設計人員可以及時地添加新程序庫。

* 可以創(chuàng)建包含合法上拉電阻的legal_pullup_res文件以檢測那些被終止以及未被使用的輸入引腳。通常,可以限定一組設計人員能使用的電阻,當然電阻值本身也是一個重要因素。如果上拉了未使用的輸入引腳,那么該電阻的阻值將為5K或更高。

* 可以創(chuàng)建包含合法下拉電阻的legal_pulldown_res文件以檢測那些被終止以及未被使用的輸入引腳。如果下拉了未使用的輸入引腳,那么阻值將會很小以阻止任何電流泄漏,從而使引腳電壓高于觸發(fā)閥值。

* 可以創(chuàng)建包含合法去耦電容的legal_decoup_cap文件,而且公司還可要求設計人員只使用特定的合格器件以滿足電源線dv/dt要求。

* 可以創(chuàng)建一個包含器件符號全部屬性的legal_comp_attr文件,如PART_NO、GEOM、REFDES和SIM_CLASS。BOAM創(chuàng)建工具、Verilog網(wǎng)表分析器及其它工具都能使用這些屬性。

* 可以創(chuàng)建一個包含器件符號全部引腳屬性的legal_pin_attr文件,如PIN_NAME、PINTYPE和PIN_NO。

設計目錄結構

運行DRC必須滿足的第二個條件就是需要可被所有PCB設計共享的單獨設計目錄結構。沒有該目錄結構,DRC將難以確定如何找到電路圖數(shù)據(jù)庫并存儲輸出文件。該架構可以極復雜的分層架構支持全部PCB設計業(yè)務,如設計規(guī)則檢查、BOM創(chuàng)建、Verilog仿真、靜態(tài)時序分析、信號完整性分析、布線、PAL/FPGA設計(綜合與仿真)及文檔控制。但對于DRC本身,如果采用了ViewDraw,那么下述條件就完全充分:

圖1:目錄結構。

pcb_info應最少包含兩個文件:design_def和design_type。design_def應包含PCB器件(組合)數(shù)目及其它所需信息,這不僅僅對于DRC,對于其它所有工具也同樣如此。design_type應當包含設計類型信息,即PCB信息。如果其它類型的設計(如ASIC或FPGA)可以共享該設計目錄結構,那么design_type將指定該目錄,這樣設計自動化工具將能根據(jù)不同的設計類型進行適當?shù)牟僮?。如果沒有pcb_info目錄或該目錄內容為空,這就意味著設計目錄并非標準設計目錄。在這種情況下,DRC應當退出并發(fā)送出錯信息。

Schem目錄包含電路圖數(shù)據(jù)庫并可由DRC使用的ViewBase直接存取。sch子目錄包含了在圖表上描述符號位置的電路圖文件及其它信息,wir子目錄則包含設計網(wǎng)表分析及全部符號屬性。ViewBase例程可直接存取這些內容。drc目錄應存儲DRC輸出文件。


上一頁 1 2 3 4 下一頁

關鍵詞: PCB 編寫

評論


相關推薦

技術專區(qū)

關閉