如何設計PCB規則檢查器DRC?

本文簡要介紹了一種編程方法 PCB 設計規則檢查器 (DRC) 系統。 一旦使用電路圖生成工具獲得 PCB 設計,就可以運行 DRC 以查找任何違反 PCB 設計規則的故障。 這必須在後續處理開始之前完成,並且電路生成器的開發人員必須提供大多數 PCB 設計人員可以輕鬆掌握的 DRC 工具。

印刷電路板

編寫自己的 PCB 設計規則檢查器有很多優點。 PCB設計檢查器雖然沒有那麼簡單,但也並非不可管理,因為任何熟悉現有編程或腳本語言的PCB設計人員都可以做到,而且好處是不可估量的。

然而,市售的通用工具通常不夠靈活,無法滿足特定的 PCB 設計需求。 因此,客戶必須向 DRC 工具開發人員報告新功能需求,這通常需要金錢和時間,尤其是在需求不斷更新的情況下。 幸運的是,大多數工具開發人員可以為他們的客戶提供一種簡單的方法來編寫他們自己的 DRC 以滿足他們的特定需求。 然而,這個強大的工具並沒有得到廣泛的認可或使用。 本文為充分利用 DRC 工具提供了實用指南。

由於 DRC 必須遍歷 PCB 來設計整個電路圖,包括每個符號、每個引腳、每個網絡、每個屬性,並在必要時創建無限數量的“附件”文件。 如第 4.0 節所述,DRC 可以標記與 PCB 設計規則的任何微小偏差。 例如,附件之一可能包含 PCB 設計中使用的所有去耦電容器。 如果電容值低於或高於預期,則會在可能發生電源線 DV/DT 問題的地方放置紅色標記。 這些輔助文件可能是必要的,但它們不一定是由任何商業 DRC 工具創建的。

如何設計 PCB 規則檢查器 DRC

DRC 的另一個優點是可以輕鬆更新以適應新的 PCB 設計功能,例如可能影響 PCB 設計規則的功能。 此外,一旦您在該領域獲得足夠的經驗,您就可以實施許多其他功能。

例如,如果您可以編寫自己的 DRC,您就可以編寫自己的 BOM 創建工具,以更好地解決特定用戶的需求,例如如何為非本身是電路圖數據庫的一部分。 或者PCB設計人員可以在PCB設計環境中以足夠的靈活性編寫自己的Verilog網表分析器,例如如何獲取適合特定設備的Verilog模型或時間文件。 事實上,由於DRC 遍歷整個PCB 設計電路圖,因此可以收集所有有效信息以輸出PCB 設計Verilog 網表分析所需的仿真和/或BOM。

在不提供任何程序代碼的情況下討論這些主題會有些牽強,因此我們將使用電路圖檢索工具作為示例。 本文使用 Mentor Graphics 公司開發的 ViewDraw 工具附屬於 PADS-Designer 產品線。 此外,我們使用了 ViewBase 工具,它是一個簡化的 C 例程庫,可以調用它來訪問 ViewDraw 數據庫。 借助 ViewBase 工具,PCB 設計人員可以輕鬆地在 C/C 中為 ViewDraw 編寫完整高效的 DRC 工具。 需要注意的是,這裡討論的基本原則適用於任何其他 PCB 原理圖工具。

輸入文件

除了電路圖數據庫,DRC 還需要可以描述特定情況的輸入文件,例如自動連接到電源平面的合法電源網絡的名稱。 例如,如果POWER網絡稱為POWER,則POWER平面通過後端封裝設備(適用於ViewDrawpcbfwd)自動連接到POWER平面。 以下是必須放置在固定全局位置的輸入文件列表,以便DRC 可以自動查找和讀取,然後在運行時將這些信息內部保存到DRC。

有些符號必須有外部電源線引腳,因為它們沒有連接到常規電源線層。 例如,ECL 器件的 VCC 引腳要么連接到 VCC,要么連接到 GROUND; 它的 VEE 引腳可以連接到 GROUND 或 -5.0V 平面。 另外,電源線管腳還可以在到達電源線層之前先接上濾波器。

電源線引腳通常不連接到設備符號。 相反,符號的屬性(此處稱為 SIGNAL)描述了哪個引腳是電源或接地引腳,並描述了該引腳應連接到的網絡名稱。

信號 = VCC:10

信號 = 地面:20

DRC 可以讀取此屬性並確保網絡名稱存儲在 legal_pwr_net_name 文件中。 如果legal_pwr_net_name中不包含網絡名稱,則電源引腳將無法連接到電源平面,這是一個嚴重的問題。

文件 legal_pwr_net_name 可選。 該文件包含 POWER 信號的所有合法網絡名稱,如 VCC、V3_3P 和 VDD。 在 PCB 佈局/佈線工具中,名稱需要區分大小寫。 通常,VCC 與 VCC 或 VCC 不同。 VCC可以是5.0V供電,V3_3P可以是3.3V供電。

文件legal_pwr_net_name 是可選的,因為後端封裝設備配置文件通常必須包含一組有效的電力電纜網絡名稱。 如果使用 CadencePCB 設計 Systems 的 Allegro 佈線工具,則 PCBFWD 文件名為 Allegro.cfg,並具有以下入口參數:

地: VSS CGND GND 地

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

如果 DRC 可以直接讀取 allegro.cfg 文件而不是 legal_pwr_net_name,它會得到更好的結果(即引入錯誤的機會更少)。