摘要:本文介绍了一种 PCB 设计复用方法,它是基于 Mentor Graphics 的印制电路板设计工具 Board Station 进行的。一个设计可以复用另一个设计的部分或全部电路,也可以对自身的部分电路进行复用,本文以第一种方式为例进行讨论,第二种方式与它相似。
引言
随着科技的不断发展,PCB 板趋向小型化、多层化与复杂化。特别是高速印制板,需要经过很长时间的反复调试才可以定型。如果已有一个定型的设计(A),现需要一个部分电路与其相同或相似的设计(B),
传统设计流程如下:
图 1:传统设计流程图
由此流程图可以看出,设计 B采用设计 A的思想,人工重复了设计 A 的设计过程。
实现方法
Board Station 作为一个大型的 EDA 软件,不仅应用范围广、功能强,而且所有设计文件都以 ASCII
码格式保存,允许用户修改设计数据,PCB 设计的复用提供了基础。
打开一个 PCB 设计,其主要文件结构如下:
图 2:Board Station 软件主要文件结构
Schematic 路径下为原理图数据文件;Design_geom 路径下为物理器件(Geometry)数据文件;Pcb路径下为印制板数据文件,其中 comps 为元器件(Component)数据文件,包括器件标号(Reference)、逻辑符号(Symbol)、对应物理器件(Geometry)、在印制板上的位置(Board_location)以及特性(Properties)等信息;Nets 为网表数据文件;traces 为印制板连线数据文件,包括网表名称(NET)、
连线宽度、所在物理层,起始及终止点坐标等信息。一个设计下的文件远不至于此,但其它文件均可由 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 设计中的一点技巧,希望能为系统级、门级等设计的复用以及仿真复用提供参考。