一种PCB设计中自动添加散热开孔的方法和系统技术方案

技术编号:24354566 阅读:24 留言:0更新日期:2020-06-03 02:17
本发明专利技术实施例公开了一种PCB设计中自动添加散热开孔的方法和系统,具体包括:搜索PCB上的空旷区域,所述空旷区域是一个或多个封闭的区域;在所有的空旷区域内创建大于等于原像素的可开孔子区域outline;将PCB上的所有可开孔子区域outline合并,并为合并后的outline画上边界,合并后的outline边界尺寸即为开孔区域的开孔尺寸;以所述开孔尺寸外扩20mil,画上禁止所有层布线的外框,外框即为禁布区Rout keepout_all。本发明专利技术实施例所述方法和系统用于自动查找PCB内所有可开孔区域,并快速添加outline及禁布区,解决了现有方案中人工搜索可开孔区域带来的开孔率低和易遗漏可开孔点,以及人工添加开孔边框和禁布区带来的效率低的问题。

A method and system of automatically adding cooling holes in PCB design

【技术实现步骤摘要】
一种PCB设计中自动添加散热开孔的方法和系统
本专利技术涉及PCB设计
,具体涉及一种PCB设计中自动添加散热开孔的方法和系统。
技术介绍
目前在市场上有多款PCB设计软件,Cadence作为业界应用最广泛的软件,Cadence不仅拥有强大的功能和多款相关软件做支撑,还提供了开放式的二次开发接口和较为完善的开发语言库,用户可根据自身的需要进行二次开发。skill语言是Cadence软件内置的一种基于C语言和LISP语言的高级编程语言,Cadence为skill语言提供了丰富的交互式函数,研究skill语言继而编写辅助工具投入应用,可以大大提高工作效率。在服务器系统架构中,机箱内前置背板的散热至关重要,既要为自身的部件散热,也要为整个服务器机箱保持风道流通。随着板卡功能的增加及复用性增强,PCB板卡的密度也越来越高,但是板卡的尺寸不会变大,因此在有限的板卡上寻找尽可能多的可开孔区域供散热是一项重要工作。现有方案是在PCB大致设计完成后,通过人工搜索可开孔区域,然后手动添加开孔的边框及禁布区。如果可开孔区域太小,人眼很难识别,就会遗漏,由此带来的问题一是PCB开孔率降低,人工找空间开孔比较耗时且容易遗漏可开孔点,二是人工添加开孔边框和禁布区需要投入大量时间和人力,工作效率低下。
技术实现思路
本专利技术实施例中提供了一种PCB设计中自动添加散热开孔的方法和系统,用于自动查找PCB内所有可开孔区域,并快速添加outline及禁布区。本专利技术所述方法和系统解决了现有方案中人工搜索可开孔区域带来的开孔率低和易遗漏可开孔点,以及人工添加开孔边框和禁布区带来的效率低的问题。本专利技术实施例公开了如下技术方案:本专利技术第一方面提供了一种PCB设计中自动添加散热开孔的方法,包括:S1,搜索PCB上的空旷区域,所述空旷区域是一个或多个封闭的区域;S2,在所述空旷区域内创建大于等于原像素的可开孔子区域outline;S3,将PCB上的所有可开孔子区域outline合并,并为合并后的outline画上边界,合并后的outline边界尺寸即为开孔区域的开孔尺寸;S4,以所述开孔尺寸外扩20mil,画上禁止所有层布线的外框,外框即为禁布区Routkeepout_all。进一步地,所述PCB上的空旷区域,指区域的边缘所在的各信号层内没有信号走线cline、信号过孔via、铜皮和零件。进一步地,步骤S2所述在一个空旷区域内寻找可开孔区域outline的过程为:S21,定义PCB的空旷区域左侧边框上点的坐标为(x,y),并且最靠近PCB上方的点为初始位置;S22,定义原像素的第一起始位置、元像素的左上角顶点A和左下角顶点B的坐标,A点为(x1,y1),B点为(x1,y1-50),第一起始位置为元像素的顶点A坐标与初始位置重合;S23,元像素在第一起始位置,沿x方向以格点为步长向右移动,当移动n次后,原像素的右侧顶点与信号走线cline、信号过孔via、铜皮或零件重叠时,则元像素停止向右移动,记录此时原像素C、D两点的坐标,右上角C点为(x1+50+0.1(n-1),y1),右下角D点为(x1+50+0.1(n-1),y1-50);S24,以步骤S22和S23中记录的A(x1,y1)、B(x1,y1-50)、C(x1+50+0.1(n-1),y1)、D(x1+50+0.1(n-1),y1-50)四个坐标创建outline,此outline为可开孔子区域;S25,原像素回到第一起始位置并沿y方向向下移动一个格点的距离,A点变为(x1,y1-0.1),将空旷区域左侧边框上和x1相同的坐标值赋给A点;S26,重复执行步骤S23~S25,直至元像素找完空旷区域左侧边框上最后一个点所在行,并创建完可开孔子区域outline;S27,如果执行完步骤S21~S26,还有未被原像素扫描的区域,则将此区域定义为空旷子区域,按照步骤S21~S26执行,直至空旷区域的空旷子区域中的可开孔区域outline都创建完为止。进一步地,步骤S21所述定义PCB的空旷区域左侧边框上点的坐标为(x,y),并且最靠近PCB上方的点为初始位置之前还包括:设置格点大小为0.1mil;设置原像素大小为50*50mil,原像素的形状为方形或圆形。进一步地,所述可开孔区域的开孔尺寸,为多个原像素的规则排列,或大于等于原像素的框,所述可开孔区域为一个或多个。本专利技术第二方面提供了一种PCB设计中自动添加散热开孔的系统,包括:空旷区域搜索模块,用于搜索PCB上的空旷区域;可开孔子区域创建模块,用于在所有的空旷区域创建大于等于原像素的可开孔子区域outline;可开孔子区域合并模块,用于将PCB上的所有可开孔子区域outline合并,并为合并后的outline画上边界,边界作为孔区域的开孔尺寸;禁布区创建模块,用于将所述开孔尺寸外扩20mil,画上禁止所有层布线的外框。进一步地,所述可开孔子区域创建模块包括:初始化单元、可开孔子区域创建单元、空旷子区域单元、循环单元;初始化单元用于定义PCB的空旷区域左侧边框上点的坐标、原像素的第一起始位置、元像素左上角顶点A的坐标和元像素左下角B的坐标;可开孔子区域创建单元用于创建可开孔子区域outline和调用循环单元;空旷子区域单元用于在空旷区域创建可开孔子区域outline时,寻找未被原像素扫描的区域,将此区域定义为空旷子区域,并调用可开孔子区域创建单元,在空旷子区域创建可开孔子区域outline;循环单元用于跳转至可开孔子区域创建单元。进一步地,可开孔子区域创建单元的创建过程为:将元像素从第一起始位置沿x方向以格点为步长向右移动,当原像素的右侧顶点与信号走线cline、信号过孔via、铜皮或零件重叠时,则元像素停止向右移动,以元像素四个顶点走过的轨迹创建可开孔子区域outline;调用循环单元,重复执行创建可开孔子区域的过程。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术提供的一种PCB设计中自动添加散热开孔的方法和系统,通过使用Skill语言编写程序,该Skill程序放入到Skill菜单中,执行该Skill程序,能实现自动查找PCB内所有可开孔区域,并快速添加outline及禁布区,不仅解决了现有方案中人工搜索可开孔区域带来的开孔率低和易遗漏可开孔点的问题,而且解决了人工添加开孔边框和禁布区带来的效率低的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所述方法流程框图;图2为本专利技术实施例所述可开本文档来自技高网
...

