一种基于图匹配的PCB封装文件检索方法技术

技术编号:21571377 阅读:39 留言:0更新日期:2019-07-10 15:22
本发明专利技术公开了一种基于图匹配的PCB封装文件检索方法,属于电子电路辅助设计领域,特别是电路设计自动化。通过用户上传PCB的封装焊盘图形图像文件,可以从现有的封装文件数据库中,帮助用户实现有效的封装文件查询。与现有技术相比,本发明专利技术不仅考虑元器件的焊盘外形,而且考虑焊盘的引脚编号顺序,提供了一种更加全面的图形匹配方法,使PCB元器件封装检索更加精准可靠。方法采用迭代方式求解,速度快,效率高。

A Graph Matching Based PCB Packaged File Retrieval Method

【技术实现步骤摘要】
一种基于图匹配的PCB封装文件检索方法
本专利技术属于电子电路辅助设计领域,特别是电路设计自动化。
技术介绍
电子电路的物理设计是在原理图之后依据电路功能设计,满足可生产的技术规范,来构建产品的工艺、技术、质量和成本等优势的重要步骤,其中元器件的封装设计是物理设计进行的首要环节,即构建电子元器件的外形(Footprint),包括引脚顺序、尺寸等。现有的元器件种类繁多,大概几十上百万种,可以粗略地分为17类56个系列。如果能依据元器件型号等关键字建立完整的封装检索数据库,可以彻底解决元器件封装重用的问题,但这通常只能针对封闭环境中实现小范围元器件的重用,例如一个产品设计公司内部。在开放环境中,现阶段的元器件封装设计可重用性较差,其原因主要在于:一是不同的设计公司拥有不同的设计规范,难以建立起对封装文件有效的管理,实现有效查询;二是对于单个项目来讲,封装的重复利用密度相对较低,当器件封装库量级小,难以提供有效查询结果。现阶段每次需要封装工程师重复建立。即使单个封装工程师可以对各自建立起的封装文件进行管理,实现查询;当更换封装工程师后,前任工程师建立封装库的规则通常难以持续,导致原封装库的文件又无法完全利用(情况通常视命名规则复杂程度而定),因而封装库的规模始终有限,无法形成累积效应。已有专利申请“一种PCB元器件封装库的创建与查询方法”(CN201811240822.1)旨在解决这一问题。该方法考虑开放环境中,如何建立统一的封装数据库;同时将封装图形抽象成点线图形,通过图形匹配来实现查询。然而该方法却没有考虑元器件封装引脚是有编号顺序的这一事实。当元器件的封装图形对称时,该引脚编号则极其重要。拥有相同的封装外形,但引脚编号不相同,则应该被视为不同的元器件封装。现有的EDA设计软件常用的Cadence,AD,PADs等,各自拥有独立的封装文件格式。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于焊盘图匹配的PCB封装检索方法。通过用户上传PCB的封装焊盘图形图像文件,可以从现有的封装文件数据库中,帮助用户实现有效的封装文件查询。本专利技术技术方案为一种基于图匹配的PCB封装文件检索方法,该方法包括:步骤1:对于待查找封装元件,标记该元件各焊盘坐标和引脚顺序,引脚顺序和焊盘顺序一一对应,焊盘个数为n,设为焊盘坐标集合Q=(X1,X2,...,Xn),其中第i个焊盘的坐标Xi=(xi,yi),i=1,2,...,n;以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n-1个焊盘与第1个焊盘坐标之间的连边集合ex={e1,e2,...,en-1},构建子图G1={vx,ex},其中vx表示将焊盘节点X作为子图G1的顶点集合;步骤2:计算其余n-1个焊盘与第1个焊盘坐标之间的欧氏距离{d1,d2,...,dn-1},令dmax=max{d1,d2,...,dn-1},得子图G1的边长权重e1={d1/dmax,d2/dmax,...,dn-1/dmax};按引脚编号顺序设定子图G1的边长权重e2={1/(n-1),2/(n-1),...,1};步骤3:通过元件引脚数n,从数据库中选出具有相同引脚数的待匹配封装文件库,设待匹配封装文件库中文件数目为m;步骤4:令j=1,在待匹配封装文件库中从第j个元件封装文件中提取焊盘坐标(Y1,Y2,...,Yn)和焊盘编号(1,2,...,n),Yi=(x’i,y’i);以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n-1个焊盘与第1个焊盘坐标之间的连边集合ey={e’1,e’2,...,e’n-1},构建子图G2={vy,ey},其中vy表示表示将焊盘节点Y作为建子图G2的顶点集合;步骤5:采用与步骤2相同的方法计算子图G2的边长权重ey1和ey2;步骤6:根据边长权重e1和ey1,计算G1和G2两个子图的相似度矩阵M1;根据边长权重e2和ey2,计算G1和G2两个子图的相似度矩阵M2;步骤7:计算待查找封装元件与第j个待匹配封装文件的相似度分数sj;步骤8:j=j+1;当j≤m+1时,执行步骤4~7;步骤9:获得待查找封装元件与m个待匹配封装文件的相似度分数{s1,s2,...,sm};求取相似度分数最大的smax=max{s1,s2,...,sm}所对应的文件编号J,即为待查找封装元件的封装文件。进一步的,所述步骤7的具体方法为:步骤7.1:根据实际情况设定参数α,最大循环次数ItersMax,初始值z0T=[1/n2,1/n2,...,1/n2]n*n,Error=1,p=1;然后计算M=M1+α×M2;步骤7.2:计算zp=M×z0;计算Error=|zp-1-zp|2,p=p+1;步骤7.3:当Error>1e-25且p<ItersMax,执行步骤7.2,直到zp收敛;步骤7.4:计算相似度分数sj=zpT*M*zp,zpT表示zp的转置。与现有技术相比,本专利技术不仅考虑元器件的焊盘外形,而且考虑焊盘的引脚编号顺序,提供了一种更加全面的图形匹配方法,使PCB元器件封装检索更加精准可靠。方法采用迭代方式求解,速度快,效率高。附图说明图1为带引脚编号的待查找焊盘示意图;图2为查询获得的PCB元器件封装文件示意图。具体实施方式步骤1:假定用户上传的PCB的封装焊盘工程图为I,从I中自动或手动提取标记焊盘大致坐标和引脚顺序,焊盘个数为n,设为Q=(X1,X2,...,Xn),其中Xi=(xi,yi),i=1,2,...,n;假设X1为第一个引脚所在的位置。以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n-1个焊盘与第1个焊盘坐标之间的连边集合ex={e1,e2,...,en-1},构建子图G1={vx,ex}。步骤2:计算其余n-1个焊盘与第1个焊盘坐标之间的欧氏距离{d1,d2,...,dn-1},令dmax=max{d1,d2,...,dn-1},得子图G1的边长权重e1={d1/dmax,d2/dmax,...,dn-1/dmax}。按引脚编号顺序设定子图G1的边长权重e2={1/(n-1),2/(n-1),...,1}。步骤3:通过元器件焊盘引脚数n,从数据库中删选具有相同引脚数目的待匹配封装文件库,设数据库文件数目为m。步骤4:令j=1,从第j个PCB元器件封装描述文件中提取焊盘坐标(Y1,Y2,...,Yn)和焊盘编号(1,2,...,n),Yi=(x’i,y’i)。以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n-1个焊盘与第1个焊盘坐标之间的连边集合ey={e’1,e’2,...,e’n-1},构建子图G2={vy,ey}。步骤5:同步骤2,计算子图G2的边长权重et1和et2。步骤6:根据边长权重e1和ey1,计算G1和G2两个子图的相似度矩阵M1,其大小为(n2*n2);根据边长权重e2和ey2,计算G1和G2两个子图的相似度矩阵M2,其大小为(n2*n2)。步骤7:设定参数α=0.5,最大循环次数ItersMax=100,初始值z0T=[1/n2,1/n2,...,1/n2]n*n,Error=1,p=1;计算M=M1+α×M2。步骤8:计算zp=M×z0;计算Error=|zp-1-zp|2,p=p+1;本文档来自技高网
...

