一种IC芯片封装时避免焊线交叉的布线方法及系统技术方案

技术编号:35783466 阅读:21 留言:0更新日期:2022-12-01 14:29
本发明专利技术公开了一种IC芯片封装时避免焊线交叉的布线方法及系统,通过借鉴数控机床上刀补的操作原理,使用刀补算法配置打线区域,同时使用KM算法使得引脚内的焊线均有独立焊点且独立焊点在配置的打线区域内,通过排序与KM算法配合,避免了同一引脚上焊线的交叉,完成引脚上焊线落点的规范化和分离操作。引脚上焊线落点的规范化和分离操作。引脚上焊线落点的规范化和分离操作。

【技术实现步骤摘要】
一种IC芯片封装时避免焊线交叉的布线方法及系统


[0001]本专利技术涉及IC芯片封装设计领域,尤其是一种IC芯片封装时避免焊线交叉的布线方法及系统。

技术介绍

[0002]目前市场上普遍技术是根据图纸获取有焊线相交的引脚,对该引脚上的所有线的落点进行暴力枚举,并找出不相交的组合。
[0003]最接近本申请的同类技术通过对芯片进行布局布线获取芯片上布线拥塞区域,获取该区域中的多个标准单元。根据拥塞区域在芯片上的位置,对多个标准单元进行调整最终解决布线拥塞。
[0004]最接近的现有技术无法解决焊盘不动的情况下对焊线的不交叉分离操作,因为在IC封装领域中,芯片厂家对其焊盘的位置完全固定。作为封装这部分的设计,需要考虑如何将已有固定位置的焊盘拉线至引脚上。另一方面,引线框的设计也相对固定,没有办法针对每一种芯片产品就设计出一套独立的引线框设计,这样会导致封装成本上的增加。
[0005]因考虑到电器元件自身需要留有安全区域,而且焊线自身有半径,所以焊线落点不能过于靠近引脚的边缘。现阶段技术无法控制焊线与引脚边缘的距离,如果一个引脚上的焊线过多,有可能焊线会被分配到距离引脚不到该线型的半径的距离。另一方面,因为打线区域并不是利用所有的引脚空间,现有焊线分离技术不能尽可能控制焊线在打线区域内不会相交,且不兼容这样的安全区域内的分离操作。综上所述,如果遇到不符合设计规范的引脚,需要人工进行拖动,人工操作效率较低,而且可能导致误操作将引线拖动到其他引脚上,人工还需要对该引脚进行焊线分离操作,如果引脚上的焊线众多很有可能花费更多的时间。在每一次操作后仍需要进行图纸的正确性检查,带来更多人力和时间上的成本。

技术实现思路

[0006]专利技术目的:本专利技术的目的在于提供一种IC芯片封装时避免焊线交叉的布线方法及系统,通过借鉴数控机床上刀补的操作原理,融合KM配对算法,确保引脚内的焊线落点在配置的打线区域内,且避免同一引脚上焊线的交叉,从而完成一键对引脚上焊线落点的规范化和分离操作。
[0007]技术方案:本专利技术提供的一种IC芯片封装时避免焊线交叉的布线方法,包含以下步骤:1)配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;2)根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;3)判断焊线是否在该引脚内,若焊线在该引脚内部则进行下一步,若焊线不在引脚内部,则返回步骤2);4)获取该引脚上所有焊线数量,统计需要生成多少焊点;
5)判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;6)查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则进入步骤7);7)根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则循环步骤7);8)根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象进入下一个步骤;9)使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;10)判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
[0008]进一步的,步骤2)中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
[0009]进一步的,步骤3)中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含以下步骤:3.1)计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;3.2)做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;3.3)计算该射线与多段线的交点,过滤两个交点距离过近的点位;3.4)过滤由于射线的反向延长导致的将最近点作为交点的点位;3.5)若交点为多段线的顶点,将射线旋转角度再次进行判断;3.6)统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
[0010]进一步的,步骤9)中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
[0011]本专利技术对应提供一种IC芯片封装时避免焊线交叉的布线系统,包含配置模块、刀补模块、首次判断模块、信息采集模块、获取位置模块、查询模块、补充查询模块、排序模块、KM算法模块、二次判断模块;配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊
线的引脚,统计该引脚上所有焊线数量;刀补模块用以根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;首次判断模块用以判断焊线是否在该引脚内,若焊线在该引脚内部则进如信息采集模块,若焊线不在引脚内部,则返回刀补模块;信息采集模块用以获取该引脚上所有焊线数量,统计需要生成多少焊点;获取位置模块用以判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;查询模块用以查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则进入补偿查询模块;补充查询模块用以根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则循环补充查询模块;排序模块用以根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象则进入KM算法模块;KM算法模块用以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种IC芯片封装时避免焊线交叉的布线方法,其特征在于,包含以下步骤:1)配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;2)根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;3)判断焊线是否在该引脚内,若焊线在该引脚内部则进行下一步,若焊线不在引脚内部,则返回步骤2);4)获取该引脚上所有焊线数量,统计需要生成多少焊点;5)判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;6)查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则进入步骤7);7)根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则循环步骤7);8)根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象进入下一个步骤;9)使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;10)判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。2.根据权利要求1所述的IC芯片封装时避免焊线交叉的布线方法,其特征在于,步骤2)中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。3.根据权利要求1所述的IC芯片封装时避免焊线交叉的布线方法,其特征在于,步骤3)中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含以下步骤:3.1)计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;3.2)做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;3.3)计算该射线与多段线的交点,过滤两个交点距离过近的点位;3.4)过滤由于射线的反向延长导致的将最近点作为交点的点位;3.5)若交点为多段线的顶点,将射线的旋转角度再次进行判断;
3.6)统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。4.根据权利要求1所述的IC芯片封装时避免焊线交叉的布线方法,其特征在于,步骤9)中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。5.一种IC芯片封装时避免焊线交叉的布线系统,其特征在于,包含配置模块、刀补模块、首次判断模块、信息采集模块、获取位置模块、查询模块、补充查询模块、排序模块、KM算法模块、二次判断模块;配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;刀补模块用以根据配置的打线区域,使用刀补算法计算...

【专利技术属性】
技术研发人员:徐祖峰丁小果丁铎张大磊王德银
申请(专利权)人:江苏泰治科技股份有限公司
类型:发明
国别省市:

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

1