【技术保护点】
1.一种PCB设计中自动添加散热开孔的方法,其特征在于,所述方法包括:/nS1,搜索PCB上的空旷区域,所述空旷区域是一个或多个封闭的区域;/nS2,在所述空旷区域内创建大于等于原像素的可开孔子区域outline;/nS3,将PCB上的所有可开孔子区域outline合并,并为合并后的outline画上边界,合并后的outline边界尺寸即为开孔区域的开孔尺寸;/nS4,以所述开孔尺寸外扩20mil,画上禁止所有层布线的外框,外框即为禁布区Routkeepout_all。/n

【技术特征摘要】
1.一种PCB设计中自动添加散热开孔的方法,其特征在于,所述方法包括:
S1,搜索PCB上的空旷区域,所述空旷区域是一个或多个封闭的区域;
S2,在所述空旷区域内创建大于等于原像素的可开孔子区域outline;
S3,将PCB上的所有可开孔子区域outline合并,并为合并后的outline画上边界,合并后的outline边界尺寸即为开孔区域的开孔尺寸;
S4,以所述开孔尺寸外扩20mil,画上禁止所有层布线的外框,外框即为禁布区Routkeepout_all。


2.根据权利要求1所述的一种PCB设计中自动添加散热开孔的方法,其特征在于,所述PCB上的空旷区域,指区域的边缘所在的各信号层内没有信号走线cline、信号过孔via、铜皮和零件。


3.根据权利要求1所述的一种PCB设计中自动添加散热开孔的方法,其特征在于,步骤S2所述在一个空旷区域内寻找可开孔区域outline的过程为:
S21,定义PCB的空旷区域左侧边框上点的坐标为(x,y),并且最靠近PCB上方的点为初始位置;
S22,定义原像素的第一起始位置、元像素的左上角顶点A和左下角顶点B的坐标,A点为(x1,y1),B点为(x1,y1-50),第一起始位置为元像素的顶点A坐标与初始位置重合;
S23,元像素在第一起始位置,沿x方向以格点为步长向右移动,当移动n次后,原像素的右侧顶点与信号走线cline、信号过孔via、铜皮或零件重叠时,则元像素停止向右移动,记录此时原像素C、D两点的坐标,右上角C点为(x1+50+0.1(n-1),y1),右下角D点为(x1+50+0.1(n-1),y1-50);
S24,以步骤S22和S23中记录的A(x1,y1)、B(x1,y1-50)、C(x1+50+0.1(n-1),y1)、D(x1+50+0.1(n-1),y1-50)四个坐标创建outline,此outline为可开孔子区域;
S25,原像素回到第一起始位置并沿y方向向下移动一个格点的距离,A点变为(x1,y1-0.1),将空旷区域左侧边框上和x1相同的坐标值赋给A点;
S26,重复执行步骤S23~S25,直至元像素找完空旷区域左侧边框上最后一个点所在行,并创建完可开孔子区域outline;
S27,如果执行完步骤S21~S26,还有未被原像素扫描的区域,则将此区域定义为空旷子区域,按照步骤S21~S26执行,直至空旷区域...

【专利技术属性】
技术研发人员:王英娜
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1