一种过孔阵列的锯齿平滑方法
技术领域
本发明涉及PCB仿真领域,更具体地说,涉及一种过孔阵列的锯齿平滑方法。
背景技术
PCB(Printed Circuit Board)称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。PCB包括过孔、盲孔和埋孔,过孔也称之为通孔,是从顶层到底层全部打通的,在四层PCB中,过孔是贯穿1,2,3,4层,对不相干的层走线会有妨碍;盲孔只在顶层或底层其中的一层看得到,另外那层是看不到的,也就是说盲孔是从表面上钻,但是不钻透所有层;埋孔是指做在内层过孔,该孔之上下两面都在板子之内部层。
过孔是最基本也是最常用的孔,一条线路从板的一面跳到另一面,连接两条连线的孔也叫过孔(区别于焊盘,边上没有助焊层)过孔也称金属化孔,在双面板和多层板中,为连通各层之间的印制导线,在各层需要连通的导线的交汇处钻上一个公共孔,即过孔。在工艺上,过孔的孔壁圆柱面上用化学沉积的方法镀上一层金属,用以连通中间各层需要连通的铜箔,而过孔的上下两面做成圆形焊盘形状,过孔的参数主要有孔的外径和钻孔尺寸。过孔不仅可以是通孔,还可以是掩埋式。所谓通孔式过孔是指穿通所有敷洞层的过孔;掩埋式过孔则仅穿通中间几个敷铜层面,仿佛被其它敷铜层掩埋起来。
在PCB的过孔仿真中,对于过孔的设计,一般是在RFIC(射频集成电路)中陈列大规模的过孔阵列,在生产的时候考虑到生产工艺以及受热均匀的需求,但是在仿真领域,这种大规模的过孔阵列通常会呈现百万数量级甚至更多,从而造成结构性复杂与图形算法的冗余,并且影响仿真精度,使得仿真进行的时间呈现指数级上升,对厂家获取RFIC模型的测试精度与仿真精度的对比免得异常困难。综上所述,现有技术中大规模过孔阵列造成的仿真时间长,并且导致仿真精度不高,上述问题是现有技术亟需解决的问题。
发明内容
1.要解决的问题
本发明的目的在于克服现有技术中,大规模过孔阵列造成仿真时间长的不足,提供了一种过孔阵列的锯齿平滑方法,可以缩短仿真的时间,从而可以提高工作效率,且进一步可以提高仿真的精度。
2.技术方案
为了解决上述问题,本发明所采用的技术方案如下:
本发明的一种过孔阵列的锯齿平滑方法,先获取PCB的版图信息,再对过孔阵列进行分类,并根据过孔阵列的排列方式对过孔阵列进行合并;然后根据过孔与图层的连接关系对过孔进行分类,并且对分类后的过孔进行合并;而后依次选取过孔的顶点,并判断选取的顶点和与之相邻的两个顶点是否共线,若选取的顶点和与之相邻的两个顶点共线,则将选取的顶点和与之相邻的两个顶点连接成一条直线。
作为本发明更进一步地改进,将过孔阵列分为两层相连的过孔、至少三层相连的过孔以及不相连的过孔三类。
作为本发明更进一步地改进,将矩阵式排列和沿着45°角斜边式排列的过孔阵列进行合并。
作为本发明更进一步地改进,判断选取的顶点和与之相邻的两个顶点是否共线的具体过程为:设定选取的顶点为P1(x1,y1),与选取的顶点相邻的两个顶点分别为:P2(x2,y2),P3(x3,y3),判断共线的公式如下:
y=k·(x3-x2)+y2
如果-0.01≤y3-y≤0.01,则表示P1、P2和P3三点共线;其中,k表示斜率。
作为本发明更进一步地改进,合并的具体过程为:将过孔放大N倍并对相交的过孔取并集形成新的过孔,而后再将过孔缩小N倍至初始尺寸,其中,N>0。
作为本发明更进一步地改进,0.5≤N≤10。
作为本发明更进一步地改进,利用leSizeShape函数对过孔进行放大或者缩小,且利用leMergeShape函数对相交的过孔取并集。
3.有益效果
相比于现有技术,本发明的有益效果为:
本发明的一种过孔阵列的锯齿平滑方法,通过对过孔的顶点进行共线处理,即对有规律的波动折线进行处理,可以有效的减少过孔的顶点,还可以有效的减少过孔图形的边数,并且消除了过孔图形的锯齿,从而降低了过孔图形的复杂度,进而有效的减少了仿真时间,进一步提高了工作的效率,而且进一步提高了仿真的精度。
附图说明
图1为本发明一种过孔阵列的锯齿平滑方法的流程示意图;
图2为实施例1过孔的顶点示意图;
图3为实施例1带有锯齿的过孔示意图;
图4为实施例1平滑处理后的过孔示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;而且,各个实施例之间不是相对独立的,根据需要可以相互组合,从而达到更优的效果。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。
实施例1
结合图1所示,本发明的一种过孔阵列的锯齿平滑方法,先获取PCB的版图信息,值得说明的是,通过扫描PCB即可获取版图上所有过孔图形的属性信息;进一步地,对过孔阵列进行分类,而后再根据过孔阵列的排列方式对过孔阵列进行合并;之后再根据过孔与图层的连接关系对过孔进行分类,并且对分类后的过孔进行合并;而后依次选取过孔的顶点,并判断选取的顶点和与之相邻的两个顶点是否共线,若选取的顶点和与之相邻的两个顶点共线,则将选取的顶点和与之相邻的两个顶点连接成一条直线,值得说明的是,顶点指的是形成过孔图形的小点(如图2所示)。
本发明的一种过孔阵列的锯齿平滑方法,具体步骤如下:
步骤一、过孔阵列分类合并
先扫描PCB版图获取图形的属性信息,再将大规模过孔阵列进行分类,本发明将过孔阵列分为两层相连的过孔、至少三层相连的过孔以及不相连的过孔三类,值得说明的是,不相连的过孔指的是只连接一层金属或者不连接金属的过孔,令两层相连的过孔为via1,至少三层相连的过孔为via2,不相连的过孔为via3。而后根据过孔阵列的排列方式对过孔阵列进行合并,值得进一步说明的是,本发明将矩阵式排列和沿着45°角斜边式排列的过孔阵列进行合并,从而可以加快仿真速度。
此外,需要说明的是,合并的具体过程为:将过孔放大N倍并对相交的过孔取并集形成新的过孔,而后再将过孔缩小N倍至初始尺寸,其中,N>0,优选地,0.5≤N≤10,本实施例的N=2。
步骤二、二次分类合并
根据过孔与图层的连接关系对过孔进行分类,并且对分类后的过孔进行合并。具体地,由于同类的不同过孔连接于不同的图层,因此需要进行进一步的分类合并,例如via1的过孔阵列中,部分过孔连接M1金属层和M2金属层,则令这些过孔为via1-1,还有部分过孔连接M2金属层和M3金属层,则令这些过孔为via1-2;同理将所有的过孔进行二次分类,而后将分类后的过孔进行合并,具体的合并过程如步骤一的合并过程。值得说明的是,通过二次分类合并可以正确的处理过孔的链接关系,从而可以进一步地加快仿真速度。
值得说明的是,本发明利用leSizeShape函数对过孔进行放大或者缩小,利用leMergeShape函数对相交的过孔取并集,其中,leSizeShape函数和leMergeShape函数为virtuoso软件平台的API函数。
步骤三、平滑处理
依次选取过孔的顶点,并判断选取的顶点和与之相邻的两个顶点是否共线,值得说明的是,判断选取的顶点和与之相邻的两个顶点是否共线的具体过程为:设定选取的顶点为P1(x1,y1),与选取的顶点相邻的两个顶点分别为:P2(x2,y2),P3(x3,y3),判断共线的公式如下:
y=k·(x3-x2)+y2
如果-0.01≤y3-y≤0.01,则表示P1、P2和P3三点共线;其中,k表示斜率,x1表示P1的横坐标,y1表示P1的纵坐标,x2表示P2的横坐标,y2表示P2的纵坐标,x3表示P3的横坐标,y3表示P3的纵坐标,y表示x3在直线P1P2上对应点的纵坐标。值得说明的是,如果选取的顶点和与之相邻的两个顶点共线,则将选取的顶点和与之相邻的两个顶点连接成一条直线;如果选取的顶点和与之相邻的两个顶点不共线,则选取下一个顶点进行处理。值得进一步说明的是,通过将共线的顶点连接成一条直线,从而减少了顶点数量,还减少了图形的边数,从而大大减少了仿真时间。结合图3和图4所示,图3中的过孔图形边缘呈现锯齿状,通过本发明的锯齿平滑处理方法,得到平滑处理后的过孔图形(如图4所示),经过平滑处理后的过孔图形边缘呈直线状,有效地消除了过孔图形边缘的锯齿。
本发明的一种过孔阵列的锯齿平滑方法,通过对过孔的顶点进行共线处理,即对有规律的波动折线进行处理,可以有效的减少过孔的顶点,还可以有效的减少过孔图形的边数,并且消除了过孔图形的锯齿,从而降低了过孔图形的复杂度,进而有效的减少了仿真时间,进一步提高了工作的效率,而且进一步提高了仿真的精度。
在上文中结合具体的示例性实施例详细描述了本发明。但是,应当理解,可在不脱离由所附权利要求限定的本发明的范围的情况下进行各种修改和变型。详细的描述和附图应仅被认为是说明性的,而不是限制性的,如果存在任何这样的修改和变型,那么它们都将落入在此描述的本发明的范围内。此外,背景技术旨在为了说明本技术的研发现状和意义,并不旨在限制本发明或本申请和本发明的应用领域。