一种PCB设计中负片层铜皮避让过孔的方法与流程

文档序号:18466106发布日期:2019-08-17 02:28阅读:2898来源:国知局
一种PCB设计中负片层铜皮避让过孔的方法与流程

本领域涉及计算机领域,并且更具体地涉及一种pcb设计中负片层铜皮避让过孔的方法。



背景技术:

pcb(printedcircuitboard)印刷电路板,又称印制线路板,是电子产品中电子元件的载体,也是电子元器件线路连接的提供者。传统的电路板采用印刷蚀刻阻剂的方法做出电路的线路及图面,即对一块完整的铜皮通过蚀刻的方法去除不需要的部分,剩下的铜皮就承载了传递电流(信号)的功能,因此被称为印刷电路板或印刷线路板。

随着21世纪人类进入信息化社会,产品的功能越来越强,集成度越来越高,信号的速率越来越快,产品的研发周期也越来越短。由于电子产品不断微小化、精密化、高速化,pcb的设计不仅仅要完成各元器件的线路连接,更要考虑高速、高密带来的各种挑战。pcb设计已经不仅仅是简单的将具有相同网络的器件用铜线连接起来了,而是必须要考虑到pcb板上用于连接的铜皮、铜线、过孔该如何设计使得这块pcb板能达到正常工作,达到希望的性能要求。因此对于承担信号连接的铜线(line)、承担电源电流供电、信号返回路径的铜皮(shape)以及用于连接不同层网络的过孔(via)的设计都必须符合一定的物理和间距上的要求。于是,随之诞生了许多用于帮助pcb工程师来实现轻松的、自动的完成不同网络的导体之间的避让的功能与方法,以使用最广泛的pcb设计工具allegro为例,比较典型的自动避让方法有以下三种:

1.在约束管理器中设置不同网络之间的导体避让的最小间距,软件根据设置的间距来自动为不同网络的导体进行避让;

2.pcb设计者手动画避让区域,如routekeepout(走线避让)区域,铜皮会避让该区域;

3.在过孔或者通孔类型的引脚的封装中,制作热风焊盘和反焊盘,软件会自动根据该过孔是否与该铜皮具有连接关系判断采用热风焊盘与其连接还是用反焊盘来避让该铜皮。

现在大部分的印刷电路板设计就是配合使用以上三种方式来完成不同网络导体的间距控制的,但是依然存在着缺陷,因为这三种方法不是在什么时候都可以使用的,而是受限于使用的条件与环境。pcb是一个多层的结构,每层在设计和生产时可分成正片和负片两种,pcb生产时是通过对一块完整的通皮,通过蚀刻的方法去除不需要的部分,剩下的铜皮就是我们的设计,那么在设计和生产时就有两种区别,第一种是pcb设计时所画的线和多边形所在地方的铜在生产时会被认为是希望保留下来的,而没有画线的地方的铜皮就会被清除,这就是正片;第二种则是有pcb设计痕迹或者图像的地方的铜皮被视为需要蚀刻掉的铜皮,而保留下来没有设计的铜皮,即负片。正片和负片在pcb设计和生产时是不同的,且各有优点,正片层有比较完善的规则设计,各种线宽、线间距和铜皮间距、过孔等,都可以通过规则驱动设计来控制,适合于有着大量网络布线的走线层,而负片层则适用地层或者电源层这样的平面层,由于这些层上大块铜,只有很少的地方不存在铜皮,使用负片层仅显示没铜的地方能显著减少文件尺寸和减少计算量,降低计算机的负担,同时负片层不需要经过“二铜图形电镀”,比正片层在生产时少一道工序,所以绝大部分的pcb设计都是采用正片、负片搭配使用来实现的。

正片、负片上的间距控制的实现是不同的,正片上主要采用第一种方法,用完善的规则和约束来实现导体的自动避让,缺点是会带来巨大的计算负担,在服务器和交换机的大型板卡上体现的尤为明显;而负片层上只存在大块的铜皮和贯穿各层的过孔,只需要铜皮避开过孔即可,主要采用第三种方法,通过过孔封装的热风焊盘和反焊盘来实现避让,过孔贯穿负片层时程序根据网络连接判断采用热风焊盘与该层连接还是用反焊盘与该层隔开。这就带来了一个问题,为了设计的规范化和简便性,大部分的pcb设计都要求使用一种或者少数几种过孔,而不会根据网络的不同而选择不同的过孔,一是这会导致设计十分复杂,需要不断的切换和选择要使用的过孔,降低了设计效率,也会导致大量的设计失误,而是在pcb生产时也会导致板厂需要根据过孔的不同不断切换钻孔用的钻头,导致生产效率的降低和生产上的失误与偏差。所以在pcb设计时我们不会使用多种过孔,一般只有一到两种标准的、通用的过孔尺寸,这就限制了过孔的尺寸和过孔在负片层避让铜皮时间距的选择与控制,并不能同时满足多种不同网络的间距需求,尤其是一些大电源的例如48v、35v,他们对与其他网络导体的间距要求是极高的,标准的过孔是不能满足要求的,需要设计者手动为这些过孔进行避让,但这是不现实的,因为现在一块2u服务器或者交换机主板上的过孔数量一般在2万和3万个左右,他们分属于不同的网络,有着不同的避让要求,让设计者一一手动为这些过孔在每个负片层、实现不同尺寸的精准避让,这带来了极大的工作量,并且其中必然存在着大量的漏设和错设,检查的工作量与设计时是相仿的,这大大降低了设计的效率,但是如果不进行负片层间距的精准和多样化的控制,而是采用统一的负片层进行避让,这又给pcb产品的可靠性带来了不可控的隐患和风险,这对于需要面向市场的成熟的pcb产品是不可接受的。所以负片层的过孔避让问题成为了限制研发效率和产品可靠性的巨大问题。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种pcb设计中负片层铜皮避让过孔的方法,通过使用本发明的方法可以在没有增加多余工作量的同时,实现针对不同网络、不同需求在负片层实现对过孔自动进行多样化避让的功能,提高了产品的可靠性和稳定性,大大提高了设计效率,并且可以精细的针对到不同网络的铜皮和过孔的间距要求,可以满足设计者多样化的设计需求。

基于上述目的,本发明的实施例的一个方面提供了一种pcb设计中负片层铜皮避让过孔的方法,包括以下步骤:

遍历需要避让的负片层以及负片层中的铜皮;

获得并遍历铜皮内的所有过孔;

针对每个过孔,判断过孔的网络与铜皮的网络是否不同,并且判断过孔的网络和铜皮的网络中至少一个是否为需要避让的网络;

响应于上述判断均为是,获得铜皮网络中铜皮需要与其他不同网络过孔避让的距离s,并获得过孔网络中过孔需要与其他不同网络铜皮避让的距离v;

根据s和v确定避让距离r,并在过孔所在的负片层上以过孔为中心,基于过孔的焊盘半径r和r确定走线避让区域,以避让过孔。

根据本发明的一个实施例,需要避让的负片层是根据设计者选择生成。

根据本发明的一个实施例,需要避让的网络是根据设计者选择生成。

根据本发明的一个实施例,根据s和v确定避让距离r包括:将s和v中的较大值作为避让距离r。

根据本发明的一个实施例,s和v是在约束管理器中进行设置。

根据本发明的一个实施例,还包括:响应于上述判断中的一个为否,则忽略此过孔的避让。

根据本发明的一个实施例,在过孔所在的负片层上以过孔为中心,基于过孔的焊盘半径r和r确定走线避让区域包括:在过孔所在的负片层上以过孔为中心,以过孔的焊盘半径r和r的和为半径绘制圆形的走线避让区域。

根据本发明的一个实施例,方法在pcb设计软件中执行,pcb设计软件包括allegro。

本发明的实施例的另一个方面提供了一种计算机设备,包括:

至少一个处理器;和

存储器,存储器上存储有可在处理器上运行的计算机程序,处理器执行程序时执行上述的方法。

本发明的实施例的另一个方面提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的指令,当指令被处理器执行时,使处理器执行上述的方法。

