CN115410935A - 一种ic芯片封装时避免焊线交叉的布线方法及系统 - Google Patents
一种ic芯片封装时避免焊线交叉的布线方法及系统 Download PDFInfo
- Publication number
- CN115410935A CN115410935A CN202211051956.5A CN202211051956A CN115410935A CN 115410935 A CN115410935 A CN 115410935A CN 202211051956 A CN202211051956 A CN 202211051956A CN 115410935 A CN115410935 A CN 115410935A
- Authority
- CN
- China
- Prior art keywords
- points
- point
- welding
- bonding
- wires
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/80—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
- H01L24/85—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a wire connector
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/80—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
- H01L2224/85—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a wire connector
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/80—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
- H01L2224/85—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a wire connector
- H01L2224/85986—Specific sequence of steps, e.g. repetition of manufacturing steps, time sequence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Wire Bonding (AREA)
Abstract
本发明公开了一种IC芯片封装时避免焊线交叉的布线方法及系统,通过借鉴数控机床上刀补的操作原理,使用刀补算法配置打线区域,同时使用KM算法使得引脚内的焊线均有独立焊点且独立焊点在配置的打线区域内,通过排序与KM算法配合,避免了同一引脚上焊线的交叉,完成引脚上焊线落点的规范化和分离操作。
Description
技术领域
本发明涉及IC芯片封装设计领域,尤其是一种IC芯片封装时避免焊线交叉的布线方法及系统。
背景技术
目前市场上普遍技术是根据图纸获取有焊线相交的引脚,对该引脚上的所有线的落点进行暴力枚举,并找出不相交的组合。
最接近本申请的同类技术通过对芯片进行布局布线获取芯片上布线拥塞区域,获取该区域中的多个标准单元。根据拥塞区域在芯片上的位置,对多个标准单元进行调整最终解决布线拥塞。
最接近的现有技术无法解决焊盘不动的情况下对焊线的不交叉分离操作,因为在IC封装领域中,芯片厂家对其焊盘的位置完全固定。作为封装这部分的设计,需要考虑如何将已有固定位置的焊盘拉线至引脚上。另一方面,引线框的设计也相对固定,没有办法针对每一种芯片产品就设计出一套独立的引线框设计,这样会导致封装成本上的增加。
因考虑到电器元件自身需要留有安全区域,而且焊线自身有半径,所以焊线落点不能过于靠近引脚的边缘。现阶段技术无法控制焊线与引脚边缘的距离,如果一个引脚上的焊线过多,有可能焊线会被分配到距离引脚不到该线型的半径的距离。另一方面,因为打线区域并不是利用所有的引脚空间,现有焊线分离技术不能尽可能控制焊线在打线区域内不会相交,且不兼容这样的安全区域内的分离操作。综上所述,如果遇到不符合设计规范的引脚,需要人工进行拖动,人工操作效率较低,而且可能导致误操作将引线拖动到其他引脚上,人工还需要对该引脚进行焊线分离操作,如果引脚上的焊线众多很有可能花费更多的时间。在每一次操作后仍需要进行图纸的正确性检查,带来更多人力和时间上的成本。
发明内容
发明目的:本发明的目的在于提供一种IC芯片封装时避免焊线交叉的布线方法及系统,通过借鉴数控机床上刀补的操作原理,融合KM配对算法,确保引脚内的焊线落点在配置的打线区域内,且避免同一引脚上焊线的交叉,从而完成一键对引脚上焊线落点的规范化和分离操作。
技术方案:本发明提供的一种IC芯片封装时避免焊线交叉的布线方法,包含以下步骤:
1)配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;
2)根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;
3)判断焊线是否在该引脚内,若焊线在该引脚内部则进行下一步,若焊线不在引脚内部,则返回步骤2);
4)获取该引脚上所有焊线数量,统计需要生成多少焊点;
5)判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;
6)查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则进入步骤7);
7)根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则循环步骤7);
8)根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象进入下一个步骤;
9)使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;
10)判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
进一步的,步骤2)中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;
每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
进一步的,步骤3)中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含以下步骤:
3.1)计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;
3.2)做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;
3.3)计算该射线与多段线的交点,过滤两个交点距离过近的点位;
3.4)过滤由于射线的反向延长导致的将最近点作为交点的点位;
3.5)若交点为多段线的顶点,将射线旋转角度再次进行判断;
3.6)统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
进一步的,步骤9)中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
本发明对应提供一种IC芯片封装时避免焊线交叉的布线系统,包含配置模块、刀补模块、首次判断模块、信息采集模块、获取位置模块、查询模块、补充查询模块、排序模块、KM算法模块、二次判断模块;
配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;
刀补模块用以根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;
首次判断模块用以判断焊线是否在该引脚内,若焊线在该引脚内部则进如信息采集模块,若焊线不在引脚内部,则返回刀补模块;
信息采集模块用以获取该引脚上所有焊线数量,统计需要生成多少焊点;
获取位置模块用以判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;
查询模块用以查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则进入补偿查询模块;
补充查询模块用以根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则循环补充查询模块;
排序模块用以根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象则进入KM算法模块;
KM算法模块用以使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;
二次判断模块用以判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
进一步的,刀补模块中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;
每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
进一步的,首次判断模块中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含,计算距离单元、射线单元、计算交点单元、过滤交点单元、旋转角度单元、统计单元;
计算距离单元用以计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;
射线单元用以做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;
计算交点单元用以计算该射线与多段线的交点,过滤两个交点距离过近的点位;
过滤交点单元用以过滤由于射线的反向延长导致的将最近点作为交点的点位;
旋转角度单元用以根据交点为多段线的顶点情况,将射线的旋转极小的角度再次进行判断;
统计单元用以统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
进一步的,KM算法模块中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
有益效果:本发明与现有技术相比,通过借鉴数控机床上刀补的操作原理,使用刀补算法配置打线区域,同时使用KM算法使得引脚内的焊线均有独立焊点且独立焊点在配置的打线区域内,通过排序与KM算法配合,避免了同一引脚上焊线的交叉,完成引脚上焊线落点的规范化和分离操作。
附图说明
图1是本发明的流程示意图。
图2是本发明中打线区域参数示意图。
图3是本发明中刀补后打线区域轮廓图。
图4是本发明中排序完成后示意图。
图5是本发明中KM算法匹配总示意图。
图6是本发明中KM算法匹配第一及第二轮示意图。
图7是本发明中KM算法匹配第三轮示意图。
图8是本发明中KM算法匹配完成后示意图。
具体实施方式
下面结合附图及具体实施例对本发明做进一步的详细说明。
实施例1
本发明提供的一种IC芯片封装时避免焊线交叉的布线方法,请参阅图1所示,包含以下步骤:
1)配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量,如图2所示,常用的实施方式可以是通过软件界面进行配置或者通过配置文件的方式进行配置。
2)请参阅图3所示,根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓。
使用刀补算法计算打线区域的轮廓,刀补包含直线到直线、直线到圆弧、圆弧到直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;
每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
2.1)直线到直线:
2.2)直线到圆弧:
其中
2.3)圆弧到直线:
其中
3)判断焊线是否在该引脚内,若焊线在该引脚内部则进行下一步,若焊线不在引脚内部,则返回步骤2)。
判断焊线是否在引脚内,引脚都是由多段线组成,所以使用如下描述的射线法进行判断落点是否在多段线内部,设定测量点为需判断的焊线落点,多段线为引脚的边框线。
3.1)计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上。
3.2)做一条起点为测量点,方向为从最近点出发朝着到测量点的射线。
3.3)计算该射线与多段线的交点,过滤两个交点距离过近的点位;防止由于多端线有小型齿距导致的多个交点而影响判断。
3.4)过滤由于射线的反向延长导致的将最近点作为交点的点位。
3.5)若交点为多段线的顶点,将射线的旋转极小的角度再次进行判断,即考虑射线通过顶点的情况。
3.6)统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
4)获取该引脚上所有焊线数量,统计需要生成多少焊点。
5)判断该引脚位置,获取方向向量,使得焊线垂直于方向向量。
获取引脚在引线框哪一侧有很多不同的方式,本实施例1以封装线为依据,判断引脚在封装线的哪一侧,方向向量为2D向量,如果在左侧,方向向量的x值为-1,右侧为1,如果在上侧方向向量y的值为1,下侧为-1。
6)查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则进入步骤7)。
7)根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则循环步骤7)。
8)请参阅图4所示,根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最左的落点和引脚上最左的焊点相连,即焊线另一端最大的坐标和引脚上最大的坐标一对一连接,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象进入下一个步骤。
9)请参阅图5所示,使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求。
最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
请参阅图4所示,仍有三条线存在相交叉的情况,提取三条线各自的两个端点,将在引脚内的端点放入一个集合组U,不在引脚一侧的端点放入另一个集合组V,这样形成了左右两个点集合,此时寻找左边点集合中每个点权重最大的匹配,以此两两相连形成不交叉的线。
假设匹配的权重如图6所示,每个集合组U中的点与集合组V均有配对的可能性。
10)判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
实施例2
对应实施例1所述的一种IC芯片封装时避免焊线交叉的布线方法,本实施例2提供一种IC芯片封装时避免焊线交叉的布线系统,请参阅图1所示,包含配置模块、刀补模块、首次判断模块、信息采集模块、获取位置模块、查询模块、补充查询模块、排序模块、KM算法模块、二次判断模块。
配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量,如图2所示,常用的实施方式可以是通过软件界面进行配置或者通过配置文件的方式进行配置。
刀补模块用以根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓。
请参阅图3所示,使用刀补算法计算打线区域的轮廓,刀补包含直线到直线、直线到圆弧、圆弧到直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;
每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
直线到直线:
直线到圆弧:
根据转接角分为两种情况:
其中
圆弧到直线:
其中
首次判断模块用以判断焊线是否在该引脚内,若焊线在该引脚内部则进如信息采集模块,若焊线不在引脚内部,则返回刀补模块。
判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含,计算距离单元、射线单元、计算交点单元、过滤交点单元、旋转角度单元、统计单元。
计算距离单元用以计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上。
射线单元用以做一条起点为测量点,方向为从最近点出发朝着到测量点的射线。
计算交点单元用以计算该射线与多段线的交点,过滤两个交点距离过近的点位。
过滤交点单元用以过滤由于射线的反向延长导致的将最近点作为交点的点位。
旋转角度单元用以根据交点为多段线的顶点情况,将射线的旋转极小的角度再次进行判断。
统计单元用以统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
信息采集模块用以获取该引脚上所有焊线数量,统计需要生成多少焊点。
获取位置模块用以判断该引脚位置,获取方向向量,使得焊线垂直于方向向量。
获取引脚在引线框哪一侧有很多不同的方式,本实施例1以封装线为依据,判断引脚在封装线的哪一侧,方向向量为2D向量,如果在左侧,方向向量的x值为-1,右侧为1,如果在上侧方向向量y的值为1,下侧为-1。
查询模块用以查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则进入补偿查询模块。
补充查询模块用以根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则循环补充查询模块。
排序模块用以根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最左的落点和引脚上最左的焊点相连,即焊线另一端最大的坐标和引脚上最大的坐标一对一连接,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象则进入KM算法模块。
KM算法模块用以使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求。
最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
请参阅图4所示,仍有三条线存在相交叉的情况,提取三条线各自的两个端点,将在引脚内的端点放入一个集合组U,不在引脚一侧的端点放入另一个集合组V,这样形成了左右两个点集合,此时寻找左边点集合中每个点权重最大的匹配,以此两两相连形成不交叉的线。
假设匹配的权重如图6所示,每个集合组U中的点与集合组V均有配对的可能性。
二次判断模块用以判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
Claims (10)
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算法模块、二次判断模块;
配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;
刀补模块用以根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;
首次判断模块用以判断焊线是否在该引脚内,若焊线在该引脚内部则进如信息采集模块,若焊线不在引脚内部,则返回刀补模块;
信息采集模块用以获取该引脚上所有焊线数量,统计需要生成多少焊点;
获取位置模块用以判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;
查询模块用以查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则进入补偿查询模块;
补充查询模块用以根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则循环补充查询模块;
排序模块用以根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象则进入KM算法模块;
KM算法模块用以使用KM算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;
二次判断模块用以判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
6.根据权利要求5所述的IC芯片封装时避免焊线交叉的布线系统,其特征在于,刀补模块中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;
每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
7.根据权利要求5所述的IC芯片封装时避免焊线交叉的布线系统,其特征在于,首次判断模块中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含,计算距离单元、射线单元、计算交点单元、过滤交点单元、旋转角度单元、统计单元;
计算距离单元用以计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;
射线单元用以做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;
计算交点单元用以计算该射线与多段线的交点,过滤两个交点距离过近的点位;
过滤交点单元用以过滤由于射线的反向延长导致的将最近点作为交点的点位;
旋转角度单元用以根据交点为多段线的顶点情况,将射线的旋转极小的角度再次进行判断;
统计单元用以统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
8.根据权利要求5所述的IC芯片封装时避免焊线交叉的布线系统,其特征在于,KM算法模块中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至权利要求4所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求4所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211051956.5A CN115410935B (zh) | 2022-08-30 | 2022-08-30 | 一种ic芯片封装时避免焊线交叉的布线方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211051956.5A CN115410935B (zh) | 2022-08-30 | 2022-08-30 | 一种ic芯片封装时避免焊线交叉的布线方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115410935A true CN115410935A (zh) | 2022-11-29 |
CN115410935B CN115410935B (zh) | 2023-09-26 |
Family
ID=84164233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211051956.5A Active CN115410935B (zh) | 2022-08-30 | 2022-08-30 | 一种ic芯片封装时避免焊线交叉的布线方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115410935B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000031197A (ja) * | 1998-07-08 | 2000-01-28 | Nec Ic Microcomput Syst Ltd | ワイヤボンディングパッドの自動検索装置及び検索方法 |
JP2004287681A (ja) * | 2003-03-20 | 2004-10-14 | Hitachi Ltd | 配線設計支援システム、および、配線設計支援方法 |
US20060161873A1 (en) * | 2005-01-14 | 2006-07-20 | Shinji Hara | Method for designing integrated circuit package and method for manufacturing same |
US20060294487A1 (en) * | 2005-06-23 | 2006-12-28 | International Business Machines Corporation | Auto connection assignment system and method |
US20070245276A1 (en) * | 2002-07-12 | 2007-10-18 | Kabushiki Kaisha Toshiba | System, method and computer program product for designing connecting terminals of semiconductor device |
CN101131978A (zh) * | 2006-08-21 | 2008-02-27 | 南茂科技股份有限公司 | 集成电路封装构造及其使用的多层导线架 |
US20100007005A1 (en) * | 2008-07-04 | 2010-01-14 | Nec Electronics Corporation | Semiconductor device |
CN102169855A (zh) * | 2010-01-28 | 2011-08-31 | 瑞萨电子株式会社 | 互连结构及其设计方法 |
CN103117263A (zh) * | 2013-01-31 | 2013-05-22 | 建荣集成电路科技(珠海)有限公司 | 一种集成电路封装 |
US8558398B1 (en) * | 2012-10-22 | 2013-10-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Bond wire arrangement for minimizing crosstalk |
WO2017157048A1 (zh) * | 2016-03-15 | 2017-09-21 | 厦门亿力吉奥信息科技有限公司 | 电网系统图自动化布局克服交叉的方法及系统、存储介质 |
CN109273425A (zh) * | 2018-10-26 | 2019-01-25 | 星科金朋半导体(江阴)有限公司 | 一种引线框架封装结构的布线方法 |
-
2022
- 2022-08-30 CN CN202211051956.5A patent/CN115410935B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000031197A (ja) * | 1998-07-08 | 2000-01-28 | Nec Ic Microcomput Syst Ltd | ワイヤボンディングパッドの自動検索装置及び検索方法 |
US20070245276A1 (en) * | 2002-07-12 | 2007-10-18 | Kabushiki Kaisha Toshiba | System, method and computer program product for designing connecting terminals of semiconductor device |
JP2004287681A (ja) * | 2003-03-20 | 2004-10-14 | Hitachi Ltd | 配線設計支援システム、および、配線設計支援方法 |
US20060161873A1 (en) * | 2005-01-14 | 2006-07-20 | Shinji Hara | Method for designing integrated circuit package and method for manufacturing same |
US20060294487A1 (en) * | 2005-06-23 | 2006-12-28 | International Business Machines Corporation | Auto connection assignment system and method |
CN101131978A (zh) * | 2006-08-21 | 2008-02-27 | 南茂科技股份有限公司 | 集成电路封装构造及其使用的多层导线架 |
US20100007005A1 (en) * | 2008-07-04 | 2010-01-14 | Nec Electronics Corporation | Semiconductor device |
CN102169855A (zh) * | 2010-01-28 | 2011-08-31 | 瑞萨电子株式会社 | 互连结构及其设计方法 |
US8558398B1 (en) * | 2012-10-22 | 2013-10-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Bond wire arrangement for minimizing crosstalk |
CN103117263A (zh) * | 2013-01-31 | 2013-05-22 | 建荣集成电路科技(珠海)有限公司 | 一种集成电路封装 |
WO2017157048A1 (zh) * | 2016-03-15 | 2017-09-21 | 厦门亿力吉奥信息科技有限公司 | 电网系统图自动化布局克服交叉的方法及系统、存储介质 |
CN109273425A (zh) * | 2018-10-26 | 2019-01-25 | 星科金朋半导体(江阴)有限公司 | 一种引线框架封装结构的布线方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115410935B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7496878B2 (en) | Automatic wiring method and apparatus for semiconductor package and automatic identifying method and apparatus for semiconductor package | |
CN104809264A (zh) | 用于创建集成电路布局方法、计算机系统及可读储存媒介 | |
CN110164789A (zh) | 晶圆测试方法及晶圆测试装置 | |
US20100110078A1 (en) | Method and computer program product for plotting distribution area of data points in scatter diagram | |
CN110968983B (zh) | 一种交互式布线方法 | |
US6976236B1 (en) | Method for automatically routing connections between top side conductors and bottom side conductors of an integrated circuit package | |
US8225268B2 (en) | Wiring design method for wiring board | |
CN109783956A (zh) | 基于区域划分的最大跳变时间违例修复方法及系统 | |
CN107306151A (zh) | 一种bob设备的校准方法及其装置 | |
US8440474B2 (en) | Chip quality determination method and marking mechanism using same | |
CN114861581A (zh) | 基于图像识别的可编程逻辑器件的辅助编程设计方法 | |
CN115410935A (zh) | 一种ic芯片封装时避免焊线交叉的布线方法及系统 | |
CN116796691A (zh) | 一种多电压域SoC芯片中数模接口绕线处理方法及系统 | |
CN113591430B (zh) | 检测版图布线线网违例的方法 | |
CN112800716B (zh) | 一种集成电路版图布线中线网开路检测方法 | |
WO2022110114A1 (zh) | 电路版图的识别方法及识别设备 | |
CN113966080A (zh) | 一种串扰及走线阻抗突变的标识方法及相关装置 | |
JP4311244B2 (ja) | 配線経路決定方法及びシステム | |
CN109697117A (zh) | 终端控制方法、装置以及计算机可读存储介质 | |
JP2004258869A (ja) | 実装回路設計方法、実装回路設計システムおよび実装回路設計プログラム | |
CN115763342A (zh) | 芯片位置的调整方法、装置、终端及存储介质 | |
US7397256B2 (en) | Automatic design method for semiconductor device | |
JP3335916B2 (ja) | ワイヤボンディングパッドの自動検索装置及び検索方法 | |
CN113966084A (zh) | 坐标文件和Gerber文件中焊盘的自动对位方法 | |
WO2015039339A1 (en) | Apparatus and method for fanout of flip chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |