亞 東 技 術 學 院 * 作者為亞東技術學院電機工程系助理教授。 ** 作者為亞東技術學院電機工程系助理教授。 ***作者為亞東技術學院資訊管理系講師。
印刷電路板佈局之檔案結構分析與客製化設計
朱玉鳳
*秦平源
**葉乙璇
***摘要
現在的電子產業很競爭,產品若能及早上市,可 掌握市場的先機,IC 的工作頻率不斷的提高,高速 PCB 的設計越來越多,PCB 的設計都要考慮信號完 整性、電源完整性、電磁干擾/電磁相容與熱輻射等 問 題 , 電 路 板 佈 局 工 作 幾 乎 佔 整 個 設 計 週 期 的 80%[1],所以可從縮短電路板設計週期,來提升電子 產品的競爭力。 印刷電路板設計的流程中,除了擺置元件、設拉 線規範、佈線、檢查底片等工作外,在印刷電路板設 計的流程中,有許多浪費時間又容易出錯的工作,例 如檢核所用的元件,文字位置的調整,文字大小的調 整,檢查焊點等工作,這些工作讓佈線工程師覺得很 麻煩又耗時。 本研究主要分析印刷電路板佈局檔案結構,評估 客制化功能設計的可行性,設計客制化輔助工具,協 助佈局工程師。 關鍵詞:電路板佈局、資料結構、客制化功能前言
電子產品均朝向輕薄短小、降低成本及縮短工時 的設計趨勢。要輕薄短小則必須在更小的體積內容納 更多的零件,讓產品在市面上有較高的接受程度;由 於電路板的成本與其製作的層數有關,可降低走線層 數,降低電路板的製作成本;在競爭的電子產業中, 產品若能及早上市,便可以掌握市場的先機;因為 IC 的工作頻率不斷的提高,高速 PCB 的設計越來越多, 高速產品的設計都要考慮信號完整性、電源完整性、 電磁干擾/電磁相容與熱輻射等問題,在 PCB 的設計 環節中,由於有許多的檢查工作都是由電路板佈局工 程師以手工的方式在電腦上一一完成,非常費時又容 易出錯,實有必要開發輔具協助檢查工作,將錯誤降 到零,並且可以縮短電路板設計工時,讓產品及早上 市,掌握市場的先機。 電路板設計的流程可分為前處理、中處理及後處 理三個部分[1]: 前處理:包含電路圖資料和機構設計資料整理、 局零件庫建立。 中處理:包含擺放零件、拉線及擺放測試點。 後處理:包含文字面處理、底片處理及報表處理。 其中以中處理為最重要的環節,在中處理的工作 中,在拉線工作之前,會盡量將電子工程師所要求的 拉線規範全部輸入到電路板中,讓系統自動檢查拉線 的規範,這些拉線規範包含走線寬度、安全距離及長 度控制等。 目前,在前處理的零件庫建立工作,產業界裡也 常發生錯誤,這是嚴重的過失;中處理的工作中,怕 走線長度不在規範內,造成傳播延遲不當,怕漏擺放 測試點;後處理的工作中,要調整的或檢查的工作很 多,處理起來耗時又容易出錯,佈局工程師希望有輔 具能幫忙這些麻煩又耗時的工作。與廠商檢視目前他們執行 PCB Layout 的處理流 程,我們清楚知道有許多工作步驟是很耗人力、花時 間且容易出錯的,例如元件的檢視工作、填寫走線長 度的工作、文字的檢視工作與底片的檢視工作等,是 可藉由開發設計工具軟體來解決這些非常繁瑣容易 出錯的工作,不但可以節省工時,又能提升設計品質。 本研究開發以下客制化功能: 文字的大小調整 文字位置置中 點選相同焊點 自動檢核沒有 Design Ref 的元件 各類元件統計
執行方式
本研究所設計客制化功能是為合作廠商 PCB Layout 部門量身訂製的,合作廠商提供相關專業資 料,為了清楚 PCB Layout 工程師工作需求,且要符 合工程師操作上的方便性,執行內容包含: 了解 Allegro Extension Language 語法。 測試 Allegro Layout 軟體之 AXL function,包含
Database Create Functions、Parameter Management Functions、Selection and find Functions、Interactive Edit Functions、Database Read Functions、PCB Editor Interface
Functions,以利 Database rules 、Database types 及 Attribute types 的了解,架構出所需資料結構。
撰寫 Allegro Extension Language 使用記錄。 客制化特定功能設計可行性評估。 訂定各客制化功能之人機介面。 軟體撰寫、除錯。 功能測試及修正。 本研究分三個階段執行,執行進度流程圖如圖 1 所示。 圖 1 執行進度流程圖
研究成果
研究在第一階段:透過 AXL function 獲得電路設 計的 Database 的資料,其 data types 有 bbox、integer、 float、string、t/nil、dbid、l_dbid、point、l_propid 及 l_fill 等,電路設計的 Database 屬階層式,每一個 Design 都有一 design dbid(第一階層),可以透過 AXL function:axlDBGetDesign()獲得,透過 design_db id->?? 命令即可以獲得該電路板設計的 Database 第二階層 內容,獲得 Database 第一階層與第二階層內容 SKILL Language 程式如附錄所示,Database 第一階層與第二 階層內容如圖 2 所示。 圖 2 Database 第一階層與第二階層內容 再 由 第 二 階 層 內 容 可 以 獲 得 第 三 階 層 內 容 (SKILL Language 程式如附錄所示),以此類推我們可以獲得電路設計的 Database 資料;因此,藉由電路設 計 Database 的資料來評估客制化功能的可行性,本論 文所設計之客制化功能成果分述如下:
(1) 文字的大小調整
主 要 利 用 axlSetFindFilter() 函 數 過 濾 出 Text Attributes 資料,指令為 axlSetFindFilter( ?enabled (list "noall" "invisible" "Text") ?onButtons (list "Text") ),該 電路板設計的 Text Attributes 包含:prop、bBox、 readOnly、objType、layer、xy、text、textBlock、rotation、 parent、mirrorType、isMirrored、justify、parentGroups。 操作對話窗如圖 3 所示,其中 Layer 部分是 Text 相關層面,有 REFDES/ASSEMBLY_TOP、 REFDES/ASSEMBLY_BOTTOM、 REFDES/SILKSCREEN_TOP、 REFDES/SILKSCREEN_BOTTOM REFDES/DISPLAY_TOP、 REFDES/DISPLAY_BOTTOM。 圖 3 文字的大小調整操作對話窗
操作步驟:選Layer → 選 TextBlock → 設定 Text Width、Text High、Text Spacing → [Update] ,執行 結果如圖 4 所示。 圖 4 文字的大小調整執行結果 (2) 文字位置置中 主 要 利 用 axlSetFindFilter() 函 數 過 濾 出 Text Attributes 資料,操作對話窗如圖 5 所示,其中 Layer 部分是 Text 相關層面與前述功能相同,操作步驟: 選Layer → 選 Justify → [Move] ,執行結果如圖六 所示。
圖 5 文字位置置中操作對話窗
圖 6 文字位置置中執行結果
(3) 點選相同焊點
主 要 利 用 axlSetFindFilter() 函 數 過 濾 出 pins Attributes 與 vias Attributes 資 料 , 指 令 為 axlSetFindFilter(?enabled list("noall" "pins" "vias") ? onButtons list("noall" "pins" "vias")),該電路板設計的 pins Attributes 包含:use、objType、bBox、net、branch、 isExploded、isMech、component、functionPins、prop、 readOnly 、 pads 、parentGroups 、 fixedByTestPoint 、 isThrough、name、testPoint、l xy、startEnd、rotation、 relxy 、 relRotation 、 parent 、 number 、 mirrorType 、 isMirrored、definition; vias Attributes 包含:prop、 bBox 、 readOnly 、 net 、 objType 、 pads 、 branch 、 fixedByTestPoint、isThrough、xy、testPoint、name、 startEnd、rotation、symbolEtch、parent、mirrorType、 isMirrored、definition、parentGroups。
操作對話窗如圖 7 所示,操作步驟:選 Padstack→ [OK] ,當點選 Padstack 時,該功能會自動統計該 Padstack 的個數,執行結果如圖 8 所示。 圖 7 點選相同焊點操作對話窗 圖 8 點選相同焊點執行結果 (4) 自動檢核 Design Ref 被刪除的元件 主 要 利 用 axlSetFindFilter() 函 數 過 濾 出 Components Attributes 資 料 , 指 令 為 axlSetFindFilter( ?enabled (list "noall" "invisible" "Components") ?onButtons (list "Components") ),該電 路板設計的 Components Attributes 包含:functions、 pins、prop 、readOnly、objType、package、 class、 deviceType、compdef、symbol name、parentGroups。
操作對話窗如圖 9 所示,操作步驟:輸入 Report filename → [OK] , 該 功 能 會 自 動 檢 核 所 有 Symbols,將 Design Reference 被 Delete 的 Symbol highlight 並 在 Report 載 明 該 Symbol 的 Design Reference 與位置,執行結果如圖 10 所示。
圖 9 檢核 Design Ref 被刪除的元件操作對話窗
圖 10(a) 檢核 Design Ref 被刪除的元件執行結果
圖 10(b) Design Ref 被刪除的元件 Report
(5) 各類元件統計
主 要 利 用 axlSetFindFilter() 函 數 過 濾 出 Text Attributes 資料,操作對話窗如圖 11 所示,操作步驟: 輸入Report filename → [OK] ,該功能會依元件 Type 自動統計所有 Components,若元件 Type 相同但 Value 不同也各別統計,並將結果載明在 Report,執行結果 如圖 12 所示。
圖 11 各類元件統計操作對話窗
圖 12(a) 以 Type 統計所有 Components 之 Report
圖 12(b) 統計 Type 相同 Value 不同所有 Components 之 Report 本論文所設計客制化功能可說是 Layout 工程師 經驗與智慧的結合產品,目前已許多 Layout 工程師 使用過,反應很實用且方便,以往要花很多工程師寶 貴時間來執行文字的大小調整、文字位置置中、自動 檢核 Design Ref 被刪除的元件、各類元件統計等工 作,目前所設計客制化功能讓工程師們輕鬆的完成這 些麻煩工作。利用本計劃的執行,可以厚植教師的實 務經驗,可將客制化功能開發的實務經驗,在未來開 設相關的實務課程,分享給學生。
結論與建議
在本研究推行過程中,一方面參與師生藉由投入 此產學研究,更清楚了解電子產品生產流程的實務經 驗,更可結合學校所教所學之專業知識,獲得專業系 統設計的實務經驗。另一方面,合作 Layout 工程師 目前運用本研究所設計客制化功能於工作上。確實讓 工程師輕鬆地完成文字的大小調整、文字位置置中、 自動檢核 Design Ref 被刪除的元件、各類元件統計等 工作,合作廠商甚為滿意,合作 Layout 工程師滿意 此次研究成果,不僅是對客制化功能滿意,也對參與 師生配合的態度感到滿意,合作 Layout 工程師滿意 的回應,可說是本研究最大的成果。 一般 Layout 專業軟體本身提供的功能都是最基 本的,對 Layout 工程師而言要縮短印刷電路板設計 的工時與減少錯誤,非得利用客制化輔具來協助,專 業軟體 Allegro PCB Editor 提供 Allegro Extension Language 及 AXL function 可以讓使用者依自己工作 需求發展客制化輔具,因 AXL function 可以獲得 Design Database,因此架構在 Design Database 之上相 關 PCB Layout 工作的輔具都可以被開發,甚至可以 發展 PCB EMC/EMI rule check 輔具。參考文獻
[1] 黃宏仁,《Allegro 15.X PCB Layout (I) 高速電路
板設計》,(台北:台科大圖書股份有限公司,
2004),頁 35-48。
[2] Skill Language User Guide, Product ,
(Cadence,2004)
[3] SKILL Language Reference,(Cadence,2004)
[4] Interprocess Communication SKILL Functions
Reference,(Cadence,2004)
[5] Allegro PCB Editor User Guide : SKILL
*
Department of Electric Engineering, Oriental Institute of Technology
**
Department of Informational Managenment, Oriental Institute of Technology
The analysis of the file structure and custom design
Yu-Feng Chu
*Ping-Yuan Chin
*Yeh-Yi Hsuan
**Abstract
For PCB Layout The market of electric industry is very competitive. The timing of a product entering the market dominates the profit significantly. Due to the increasing working speed, the designs of the PCB should take overall consideration on signal Integrity, power Integrity, EMI/EMC and heat radiation, etc. It takes about 80% of the design cycle to deal with the PCB layout problem. To promote the competition of an electrical product, the reduction of the PCB design cycle is a feasible solution.
In the design flow of a PCB, there are many jobs that needs much time except for placement, constrain setting, layout, checking gerber file etc. for instance , checking footprint, adjusting reference position, adjusting text size, checking the pads etc. these jobs are heavy for the layout engineers .
Hence, the project could analyze the structures of the board file. We could valuate the feasibility of the customized function depending on the structures. Farther , we could design the customized functions. This project will get the layout engineers some help to work.