本文介紹了一種PCB設計復用方法,它是基于Mentor Graphics的印制電路板設計工具Board Station進行的。一個設計可以復用另一個設計的部分或全部電路,也可以對自身的部分電路進行復用,本文以第一種方式為例進行討論,第二種方式與它相似。 引言 隨著科技的不斷發展,PCB板趨向小型化、多層化與復雜化。特別是高速印制板,需要經過很長時間的反復調試才可以定型。如果已有一個定型的設計(A),現需要一個部分電路與其相同或相似的設計(B),傳統設計流程如下: 圖1:傳統設計流程圖 由此流程圖可以看出,設計B采用設計A的思想,人工重復了設計A的設計過程。 實現方法 Board Station作為一個大型的EDA軟件,不僅應用范圍廣、功能強,而且所有設計文件都以ASCII碼格式保存,允許用戶修改設計數據,PCB設計的復用提供了基礎。 打開一個PCB設計,其主要文件結構如下: Schematic路徑下為原理圖數據文件;Design_geom路徑下為物理器件(Geometry)數據文件;Pcb路徑下為印制板數據文件,其中comps為元器件(Component)數據文件,包括器件標號(Reference)、邏輯符號(Symbol)、對應物理器件(Geometry)、在印制板上的位置(Board_location)以及特性(Properties)等信息;Nets為網表數據文件;traces為印制板連線數據文件,包括網表名稱(NET)、連線寬度、所在物理層,起始及終止點坐標等信息。一個設計下的文件遠不至于此,但其它文件均可由Board Station自動生成或者派生。 圖2:Board Station軟件主要文件結構 Board Station包括Design Architect、Librarian、Package、Layout、Fablink五個模塊。假設設計A是現在正在進行的設計,設計B為需要復用的設計。首先,在Design Architect模塊打開設計A ,將設計B被復用部分的原理圖拷貝到設計A;然后,將設計B被復用部分的物理器件(Geometry),從設計B的Design_geom路徑下拷貝到設計A的Design_geom路徑下;第三步,將設計B被復用部分的元器件(Component)數 據從設計B 的comps文件拷貝到設計A的comps文件中;第四步,參考設計B Nets文件中被復用部分的網表(NET)數據,修改設計A的Nets文件中的相應部分;最后,將設計B的traces文件拷貝到設計A的pcb路徑下,實現PCB設計復用。 應用舉例 以下以設計A為正在進行的設計,設計B為被復用的設計,舉例說明PCB設計復用的實現方法。 圖3:設計B的印制板圖及原理圖 圖4:設計A的原理圖 按照以下步驟執行: 1. 在Design Architect模塊照圖4畫設計A的原理圖,存儲。 2. 進入設計A的Librarian模塊,建立物理器件(Geometry)以及映射文件(mapping file)等。 若圖4中的器件U1、U2、R1、R2、R3、R4中任何一個對應的物理器件(Geometry)與圖3中相應器件的物理器件(Geometry)不同,將設計B的Design_geom路徑下相應的物理器件(Geometry)拷貝到設計A的Design_geom路徑下。即器件U1、U2、R1、R2、R3、R4在設計A和設計B中的物理器件(Geometry)必須相同。 為了保證圖4中的器件U1、U2、R1、R2、R3、R4所對應的物理器件(Geometry)在設計A和設計B的印制板上位置相同,將設計B的印制板Geometry(Board)由設計B的Design_geom路徑下拷貝到設計A的Design_geom路徑下,然后在Librarian模塊對其進行修改。完成所有功能后,存儲并退出。 3. 進入設計A的Package模塊,建立邏輯符號(Symbol)與物理器件(Geometry)的對應關系,完成所有功能后,存儲并退出。 4. 修改設計A的comps文件。 在Board Station軟件的任何一個模塊中,采用下拉菜單MGC-->Notepad-->Open-->Edit... 打開設計B的comps文件,將與器件U1、U2、R1、R2、R3、R4有關行選中并復制(Copy)。 打開設計A的comps文件,將與器件U1、U2、R1、R2、R3、R4有關行選中并刪除(Delete),然后粘貼(Paste)。 即器件U1、U2、R1、R2、R3、R4在設計A和設計B的comps文件中的內容必須相同。 5. 修改設計A的Nets文件。 # BOARD STATION NETS FILE FORMAT 1.0 # Application : PACKAGE v8.6_4.1 Thu May 20 11:26:46 PDT 1999 # date : Saturday October 14, 2000; 04:30:40 # NET '/N$2' U3-4 U7-2 NET '/N$3' U3-5 U6-2 NET '/N$4' U3-1 U8-1 U4-2 NET '/N$7' U2-14 U3-7 NET '/N$8' U2-13 U3-6 NET '/N$9' U2-18 U3-9 NET '/N$10' U2-17 U3-8 NET '/N$29' R1-2 U2-3 NET '/N$30' R2-2 U2-4 NET '/N$40' R3-2 U2-7 NET '/N$41' U2-8 R4-2 NET '/N$45' U1-14 U3-11 NET '/N$46' U1-13 U3-13 NET '/N$47' R1-1 U1-18 NET '/N$48' R2-1 U1-17 NET '/N$49' R3-1 U1-16 NET '/N$50' U1-15 R4-1 NET 'GROUND' U5-2 U3-10 U7-1 U8-2 U6-1 U1-10 U2-10 NET 'VCC' U5-1 U3-20 U4-1 U1-20 U2-20 (表1:設計A的Nets文件) # BOARD STATION NETS FILE FORMAT 1.0 # Application : PACKAGE v8.6_4.1 Thu May 20 11:26:46 PDT 1999 # date : Monday November 20, 2000; 12:52:50 # NET '/N$9' R1-1 U1-18 NET '/N$23' R3-2 U2-7 NET '/N$25' R5-2 U2-13 NET '/N$27' R7-2 U2-17 NET '/N$230' R2-2 U2-4 NET '/N$231' R4-2 U2-8 NET '/N$232' R6-2 U2-14 NET '/N$233' R8-2 U2-18 NET '/N$234' R1-2 U2-3 NET '/N$235' R2-1 U1-17 NET '/N$236' R3-1 U1-16 NET '/N$237' R4-1 U1-15 NET '/N$238' R5-1 U1-14 NET '/N$239' R6-1 U1-13 NET '/N$240' R7-1 U1-12 NET '/N$241' R8-1 U1-11 NET 'GROUND' U1-10 U2-10 NET 'VCC' U1-20 U2-20 (表2:設計B的Nets文件) 在Board Station軟件的任何一個模塊中,采用下拉菜單MGC-->Notepad-->Open-->Edit... 參考表2修改表1,即將設計A的Nets文件與設計B的Nets文件中連結相同管腳的NET名稱改為相同,例如:在設計B的Nets文件中第一行為NET '/N$9' R1-1 U1-18,則將設計A的Nets文件中的相應行NET '/N$47' R1-1 U1-18,改為NET '/N$9' R1-1 U1-18。 若設計A的Nets文件中修改后的NET名稱與原有的NET名稱相同,修改原有的NET名稱。 # BOARD STATION NETS FILE FORMAT 1.0 # Application : PACKAGE v8.6_4.1 Thu May 20 11:26:46 PDT 1999 # date : Saturday October 14, 2000; 04:30:40 # NET '/N$2' U3-4 U7-2 NET '/N$3' U3-5 U6-2 NET '/N$4' U3-1 U8-1 U4-2 NET '/N$7' U2-14 U3-7 NET '/N$8' U2-13 U3-6 NET '/N$99' U2-18 U3-9 NET '/N$10' U2-17 U3-8 NET '/N$234' R1-2 U2-3 NET '/N$230' R2-2 U2-4 NET '/N$23' R3-2 U2-7 NET '/N$231' U2-8 R4-2 NET '/N$45' U1-14 U3-11 NET '/N$46' U1-13 U3-13 NET '/N$9' R1-1 U1-18 NET '/N$235' R2-1 U1-17 NET '/N$236' R3-1 U1-16 NET '/N$237' U1-15 R4-1 NET 'GROUND' U5-2 U3-10 U7-1 U8-2 U6-1 U1-10 U2-10 NET 'VCC' U5-1 U3-20 U4-1 U1-20 U2-20 (表3:修改后的設計A的Nets文件) 6. 拷貝設計B的traces文件到設計A。 打開下拉菜單MGC-->Design Management-->Copy Object... 在Options...選項中選擇: * Update All References * Overwrite All File Conflicts * Create Destination 這樣,就將設計B中印制板上的所有與設計A相關的連線拷貝到了設計A的印制板上。 7. 進入設計A的Layout模塊,不需要進行任何操作,即出現圖5所示界面。 圖5:設計B被復用部分印制板圖 至此,完成設計B到設計A的PCB 設計復用。 結束語 Board Station軟件作為一個大型EDA軟件,不僅可以進行板級設計,也可進行系統級、門級的設計以及原理圖仿真、板級仿真等。本文僅討論了在PCB設計中的一點技巧,希望能為系統級、門級等設計的復用以及仿真復用提供參考。 |