色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時間:2010-12-23 來源:網絡 收藏

          DRC開發(fā):drc_net()函數(shù)

          drc_net()在設計中遍歷所有網路并檢測任何違反設計規(guī)則的故障,然后創(chuàng)建附屬的輸出文件。實現(xiàn)上述功能的基本代碼如下:

          [列表4]

          這里,iggrpnet()和ignetnxt()函數(shù)是在設計中檢查每個網路的ViewBase 例程。ignetnam()函數(shù)也是檢查網路名稱的ViewBase例程。ViewBase中的數(shù)據(jù)類型包括NETS、PINS、COMPONENTS、SYMBOLS和ATTRIBUTES。drc_net()函數(shù)可檢測下述違反設計規(guī)則的錯誤:

          * 非法網路名。如果網路名由ViewDraw自動分配,那么將具有如下格式:$#...#N#...#,第一個#...#表示圖表編號,第二個#...#則表示網路號。設計人員指定的網路名必須以字母開頭,其后的字符數(shù)不多于30。

          drc_net()函數(shù)應調用legal_net_name()函數(shù)執(zhí)行該任務。在UNIX系統(tǒng)中,利用包含在DRC程序中的regexp.h頭文件可以極大地簡化采用C語言的常規(guī)表達式匹配/校驗程序。drc_net()應將網路名稱變量和違反設計規(guī)則的文件指針存儲在legal_net_name()函數(shù)中,該函數(shù)具有如下形式:

          [列表5]

          后端封裝工具pcbfwd也可檢測非法網路名,但其功能受限于簡單的常規(guī)表達式。上述代碼可處理任何常規(guī)表達式,同樣地,如何在運行pcbfwd工具之前或之后找到非法網路名稱也需要權衡。對于簡單的網路名稱,可以使用pcbfwd。

          * 網路上的總線競爭也是嚴重問題。總線競爭有兩類:一類是圖騰柱輸出間的總線競爭,而另一類則是圖騰柱與三態(tài)輸出間的總線競爭?;敬a實現(xiàn)如下所示:

          [列表6]

          這里,ignetpin()和igpinnnx()函數(shù)是在網路上檢查每個引腳的ViewBase例程。igpinown()例程返回引腳實例(系主)指針。函數(shù)get_inst_attr()、get_pin_attr() 和get_sheet_num()則返回請求實例屬性(參考標志符REFDES)、引腳屬性(PINTYPE)及引腳實例所在的圖表編號。get_pin_attr()函數(shù)的基本代碼如下:

          [列表7]

          get_inst_attr()函數(shù)的基本代碼如下:

          [列表8]

          get_sheet_num()函數(shù)的基本代碼如下:

          [列表9]

          * POWER和GROUND網路中的非法名稱。這些名稱將與存儲在內部數(shù)據(jù)結構中的信息(如鏈接列表)進行比較。


          * 報告那些具有負載但不具有驅動程序或者具有驅動程序但不具有負載的網路。這可以通過標注網路上每個引腳的類型加以實現(xiàn)。網路應當帶有1個輸出引腳或多個三態(tài)輸出引腳及最少一個輸入引腳,此外還可提供與網路全部器件和引腳相關的參考標志符和符號。


          * 報告那些不帶上拉電阻或所帶上拉電阻未連接到POWER的所有集電極開路輸出。


          * 一旦網路的負載超過常規(guī)數(shù)目(良好的信號完整性條件下限額為8),那么將打印警告信息。

          DRC開發(fā):drc_inst()函數(shù)

          drc_inst()函數(shù)與drc_net()函數(shù)類似,不同的是,前者遍歷了全部電路圖表及PCB設計中電路圖表上的所有實例,從而檢測違反規(guī)則的設計缺陷或創(chuàng)建附屬的輸出文件。其代碼實現(xiàn)如下:

          [列表10]

          上面關于drc_net()函數(shù)的討論提供了充分的C和ViewBase代碼示例,這里就不在贅述。下面給出了drc_inst()函數(shù)可檢測的部分違反規(guī)則的設計缺陷:

          * 非法或遺漏的符號庫混淆。PCB設計中的所有符號必須來自共同符號庫,使用來自錯誤符號庫的符號是一個極為常見的錯誤,尤其是對于那些只依賴于符號進行設計的后端處理工具。


          * 遺失符號和/或引腳屬性,例如那些描述器件幾何結構和引腳類型(in、out、bi和tri)的特性。


          * 非法的符號和/或引腳屬性。例如,引腳類型可具有IN值,但不包括INPUT值。這將對后端封裝工具(如pcbfwd)如何為布線工具(如Allegro)提供信息產生影響。


          * 符號上的參考標志符值,尤其是對于串行器件(如電阻、電容和電感)。大多數(shù)信號完整性工具需要這些器件以字母R、C和L開頭,因此可將這些器件作為串聯(lián)元件而非離散器件進行分析。類似地,drc_inst()函數(shù)可將其值同描述的屬性進行對比以保證兩者完全匹配。



          關鍵詞: PCB 編寫

          評論


          相關推薦

          技術專區(qū)

          關閉