本发明具有以下有益技术效果:本发明实施例提供的pcb设计中负片层铜皮避让过孔的方法,通过遍历需要避让的负片层以及负片层中的铜皮;获得并遍历铜皮内的所有过孔;针对每个过孔,判断过孔的网络与铜皮的网络是否不同,并且判断过孔的网络和铜皮的网络中至少一个是否为需要避让的网络;响应于上述判断均为是,获得铜皮网络中铜皮需要与其他不同网络过孔避让的距离s,并获得过孔网络中过孔需要与其他不同网络铜皮避让的距离v;根据s和v确定避让距离r,并在过孔所在的负片层上以过孔为中心,基于过孔的焊盘半径r和r确定走线避让区域,以避让过孔的技术方案,可以在没有增加多余工作量的同时,实现针对不同网络、不同需求在负片层实现对过孔自动进行多样化避让的功能,提高了产品的可靠性和稳定性,大大提高了设计效率,并且可以精细的针对到不同网络的铜皮和过孔的间距要求,可以满足设计者多样化的设计需求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为根据本发明一个实施例的pcb设计中负片层铜皮避让过孔的方法的示意性流程图;

图2为根据本发明另一个实施例的pcb设计中负片层铜皮避让过孔的方法的示意性流程图;

图3为根据本发明另一个实施例的选择需要避让的网络的示意图;

图4为根据本发明另一个实施例的选择需要避让的负片层的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种pcb设计中负片层铜皮避让过孔的方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

遍历需要避让的负片层以及负片层中的铜皮;

获得并遍历铜皮内的所有过孔;

针对每个过孔,判断过孔的网络与铜皮的网络是否不同,并且判断过孔的网络和铜皮的网络中至少一个是否为需要避让的网络,则继续;

响应于上述判断均为是,获得铜皮网络中铜皮需要与其他不同网络过孔避让的距离s,并获得过孔网络中过孔需要与其他不同网络铜皮避让的距离v;

根据s和v确定避让距离r,并在过孔所在的负片层上以过孔为中心,基于过孔的焊盘半径r和r确定走线避让区域,以避让过孔。

通过以上技术方案,可以在没有增加多余工作量的同时,实现针对不同网络、不同需求在负片层实现对过孔自动进行多样化避让的功能,提高了产品的可靠性和稳定性,大大提高了设计效率,并且可以精细的针对到不同网络的铜皮和过孔的间距要求,可以满足设计者多样化的设计需求。

在本发明的一个优选实施例中,需要避让的负片层是根据设计者选择生成。

在本发明的一个优选实施例中,需要避让的网络是根据设计者选择生成。

在本发明的一个优选实施例中,根据s和v确定避让距离r包括:将s和v中的较大值作为避让距离r。

在本发明的一个优选实施例中,s和v是在约束管理器中进行设置。

在本发明的一个优选实施例中,还包括:响应于上述判断中的一个为否,则忽略此过孔的避让。

在本发明的一个优选实施例中,在过孔所在的负片层上以过孔为中心,基于过孔的焊盘半径r和r确定走线避让区域包括:在过孔所在的负片层上以过孔为中心,以过孔的焊盘半径r和r的和为半径绘制圆形的走线避让区域。

在本发明的一个优选实施例中,方法在pcb设计软件中执行,pcb设计软件包括allegro。

本方法主要针对于负片层铜皮不能对过孔实现自动化的、多样化的避让以满足不同需求的问题,利用allegro提供的二次开发语言axlskill开发了一种工具,可以让负片层的铜皮根据设计者设置的约束和规则实现自动避让过孔的功能。程序会根据设计者设置的避让的约束和规则,为所有的过孔在负片层上画符合要求的routekeepout区域,来让负片层的铜皮自动避让该过孔足够的距离,该功能可以精细的针对到不同网络的铜皮和过孔的间距要求,且自动利用设计者正片设计时设置的约束规则,不需要设计者再次设置,使用起来十分简便。

该工具除了实现对负片层过孔实现自动避让的功能以外,还提供了例如选择需要避让的网络、选择需要避让的负片层等功能,可以满足设计者多样化的设计需求。

如图2所示,提供了一个用allegro二次开发语言axlskill编写的程序的一个实施例:

1.首先,使用者将该skill程序的源文件“encnsinnl.il”放入allegro的配置文件夹“pcbenv”中,之后在skill的初始导入文件“allegro.ilinit”中加入“load(“encnsinnl.il”)”这一行,之后启动allegro,在allegro的交互窗口,输入“encnsinnl”,回车后即可启动该功能;

2.启动该功能后,设计者需要选择是所有的网络还是仅避让某个网络,如果选择避让所有网络,直接进入下一步,如果选择避让某个网络,会进入如图3所示的网络选择界面,选择需要避让的网络,只有负片层的过孔或者铜皮中有一个属于该网络才会进行避让,否则保持不变。

3.如图4所示,设计者需要选择避让所有负片层还是避让某个单独的负片层,如果选择避让所有的负片层,则程序会在所有负片层实现过孔的自动避让,否则仅避让设计者选择的负片层。

4.在完成选择后,程序根据设计者的选择,会自动实现负片层对过孔的精准、多样化的避让,以下为程序运行流程的一个实施例:

a.根据设计者的选择,得到需要避让的负片层列表,如设计者选择避让所有负片层,列表里包含该pcb板上所有负片层,否则只包含设计者选择的负片层,遍历列表中的所有负片层;

b.针对需要避让的某个负片层,获取得到该负片层上的所有铜皮,遍历该负片层上的所有铜皮;

c.针对该负片层上的某个铜皮,获取得到设计者在约束管理器中设置的该铜皮所属于的网络的铜皮需要与其他不同网络过孔避让的距离值“spaces”;

d.程序自动框选得到该铜皮范围内的所有过孔,遍历这些过孔;

e.针对铜皮范围内的某一个过孔,进行条件判断:

1)该过孔网络与铜皮网络是否相同,相同则遍历下一个过孔,回到d步,否则进入下一个条件判断;

2)设计者选择的是否是避让所有网络,如果是,直接进入f步,如果不是,进入第3)个条件判断;

3)该铜皮或者该过孔的网络是否有至少一个属于设计者选择的需要避让的网络,如果是,进入f步,如果不是,回到d步,遍历下一个过孔;

f.得到约束管理器中需要避让的过孔所属的网络中过孔需要与其他不同网络铜皮避让的距离值“spacev”;

g.得到spaces和spacev中的较大值,作为该过孔在这一负片层需要与其周围的铜皮避让的距离“space”;

h.获取得到该过孔的焊盘半径r,在该负片层,以该过孔为中心,画半径为“r+space”的圆形routekeepout区域,之后,该负片层的铜皮会自动避让该routekeepout区域,即完成该负片层对改过孔的避让;

i.回到d步,直到遍历完该铜皮内所有的过孔;

j.回到b步,直到遍历完该负片层内所有的铜皮;

k.回到a步,直到遍历完所有的负片层;

l.完成负片层对过孔的自动避让,程序结束。

在上面的流程中,在所有选择需要避让的负片层中,所有选择需要避让的网络所属的铜皮或者过孔都通过该功能完成了对其他不同网络导体的避让需求,且不需要使用者手动输入针对该网络的避让要求,而是直接从正片层的约束设置中读取相应数值,使用十分简单。通过以上技术方案,可以在没有增加多余工作量的同时,实现针对不同网络、不同需求在负片层实现对过孔自动进行多样化避让的功能,提高了产品的可靠性和稳定性,大大提高了设计效率,并且可以精细的针对到不同网络的铜皮和过孔的间距要求,可以满足设计者多样化的设计需求。

本发明的实施例的第二个方面,提供了一种计算机设备,包括:

至少一个处理器;和

存储器,存储器上存储有可在处理器上运行的计算机程序,处理器执行程序时执行上述的方法。

本发明的实施例的第三个方面,提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的指令,当指令被计算机执行时,使计算机执行上述的方法。

通过以上技术方案,可以在没有增加多余工作量的同时,实现针对不同网络、不同需求在负片层实现对过孔自动进行多样化避让的功能,提高了产品的可靠性和稳定性,大大提高了设计效率,并且可以精细的针对到不同网络的铜皮和过孔的间距要求,可以满足设计者多样化的设计需求。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1