两种EDA设计数据共性剖析与转换
扫描二维码
随时随地手机看文章
电子设计自动化(EDA)设计软件的不断升级与创新,给从事电子电路设计行业的人们带来了很多的方便与快捷 然而,按照当前电子产品组装生产的传统模式,每一个设计在加工制造之前的试生产过程,仍然需要消耗大量的生产准备时间,甚至浪费昂贵的电子元器件.生产模式的落后与设计工具的快速发展并不协调.
PCB元件组装模拟仿真的可制造性分析在我国乃至国际上还属于起步阶段,且用来设计 PCB版图的ED人设计工具日趋繁多,加之异构软件之间所具有的相对独立性和封闭性,造成了同一领域无法进行合作的尴尬,目前还没有可以实现将异构的EDA设计文件作为驱动的PCB元件组装模拟仿真系统.异构的设计文件是PCB元件组装模拟仿真系统实现其兼容性与普遍性的最大障碍,本文通过对比分析异构的Portel设计文件和 PowerPCB设计文件,发现在异构的存储结构下,实际隐藏着的是由EDA所决定的参数共性 ,不同的只是它们的描述方法。
1 Protel参数分析
Protel设计文件的描述信息保存于*.pcb文件中,主要参数分为两大类:一类用来描述元器件的物理参数,如封装(Geometyr)、型号(Reference)、标号(Symbol),CT,CA,CP等,保存于COMP与 ENDCOMP之间;另一类用来描述 PCB基板的物理参数,如 FT,FA,FP等.其中 CT,FT为线段息,CA,FA为圆弧信息,CP,FP为焊盘信息。
1.1 分析方法
对 Protel设计文件采用逐位变换对比法进行分析,即线性变换关键字(如:CT,FP等)下各位数值 保存后在Protel设计环境中再次打开设计文件。通过对比各数值变换前后的物理特性,判断出各位数值所代表的物理意义.
1.2 分析结果
(1)线段.CT用来描述器件的线段,FT用来描述 PCB基板的线段,例如:
CT(FT)
003976000690100039760006976000100001700000100
其中,主要物理参数为第三位到第八位.第三位和第四位为线段起始点的坐标,第五位和第六位为线段终点的坐标,第七位为线段的宽度,第八位为线段所在的层.
(2)圆弧.CA用来描述器件的圆弧,FA用来描述 PCB基板的国弧.例如:
CA(FA)
00202600075260005000023020623042610000170001
主要物理参数为第三位到第九位.其中第三位、第四位为圆弧圆心坐标;第五位为圆弧半径;第六位为圆弧起始角度;第七位为(N1弧终止角度;第八位为圆弧线段宽度 ;第九位为圆弧所在层.
(3)焊盘.CP用来描述器件的焊盘,FP用来描述 PCB基板的焊盘.例如:
CP(FP)
00317600068760006000060000160000600001600006000013700003495090
000200001000010000100004111111111
其中,第三位、第四位为焊盘中心点的坐标;第五位、第六位为顶层焊盘在X方向和Y方向上的偏移;第七位为顶层焊盘形状代码;第八位、第九位为中间层焊盘在 X方向和Y方向上的偏移;第十位为中间层焊盘的形状代码;第十一位、第十二位为底层焊盘在 X方向和Y方向上的偏移;第十三位为底层焊盘形状的代码;第十九位为焊盘旋转的角度;最后一位为焊盘的下标.
(4)其他,元器件的封装、型号、以及标号在 COMP与 ENDCOMP描述段的开始部分便可读取。
2 PowerPCB参数分析
2.1 分析方法
与Portel不同,PowerPCB设计文件在每个说明标志符下都有若干行以,REMARK*为标志的说明信息 ,用来说明不同位数所描述的具体信息.
2.2 分析结果
(1)*LINES*.PowerPCB设计文件中的*LINES.主要描述了基板轮廓线、二维线型参数以及铜泊的填充信息等.每一截的线型描述都由两位数字或 8位数字组成.其中,两位数字描述了基板上线段的点信息,由两个紧相连的点可以完成一条线段的读取;8位数字描述的是基板上的圆弧信息.
(2)*TEXT*.*TEXT*描述了PCB基板上的所有字符信息.
(3)*PART*.*PART*部分主要包含了有关器件的型号与标号信息,且根据该部分提供的型号,可以判定,其中所给出的坐标信息以及旋转角度,就是器件在设计文件中具体的坐标信息与旋转角度.
(4)*PARTTYPE*."PARTTYPE*部分主要提供了器件的封装与型号对.根据*PART*中所提取的(型号,标号)对,就可以按照标号,在 .PARTTYPE.下查找并保存器件所对应的封装名称.
(5)*PARTDECAL*二 PARTDECAL.部分主要描述了电子器件的物理形状,它由线段信息字符信息以及焊盘信息组成.*PARTDECAL*中首先给出的是所有的线段信息,这部分参数的提取与 *LINES*中参数的描述相同,所不同的是 *LINES*中描述的是 PCB基板上的线段信息,而 *PARTDECAL*描述的是元器件上的线段信息.
焊盘坐标信息以"T"为标志符,其后两位数值为该焊盘中心坐标.对于所有焊盘,他们的物理结构不一定完全相同,这取决于每个 PAD描述块第一行的第二位参数.若第二位参数为 0,且只有一个 PAD描述块 ,那么表示所有焊盘的物理参数都由该 PAD描述块给出;若第二位除 了为 0的 PAD描述块,还有其他数值的PAD描述块存在,那么以这个数值为下标的焊盘,其物理参数就由该PAD描述块给出,器件其他焊盘的物理参数仍由第二位为0的 PAD描述块决定.
3 Protel与PowerPCB设计文件参数的共性
Protel设计文件与 PowerPCB设计文件中都包含了元器件与PCB基板的所有物理单元(如封装、型号、标号、线段、圆弧、焊盘等)的参数描述但参数的保存格式与属性却不尽相同。
在保存格式方面,Protel设计文件每个器件的所有物理参数描述都保存于标志符COMP和ENDCOMP之间.且其中每个物理单元都有关键字标识,如 CT,CP等.它的PCB基板参数紧踉器件描述之后,在对 Protel的设计文件分析的过程中,顺序分析即可.而PowerPCB设计文件则不同于Protel设计文件单一线形的组成格式,它的各模块之间是一个十分复杂但又有规律可寻的网状结构.例如,为了得到一个器件的所有物理参数,首先要在 *PART*下找到型号与标号的对应关系,以及器件的坐标与旋转角度;然后在 *PARTTYPE*下找到标号与封装的对应关系 ;最后在 *PARTDECAL*下找到这个封装名称,读取该封装的物理参数.这样才可以读取到这个器件的所有物理参数.
除了参数保存格式不同之外,同一个物理单元的参数属性也不相同,例如,在 Protel设计文件中描述圆弧的主要参数有圆弧的圆心坐标、圆弧所在圆的半径、圆弧的起始角度、圆弧的终止角度、圆弧线条的宽度、圆弧所在的层等.在PowerPCB设计文件中圆弧的描述使用了8位数据,假设它们分别是 XI,Yl,AB,AA,AXI,AY1,AX2和 AY2,其含义如图 1所示.
那么对照于Protel设计文件,[(AX1+AX2)/2,(AY1+AY2)/2〕表示国弧所在圆的圆心坐标,(AX2-AX2)/2表示圆弧的半径,AB表示圆弧的起始角度,AB+AA表示圆弧的终止角度.而圆弧线条的宽度,以及回弧所在的层,可以由PowerPCB中该圆弧所属的线型信息中直接获取.
4 异构EDA转换接口
Protel与PowerPCB设计文件可用统一的数据格式表示.根据这一结论,设计异构 EDA转换接口,它以不同结构的EDA设计文件作为驱动,将线段、圆弧、焊盘以及器件基本信息等主要参数进行提取,并转换成同一种格式的中间文件.其流程如图2所示.
中间文件包含了器件以及 PCB基板的所有非电气特性的参数,利用这些参数,就可以实现 PCB元件组装流程仿真 取代传统组装过程中试生产的关键步骤.
5 结论
异构 EDA数据共性参数的提取转换不仅是实现减少电子组装生产准备时间、提高产品的导人率的关键技术,更主要的意义是它填平了异构 EDA设计软件之间的鸿沟.常用的EDA设计软件有 Protel,PowerPCB,Mentor,OrCAD,VeriBest等,目前已经实现了对 Protel与 PowerPCB设计数据的转换 ,做到了存储格式上的统一,进而实现了对这两种类型的PCB设计文件及其工艺流程的模拟仿真,其他设计软件的数据格式仍需继续分析.