【技术保护点】
1.一种基于图匹配的PCB封装文件检索方法,该方法包括:步骤1:对于待查找封装元件,标记该元件各焊盘坐标和引脚顺序,引脚顺序和焊盘顺序一一对应,焊盘个数为n,设为焊盘坐标集合Q=(X1,X2,...,Xn),其中第i个焊盘的坐标Xi=(xi,yi),i=1,2,...,n;以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n‑1个焊盘与第1个焊盘坐标之间的连边集合ex={e1,e2,...,en‑1},构建子图G1={vx,ex},其中vx表示将焊盘节点X作为子图G1的顶点集合;步骤2:计算其余n‑1个焊盘与第1个焊盘坐标之间的欧氏距离{d1,d2,...,dn‑1},令dmax=max{d1,d2,...,dn‑1},得子图G1的边长权重e

【技术特征摘要】
1.一种基于图匹配的PCB封装文件检索方法,该方法包括:步骤1:对于待查找封装元件,标记该元件各焊盘坐标和引脚顺序,引脚顺序和焊盘顺序一一对应,焊盘个数为n,设为焊盘坐标集合Q=(X1,X2,...,Xn),其中第i个焊盘的坐标Xi=(xi,yi),i=1,2,...,n;以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n-1个焊盘与第1个焊盘坐标之间的连边集合ex={e1,e2,...,en-1},构建子图G1={vx,ex},其中vx表示将焊盘节点X作为子图G1的顶点集合;步骤2:计算其余n-1个焊盘与第1个焊盘坐标之间的欧氏距离{d1,d2,...,dn-1},令dmax=max{d1,d2,...,dn-1},得子图G1的边长权重e1={d1/dmax,d2/dmax,...,dn-1/dmax};按引脚编号顺序设定子图G1的边长权重e2={1/(n-1),2/(n-1),...,1};步骤3:通过元件引脚数n,从数据库中选出具有相同引脚数的待匹配封装文件库,设待匹配封装文件库中文件数目为m;步骤4:令j=1,在待匹配封装文件库中从第j个元件封装文件中提取焊盘坐标(Y1,Y2,...,Yn)和焊盘编号(1,2,...,n),Yi=(x’i,y’i);以编号为1的焊盘坐标为准,按照引脚编号顺序,建立其余n-1个焊盘与第1个焊盘坐标之间的连边集合ey={...

【专利技术属性】
技术研发人员:郑亚莉廖文杰
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1