本文描述了一種編寫 PCB設計 rule checker (DRC) system. 在獲得 PCB設計 使用電路圖生成工具, 您可以運行DRC來查找任何違反設計規則的故障. 這些操作必須在開始後續處理之前完成, 而開發電路圖生成工具的開發人員必須提供大多數設計人員可以輕鬆掌握的DRC工具.
自己寫 PCB設計 規則檢查器有許多優點. 雖然設計檢查器沒有那麼簡單, 這不是不可能的, 因為任何熟悉現有程式設計或指令碼語言的設計師都可以完全設計檢查器. 這項工作的優點是不可估量的.
然而, 市場上銷售的通用工具通常沒有足够的靈活性來滿足特定的設計需求. 因此, 客戶必須向DRC工具開發人員反映新的功能要求, 這通常需要一定的金錢和時間, 尤其是當需求不斷更新時. 幸運地, 大多數工具開發人員可以為客戶提供一種方便的管道來編寫自己的DRC,以滿足特定需求. 然而, 這一强大的工具尚未得到廣泛認可或使用. 本文為使用DRC工具獲得最大利益提供了實用指南.
由於DRC必須遍歷 PCB設計, 包括每個符號, 每個針腳, 每個網絡, 和每個内容, 如有必要,可以創建無限數量的“附加”檔案. 如第4節所述.0, DRC可以指出任何違反設計規則的微小偏差. 例如, 所附檔案之一可能包含設計中使用的所有去耦電容器. 如果電容器數量低於或高於預期值, 將在電源線dv的位置標記紅色標記/dt problem may occur [1]. 這些輔助檔案可能是必要的, 但並非任何商業DRC工具都能創建這些檔案.
Another advantage of DRC is that it is easy to update to meet the needs of new design features (such as those that may affect the design rules). 此外, 一旦你在這個領域獲得了足够的經驗, 可以實現許多其他功能.
例如, 如果你能寫自己的DRC, you can write your own bill of 材料 (BOM) creation tool, 以便更好地處理特定的用戶需求, such as how to obtain the "extra hardware" of devices that are not part of the circuit diagram database (such as Socket, heat sink or screwdriver). 或者設計者可以編寫自己的Verilog網表分析器, 在設計環境中具有足够的靈活性, 例如如何獲得適合特定設備的Verilog模型或時間檔案. 事實上, 由於DRC貫穿整個設計電路圖, 可以收集所有有效資訊以輸出類比和/或Verilog網表分析所需的BOM PCB設計.
不提供任何程式碼就討論這些主題有點牽強. 因此, 我們將以電路圖採集工具為例. 本文使用由Mentor Graphics開發的ViewDraw工具, 連接到PADS Designer產品線. 此外, 我們還採用了ViewBase工具, 這是一個簡化的C常式庫,可以在ViewDraw資料庫上調用、訪問和操作. 使用ViewBase工具, 設計者可以很容易地使用C/C language to write a complete and efficient DRC tool for ViewDraw[2][3]. 應該注意的是,這裡討論的基本原則同樣適用於任何其他原則 PCB電路 圖表工具.
Input file
此外 to the circuit diagram database, DRC還需要一些可以描述特定情况的輸入檔案, 例如,自動連接到具有合法電網名稱的電源平面. 例如, 如果電網命名為power, then the power plane will be automatically connected to the power plane using a back-end packaging device (if applicable to ViewDrawpcbfwd). 以下是輸入檔案清單, 這些檔案必須放置在固定的全域位置, 這樣DRC可以自動查找和讀取, 然後在運行時將資訊保存在DRC中.
*The file legal_pwr_net_name is optional. 該檔案包含電源訊號的所有合法網絡名稱, 例如VCC, V3_3P和VDD. 在 PCB佈局/佈線工具, 需要區分名稱的大小寫. 通常地, VCC與VCC或VCC不同. VCC可以是5.0V電源, V3\u 3P可以是3.3V電源. *The file legal_pwr_net_name is optional, 因為後端打包設備設定檔通常必須包含一組合法的電源線網絡名稱. 如果您使用Cadence Design Systems的Allegro佈線工具, PCBfwd檔名為allegro.cfg and has the following entry parameters:
Grounding: VSS CGND GND GROUND
Power supply: VCC VDD VEE V3_3P V2_5P 5V 12V
If DRC can directly read the allegro.cfg檔案而不是legal\u pwr\u net\u名稱, then better results will be obtained (that is, the probability of introducing errors is smaller).
某些符號必須具有外部電源線插腳,因為這些符號未連接到常規電源線層. 例如, ECL設備的VCC引脚連接到VCC或接地; 其V形銷可以接地或-5.0V平面. In addition, 電源線引脚也可以在到達電源線層之前連接到濾波器.
電源線引脚通常不連接到設備符號. 相反地, an attribute of the symbol (here called SIGNAL) describes which pin is the power pin or the ground pin and describes the network name that the pin should be connected to.
SIGNAL=VCC: 10
SIGNAL=GROUND: 20
DRC can read this attribute and ensure that the network name is saved in the legal_pwr_net_name file. 如果legal\u pwr\u net\u名稱不包含網絡名稱, 電源引脚將不會連接到電源板, 這個問題確實非常嚴重.
訪問:瞭解更多關於 PCB設計