CN111291528A - 一种用于不同绕线层间的3d绕线方法及系统 - Google Patents
一种用于不同绕线层间的3d绕线方法及系统 Download PDFInfo
- Publication number
- CN111291528A CN111291528A CN202010070338.XA CN202010070338A CN111291528A CN 111291528 A CN111291528 A CN 111291528A CN 202010070338 A CN202010070338 A CN 202010070338A CN 111291528 A CN111291528 A CN 111291528A
- Authority
- CN
- China
- Prior art keywords
- winding
- node
- nodes
- wound
- adj
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Coil Winding Methods And Apparatuses (AREA)
Abstract
本发明提供一种多层绕线的方法及系统,用于解决集成电路三维绕线中存在的绕线碰撞问题,绕线方法体包括下述步骤:步骤(1):初始化绕线信息;步骤(2):创建绕线轨迹和节点;步骤(3):布线;步骤(4):绕线结束判断;对于使用不同绕线宽度和绕线间隔的不同绕线层,本发明的3D绕线方法也能适用该种情况下的多层绕线。
Description
技术领域
本发明是关于集成电路技术领域,特别涉及一种用于不同绕线层间的3D绕线方法及系统。
背景技术
随着集成电路技术的快速发展,集成电路进入了超深亚微米时代,这样使得电子器件的特征尺寸越来越小,芯片的规模越来越大,越来越多的元器件可以集成在单一的芯片上,复杂度急剧上升,而对于版图中的布线方法由人工设计布线方法早已无法满足集成电路设计的需要,计算机自动布线已经在版图设计布线中占有越来越大的比例。而布线的算法对于布线的速度、效率有着极其重要的影响,如何能够设计出所需要时间空间更少、复杂度更低、效率更高的算法成为了半导体计算机辅助设计所面临的巨大问题。针对于详细布线,传统的平面布线算法比较常见的方法有:
1、李氏迷宫绕线算法(Lee’s Maze Routing Algorithm):该绕线算法是一种单网络绕线算法;首先将绕线平面划分为大小一致的均匀网格,从起始网格开始,设置其水平与垂直方向的相邻网格,并且未被占用的4个网格的代价值,迭代这一步骤,代价值按照升序增加,最终搜索到目标网格,从目标网格回溯到起始网格,从而得到最短路径。该算法对于单网络绕线效果较好,但存在效率低、存储需求大的问题。
2、顺序绕线算法(Sequential Routing):该算法是一种多网络绕线算法;首先设置待绕线网络的绕线顺序,按照顺序对待绕线网络进行绕线,当一个网络完成绕线,则更新全局绕线资源的拥塞度,这会导致后续待绕线的网络被迫使用过拥塞的绕线资源。该绕线算法对于绕线的顺序异常敏感,通常会导致先绕线完成的网络影响到后绕线的网络。
由上可知,传统的绕线方法主要针对单一平面绕线,对于绕线过程中产生的绕线冲突问题并没有较好的解决方案,通常会引起先生成的绕线阻挡了后续生成的绕线,最终导致绕线失败;并且传统的绕线方法通常会产生密集的绕线节点,在绕线时需要消耗更多的内存。因此,在集成电路三维绕线领域,还没有一种成熟的多层绕线方法。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种多层绕线的方法及系统,用于解决集成电路三维绕线中存在的绕线碰撞问题。为解决上述技术问题,本发明的解决方案是:
提供一种用于不同绕线层间的3D绕线方法,具体包括下述步骤:
步骤(1):初始化绕线信息;
获取信息包括待绕线网络、绕线平面、元器件和障碍物的信息;其中,所述待绕线网络中包括两个待绕线元器件的信息(包括待绕线元器件的位置、待绕线引脚的信息等);所述绕线平面有N个,N为大于0的自然数,N个绕线平面相互平行;预设每个绕线平面的绕线宽度和绕线间隔:设第i个绕线平面的绕线宽度为Wi,绕线间隔为Si,i∈(1,2,…,N-1,N);
取一个待绕线网络进行后续步骤处理;
步骤(2):创建绕线轨迹和节点;
分别在每个绕线平面的绕线区域中创建绕线轨迹,包括水平绕线轨迹和垂直绕线轨迹,且在每个绕线平面中,水平绕线轨迹和垂直绕线轨迹的交点为节点;
所有绕线平面中的节点形成3D的节点矩阵,并设定邻接节点:在同一绕线平面中水平或垂直方向上相邻的节点,或者沿着垂直于绕线平面方向上相邻绕线平面中的节点(即具有相同平面坐标但属于相邻绕线平面的节点);
步骤(3):布线;
获取待绕线网络的起始引脚和目的引脚,确定起始节点和目的节点,利用碰撞检测探索从起始节点到目的节点的路径;所述碰撞检测是指对于探索到的满足距离条件的节点,根据该节点及其邻接节点的位置信息,来判断该节点是否能够绕线;所述距离条件是指:设该节点在第i个绕线平面中,则该节点与第i个绕线平面中的当前探索的布线路径中已确定的路径节点的距离,大于预设的阈值Ki;Ki是第i个绕线平面预设的阈值(一般可设Ki=Wi+Si),i∈(1,2,…,N-1,N);
若该待绕线网络的布线探索成功,进行绕线以生成绕线拓扑结构,即该待绕线网络成功绕线;否则,该待绕线网络绕线失败;
步骤(4):绕线结束判断;
判断是否还有未处理的待绕线网络,若有,则取一个待绕线网络并至步骤(2)执行,否则完成绕线,获得绕线结果。
作为进一步的改进,所述步骤(2)中,在每个绕线平面中,分别根据绕线区域、元器件、待绕线引脚、障碍物和绕线拓扑结构创建绕线轨迹,包括水平绕线轨迹和垂直绕线轨迹,能形成大小不同的稀疏网格;预设每个绕线平面的绕线宽度和绕线间隔:设第i个绕线平面的绕线宽度为Wi,绕线间隔为Si,i∈(1,2,…,N-1,N);绕线轨迹创建方式具体如下:
对每个绕线平面中的绕线区域创建绕线轨迹:绕线区域至少包括若干条水平的绕线轨迹和若干条垂直的绕线轨迹,绕线区域为矩形的区域,设绕线区域边缘的左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury),设垂直绕线轨迹的横坐标分别为px1i,px2i,水平绕线轨迹的纵坐标分别为py1i,py2i,i∈(1,2,…,N-1,N),则满足:
px1i=llx+Wi/2
px2i=urx-Wi/2
py1i=lly+Wi/2
py2i=ury-Wi/2
对每个绕线平面中的元器件或障碍物创建绕线轨迹:首先获取能够包含该元器件或障碍物的最小矩形,设该矩形的左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury),每个元器件或障碍物至少包括若干条水平的绕线轨迹和若干条垂直的绕线轨迹,设垂直绕线轨迹的横坐标分别为px1,px2,px3i,px4i,px5i,px6i,水平绕线轨迹的纵坐标分别为py1,py2,py3i,py4i,py5i,py6i,i∈(1,2,…,N-1,N),则满足:
px3i=llx-Wi-Si
px4i=llx-Si
px1=llx
px2=urx
px5i=urx+Si
px6i=urx+Wi+Si
py3i=lly-Wi-Si
py4i=lly-Si
py1=lly
py2=ury
py5i=ury+Si
py6i=ury+Wi+Si
对第i个绕线平面中的引脚创建绕线轨迹:引脚至少包括3条绕线轨迹,引脚为矩形的引脚,根据引脚不同的引出方向分别进行创建:
若引脚的引出方向为水平方向,设引脚的下上边缘的纵坐标分别为py1,py2,3条绕线轨迹都是水平的绕线轨迹且纵坐标分别为Y1,Y2,Y3,则满足:
Y1=py1-Wi/2-Si
Y2=(py1+py2)/2
Y3=py2+Wi/2+Si
若引脚的引出方向为垂直方向,设引脚的左右边缘的横坐标分别为px1,px2,3条绕线轨迹都是垂直的绕线轨迹且横坐标分别为X1,X2,X3,则满足:
X1=px1-Wi/2-Si
X2=(px1+px2)/2
X3=px2+Wi/2+Si
对第i个绕线平面中的绕线拓扑结构创建绕线轨迹:先将绕线拓扑结构分割为若干个矩形拓扑结构,包括沿着水平方向的矩形拓扑结构和沿着垂直方向的矩形拓扑结构;每个分割后的矩形拓扑结构至少包括4条绕线轨迹,根据矩形拓扑结构不同的方向分别进行创建:
若矩形拓扑结构是沿着水平方向的拓扑结构,设该矩形拓扑结构下上边缘的纵坐标分别为sy1,sy2,4条绕线轨迹都是水平的绕线轨迹且纵坐标分别为Y1,Y2,Y3,Y4,则满足:
Y1=sy1-Wi/2-Si
Y2=sy1
Y3=sy2
Y4=sy2+Wi/2+Si
若矩形拓扑结构是沿着垂直方向的拓扑结构,设该矩形拓扑结构左右边缘的横坐标分别为sx1,sx2,4条绕线轨迹都是垂直的绕线轨迹且横坐标分别为X1,X2,X3,X4,则满足:
X1=sx1-Wi/2-Si
X2=sx1
X3=sx2
X4=sx2+Wi/2+Si。
作为进一步的改进,所述步骤(2)中,还根据每个节点与绕线区域、元器件、障碍物、绕线拓扑结构的位置关系,设置节点的状态:无效节点、遮挡节点或普通节点;以及根据预设的绕线宽度和节点的位置信息,设置每个节点在水平方向上和在垂直方向上占据的宽度;
其中,无效节点是指不在绕线区域内的节点,以及在元器件或障碍物影响范围内的节点;具体判断方法为:设第i个绕线平面内某一个节点坐标为(x,y),当该节点满足下述任意一项条件,则该节点为无效节点;
条件1)设第i个绕线平面内绕线区域的左下角和右上角的坐标分别为(mLLX,mLLY)和(mURX,mURY),该节点满足:x≤mLLX+Wi/2,或者x≥mURX-Wi/2,或者y≤mLLY+Wi/2,或者y≥mURY-Wi/2;所述Wi是指第i个绕线平面的绕线宽度;
条件2)设第i个绕线平面内某元器件或障碍物的左下角和右上角的坐标分别为(X1,Y1)和(X2,Y2),该节点满足:X1-Si≤x≤X2+Si且Y1-Si≤y≤Y2+Si;所述Si是指第i个绕线平面的绕线间隔;
故,第i个绕线平面内,某左下角和右上角的坐标分别为(X1,Y1)和(X2,Y2)的元器件或障碍物影响范围是指:X1-Si≤x≤X2+Si且Y1-Si≤y≤Y2+Si;
遮挡节点是指在绕线拓扑结构影响范围内的节点,具体判断方法为:绕线拓扑结构被分割为若干个矩形拓扑结构,设某矩形拓扑结构的左下角和右上角的坐标分别为(X1,Y1),(X2,Y2),设绕线平面内某一个节点坐标为(x,y),如果满足下述条件则该节点为遮挡节点:X1≤x≤X2且Y1≤y≤Y2;
普通节点是指除无效节点和遮挡节点外的剩余节点。
作为进一步的改进,所述无效节点还包括在间接影响范围内的节点;所述间接影响范围是指:相邻绕线平面中元器件或障碍物的影响范围,投影到本绕线平面上的影响范围。
作为进一步的改进,根据预设的绕线宽度和节点的位置信息,设置每个节点在水平方向上和在垂直方向上占据的宽度(可仅设置遮挡节点和普通节点占据的宽度,无效节点不进行设置),方法具体如下:
先初始化每个节点占据的宽度,设该节点是第i个绕线平面中的节点:
x_occupied_width=Wi
y_occupied_width=Wi
其中,所述x_occupied_width是指节点在水平方向上占据的宽度,所述y_occupied_width是指节点在垂直方向上占据的宽度;所述Wi是指第i个绕线平面预设的绕线宽度;
再依次判断每个节点是否在引脚引出线上,所述引脚的引出线是指以该引脚的引出点为端点,以该引脚的引出方向作为方向,而产生的射线;若某节点在水平的引脚引出线上,设该引脚的上下边缘的垂直坐标值分别为py1,py2,该节点在垂直方向占据的宽度设为:y_occupied_width=py1-py2;若某节点在垂直的引脚引出线上,设该引脚的左右边缘的水平坐标值分别为px1,px2,该节点在水平方向占据的宽度设为:x_occupied_width=px2-px1。
作为进一步的改进,所述步骤(3)中,获取待绕线网络的起始引脚和目的引脚后,根据引脚的引出点和引出方向,确定起始节点和目的节点;
具体确定方法为:在第i个绕线平面内,在引脚引出线上距离引出点Si距离处,沿着垂直于引脚的引出方向创建一条直线,该直线与引脚引出线的交点即作为该起始引脚的起始节点或该目的引脚的目的节点;所述引脚引出线是指以该引脚的引出点为端点,以该引脚的引出方向作为方向,而产生的射线;所述Si是指第i个绕线平面预设的绕线间距。
作为进一步的改进,所述步骤(3)中,在布线探索过程中,遍历探索当前节点Cur_grid除其父节点外的邻接节点(起始节点为首个当前节点,且起始节点无父节点),获取满足距离条件的普通节点状态的邻接节点adj;所述距离条件是指:设该节点在第i个绕线平面中,则该节点与第i个绕线平面中的当前探索的布线路径中已确定的路径节点的距离,大于预设的阈值Ki;Ki是第i个绕线平面预设的阈值(一般可设Ki=Wi+Si),i∈(1,2,…,N-1,N);再利用碰撞检测分别判断每个adj是否能够绕线,将能够绕线的adj作为候选节点,用于从候选节点中确定新的当前节点;
利用碰撞检测分别判断每个adj是否能够绕线,具体如下:
遍历adj的探索方向,探索adj在每个探索方向上的邻接节点check_node;若adj获取到邻接节点check_node,则依次利用每个check_node判断adj是否可绕,当利用所有check_node都分别得出adj可绕,则判断该adj能够绕线,当存在利用任一个check_node得出adj不可绕,则判断该adj不能够绕线并结束碰撞检测;
任取一个check_node,判断adj是否可绕:设adj为第i个绕线平面中的节点,先计算check_node和adj之间的距离dist,并根据不同的情况判断adj是否可绕:
情况1)若check_node是目的节点,则判断adj可绕;
情况2)若check_node是无效节点,当dist不小于阈值Ai,则判断adj可绕,否则判断adj不可绕;所述阈值Ai是第i个绕线平面中预设的阈值;
情况3)若check_node是遮挡节点,当dist不小于阈值Bi,则判断adj可绕,否则判断adj不可绕;所述阈值Bi是第i个绕线平面中预设的阈值;
情况4)若check_node是普通节点,则根据dist以及check_node的位置信息,来判断adj是否可绕。
作为进一步的改进,从候选节点中选择代价最小的一个节点作为新的当前节点;设候选节点是第i个绕线平面中的节点,则该候选节点的代价new_cost的计算方式为:new_cost=dist/Wi+cost;其中,所述dist是指候选节点到目的节点的距离;所述Wi是指第i个绕线平面预设的绕线宽度;所述cost是当前节点的代价。
作为进一步的改进,当候选节点中,代价最小的节点不只一个时,则从候选节点中选择代价最小且转弯值最小的节点作为新的当前节点;
候选节点的转弯值turn_cnt的计算方式为:
若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向不同,则trun_cnt=turn_count+1;
若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向相同,则trun_cnt=turn_count;
其中,所述turn_count为当前节点cur_grid的转弯值。
作为进一步的改进,当候选节点中,代价和转弯值都最小的节点不只一个时,则从候选节点中选择代价、转弯值和使用层数都最小的节点作为新的当前节点;候选节点的使用层数是指该当前节点到该候选节点所经过的绕线平面层数。
作为进一步的改进,所述步骤(3)中,对于布线探索成功的待绕线网络,根据路径中每个节点的绕线宽度进行绕线以生成绕线拓扑结构;所述节点的绕线宽度是指:当生成水平方向的绕线拓扑结构时,以节点在垂直方向上占据的宽度作为绕线宽度,当生成垂直方向的绕线拓扑结构时,以节点在水平方向上占据的宽度作为绕线宽度。
提供一种存储设备,其中存储有多条指令,所述指令适用于处理器加载并执行:上述的用于不同绕线层间的3D绕线方法。
提供一种用于不同绕线层间的3D绕线系统,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行:上述的用于不同绕线层间的3D绕线方法。
与现有技术相比,本发明的有益效果是:
1、对于使用不同绕线宽度和绕线间隔的不同绕线层,本发明的3D绕线方法也能适用该种情况下的多层绕线。
2、本发明在绕线过程采用多方向的探索,包括层间的探索,避免了单层绕线产生绕线失败的情况。
3、本发明在探索的过程中对探索节点的周围节点进行碰撞检测,能够及时判断节点是否能够用于绕线。
4、本发明不再局限于固定的绕线轨迹的间隔,能够根据pin的宽度来设置与pin直线连接的绕线的宽度。
附图说明
图1为实施例中绕线区域的绕线轨迹创建示意图。
图2为实施例中引脚的绕线轨迹创建示意图。
图3为实施例中引脚的绕线轨迹创建示意图。
图4为实施例中无效节点的示意图。
图5为实施例中绕线路径探索的示意图。
图6为从候选节点中确定路径节点的示意图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
本发明实施方式提供一种用于不同绕线层间的3D绕线方法,能在三维的使用不同绕线宽度和绕线间隔的多层绕线平面环境下实现绕线;设绕线平面设有N个,N为大于0的自然数,N个绕线平面相互平行,在本实施例中,每个绕线平面上的绕线区域大小相同且能在沿着垂直于绕线平面的方向平移后完全重叠,则该用于不同绕线层间的3D绕线方法具体包括下述步骤:
步骤(1):初始化绕线信息;
获取所有待绕线网络、绕线平面、元器件和障碍物的信息;其中,所述待绕线网络中包括两个待绕线元器件的信息,包括待绕线元器件的位置、待绕线引脚的信息等。预设每个绕线平面的绕线宽度和绕线间隔:设第i个绕线平面的绕线宽度为Wi,绕线间隔为Si,i∈(1,2,…,N-1,N)。
设置每个待绕线网络的状态为等待,并任取一个等待状态的待绕线网络进行后续步骤。
步骤(2):创建绕线轨迹和节点;
在每个绕线平面中,分别创建绕线区域、元器件、待绕线引脚、障碍物和绕线拓扑结构的绕线轨迹,包括水平绕线轨迹和垂直绕线轨迹。具体创建方式如下:
①对每个绕线平面中的绕线区域创建绕线轨迹:绕线区域至少包括若干条水平的绕线轨迹和若干条垂直的绕线轨迹,绕线区域为矩形的区域,设绕线区域边缘的左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury),设垂直绕线轨迹的横坐标分别为px1i,px2i,水平绕线轨迹的纵坐标分别为py1i,py2i,i∈(1,2,…,N-1,N),则满足:
px1i=llx+Wi/2
px2i=urx-Wi/2
py1i=lly+Wi/2
py2i=ury-Wi/2。
假如设定绕线平面的数量为2个,即M1和M2,绕线平面M1的绕线宽度和绕线间隔分别为W1和S1,绕线平面M2的绕线宽度和绕线间隔分别为W2和S2。在该实施例中对绕线区域的绕线轨迹创建可参考图1,在每个绕线平面上,创建8条绕线轨迹,分别为:px11=llx+W1/2;px12=llx+W2/2;px21=urx-W1/2;px22=urx-W2/2;py11=lly+W1/2;py12=lly+W2/2;py21=ury-W1/2;py22=ury-W2/2。
②对每个绕线平面中的元器件或障碍物创建绕线轨迹:首先获取能够包含该元器件或障碍物的最小矩形,设该矩形的左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury),每个元器件或障碍物至少包括若干条水平的绕线轨迹和若干条垂直的绕线轨迹,设垂直绕线轨迹的横坐标分别为px1,px2,px3i,px4i,px5i,px6i,水平绕线轨迹的纵坐标分别为py1,py2,py3i,py4i,py5i,py6i,i∈(1,2,…,N-1,N),则满足:
px3i=llx-Wi-Si
px4i=llx-Si
px1=llx
px2=urx
px5i=urx+Si
px6i=urx+Wi+Si
py3i=lly-Wi-Si
py4i=lly-Si
py1=lly
py2=ury
py5i=ury+Si
py6i=ury+Wi+Si。
假如设定绕线平面的数量为2个,即M1和M2,绕线平面M1的绕线宽度和绕线间隔分别为W1和S1,绕线平面M2的绕线宽度和绕线间隔分别为W2和S2。在该实施例中,在每个绕线平面,对左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury)的元器件创建20条,分别为:px31=llx-W1-S1;px32=llx-W2-S2;px41=llx-S1;px42=llx-S2;px1=llx;px2=urx;px51=urx+S1;px52=urx+S2;px61=urx+W1+S1;px62=urx+W2+S2;py31=lly-W1-S1;py32=lly-W2-S2;py41=lly-S1;py42=lly-S2;py1=lly;py2=ury;py51=ury+S1;py52=ury+S2;py61=ury+W1+S1;py62=ury+W2+S2。
③对第i个绕线平面中的引脚创建绕线轨迹:引脚为矩形,根据该引脚的引出方向不同,分别创建引脚的3条绕线轨迹。
若引脚的引出方向为水平方向,设引脚的下上边缘的纵坐标分别为py1,py2,3条绕线轨迹都是水平的绕线轨迹且纵坐标分别为Y1,Y2,Y3,则满足:
Y1=py1-Wi/2-Si
Y2=(py1+py2)/2
Y3=py2+Wi/2+Si
若引脚的引出方向为垂直方向,设引脚的左右边缘的横坐标分别为px1,px2,3条绕线轨迹都是垂直的绕线轨迹且横坐标分别为X1,X2,X3,则满足:
X1=px1-Wi/2-Si
X2=(px1+px2)/2
X3=px2+Wi/2+Si
设定绕线平面的数量为2个,即M1和M2,绕线平面M1的绕线宽度和绕线间隔分别为W1和S1,绕线平面M2的绕线宽度和绕线间隔分别为W2和S2。在该实施例中对水平方向出pin的引脚创建绕线轨迹,在绕线平面M1上创建绕线轨迹可参考图2,3条水平的绕线轨迹分别为:Y1=py1-W1/2-S1,Y2=(py1+py2)/2,Y3=py2+W1/2+S1;在绕线平面M2上创建绕线轨迹可参考图3,3条水平的绕线轨迹分别为:Y1=py1-W2/2-S2,Y2=(py1+py2)/2,Y3=py2+W2/2+S2。
④对第i个绕线平面中的绕线拓扑结构创建绕线轨迹:先将绕线拓扑结构分割为若干个矩形拓扑结构,包括沿着水平方向的矩形拓扑结构和沿着垂直方向的矩形拓扑结构;每个分割后的矩形拓扑结构至少包括4条绕线轨迹,根据矩形拓扑结构不同的方向分别进行创建:
若矩形拓扑结构是沿着水平方向的拓扑结构,设该矩形拓扑结构下上边缘的纵坐标分别为sy1,sy2,4条绕线轨迹都是水平的绕线轨迹且纵坐标分别为Y1,Y2,Y3,Y4,则满足:
Y1=sy1-Wi/2-Si
Y2=sy1
Y3=sy2
Y4=sy2+Wi/2+Si
若矩形拓扑结构是沿着垂直方向的拓扑结构,设该矩形拓扑结构左右边缘的横坐标分别为sx1,sx2,4条绕线轨迹都是垂直的绕线轨迹且横坐标分别为X1,X2,X3,X4,则满足:
X1=sx1-Wi/2-Si
X2=sx1
X3=Sx2
X4=sx2+Wi/2+Si。
绕线轨迹创建完成后,在每个绕线平面中,水平绕线轨迹和垂直绕线轨迹的交点为节点。所有绕线平面中的节点形成3D的节点矩阵,并设定邻接节点:在同一绕线平面中水平或垂直相邻的节点,或者具有相同平面坐标但属于相邻绕线平面的节点。
步骤(3):初始化节点信息;
根据每个节点与绕线区域、元器件、障碍物、绕线拓扑结构的位置关系,更新节点的状态,包括:无效节点、遮挡节点和普通节点。具体判断方式如下:
无效节点是指不在绕线区域内的节点,以及在元器件或障碍物影响范围内的节点,即,设第i个绕线平面内某一个节点坐标为(x,y),当该节点满足下述任意一项条件,则该节点为无效节点;
条件1)设第i个绕线平面内绕线区域的左下角和右上角的坐标分别为(mLLX,mLLY)和(mURX,mURY),该节点满足:x≤mLLX+Wi/2,或者x≥mURX-Wi/2,或者y≤mLLY+Wi/2,或者y≥mURY-Wi/2;所述Wi是指第i个绕线平面的绕线宽度;
条件2)设第i个绕线平面内某元器件或障碍物的左下角和右上角的坐标分别为(X1,Y1)和(X2,Y2),该节点满足:X1-Si≤x≤X2+Si且Y1-Si≤y≤Y2+Si;所述Si是指第i个绕线平面的绕线间隔;
故,第i个绕线平面内,某左下角和右上角的坐标分别为(X1,Y1)和(X2,Y2)的元器件或障碍物影响范围是指:X1-Si≤x≤X2+Si且Y1-Si≤y≤Y2+Si。
另外,根据不同的应用需求,有时候可设定在间接影响范围内的节点,也属于无效节点。所述间接影响范围是指:相邻绕线平面中元器件或障碍物的影响范围,投影到本绕线平面上的影响范围。具体可参考图4,若仅根据条件1和条件2的定义,在绕线平面M1中的所标示的节点并不属于无效节点,但添加间接影响范围的限定,该节点则属于无效节点,可满足该类节点不适合进行绕线的场景需求。
遮挡节点是指在绕线拓扑结构影响范围内的节点,具体判断方法为:绕线拓扑结构被分割为若干个矩形拓扑结构,设某矩形拓扑结构的左下角和右上角的坐标分别为(X1,Y1),(X2,Y2),设绕线平面内某一个节点坐标为(x,y),如果满足下述条件则该节点为遮挡节点:X1≤x≤X2且Y1≤y≤Y2。
判断出无效节点和遮挡节点后,其余的节点则为普通节点。
然后,设置每个遮挡节点和普通节点占据的宽度,具体设置方式如下:
先初始化每个节点占据的宽度,设该节点是第i个绕线平面中的节点:
x_occupied_width=Wi
y_occupied_width=Wi
其中,所述x_occupied_width是指节点在水平方向上占据的宽度,所述y_occupied_width是指节点在垂直方向上占据的宽度;所述Wi是指第i个绕线平面预设的绕线宽度;
再依次判断每个节点是否在引脚引出线上,所述引脚的引出线是指以该引脚的引出点为端点,以该引脚的引出方向作为方向,而产生的射线;若某节点在水平的引脚引出线上,设该引脚的上下边缘的垂直坐标值分别为py1,py2,该节点在垂直方向占据的宽度设为:y_occupied_width=py1-py2;若某节点在垂直的引脚引出线上,设该引脚的左右边缘的水平坐标值分别为px1,px2,该节点在水平方向占据的宽度设为:x_occupied_width=px2-px1。
步骤(4):布线;
获取待绕线网络的起始引脚和目的引脚,并根据引脚的引出点和引出方向,确定起始节点和目的节点:设在第i个绕线平面内,在引脚引出线上距离引出点Si距离处,沿着垂直于引脚的引出方向创建一条直线,该直线与引脚引出线的交点即作为该起始引脚的起始节点或该目的引脚的目的节点;所述Si是指第i个绕线平面预设的绕线间距。
利用碰撞检测探索从起始节点到目的节点的路径:若布线探索成功,则根据路径中每个节点的绕线宽度进行绕线以生成绕线拓扑结构,将该拓扑结构作为新的绕线拓扑结构加入到绕线区域中,并更新该待绕线网络的状态为通过;若布线探索失败,则更新该待绕线网络的状态为失败。所述节点的绕线宽度是指:当生成水平方向的绕线拓扑结构时,以节点在垂直方向上占据的宽度作为绕线宽度,当生成垂直方向的绕线拓扑结构时,以节点在水平方向上占据的宽度作为绕线宽度。
在布线探索过程中,遍历探索当前节点cur_grid除其父节点外的邻接节点(起始节点为首个当前节点,且起始节点无父节点),获取满足距离条件的普通节点状态的邻接节点adj;所述距离条件是指:设该节点在第i个绕线平面中,则该节点与第i个绕线平面中的当前探索的布线路径中已确定的路径节点的距离,大于预设的阈值Ki;Ki是第i个绕线平面预设的阈值,本实施例中设Ki=Wi+Si,i∈(1,2,…,N-1,N);这里设置距离条件,是为了将图5中所示的节点adj进行排除,很明显,因绕线平面M1和M2直接所设置的绕线间隔(space)不同,绕线平面M1中的当前节点cur_grid探索到绕线平面M2中的邻接节点adj可能会被确定为候选节点,但其实际不能进行绕线。再利用碰撞检测分别判断每个adj是否能够绕线,将能够绕线的adj作为候选节点,用于从候选节点中确定新的当前节点;如图6所示,在本实施例中,cur_grid探索到不同绕线平面上的adj,这些adj所在的绕线平面可能存在不同的绕线宽度。
其中,利用碰撞检测分别判断每个adj是否能够绕线的方法具体如下:遍历adj的探索方向,探索adj在每个探索方向上的邻接节点check_node(不包括父节点cur_grid);若adj获取到邻接节点check_node,则依次利用每个check_node判断adj是否可绕,当利用所有check_node都分别得出adj可绕,则判断该adj能用于绕线,当存在利用任一个check_node得出adj不可绕,则判断该adj不能用于绕线,并结束碰撞检测;
任取一个check_node,判断adj是否可绕,具体方法如下:设adj为第i个绕线平面中的节点,先计算check_node和adj之间的距离dist,并根据不同的情况判断adj是否可绕:
情况1)若check_node是目的节点,则判断adj可绕;
情况2)若check_node是无效节点,当dist不小于阈值Ai,则判断adj可绕,否则判断adj不可绕;所述阈值Ai是第i个绕线平面中预设的阈值;
情况3)若check_node是遮挡节点,当dist不小于阈值Bi,则判断adj可绕,否则判断adj不可绕;所述阈值Bi是第i个绕线平面中预设的阈值;
情况4)若check_node是普通节点,则根据dist以及check_node的位置信息,来判断adj是否可绕。
利用碰撞检测,确定了候选节点后,需要从候选节点中选择一个节点作为新的当前节点,选择标准如下:
①代价:从候选节点中选择代价最小的一个节点作为新的当前节点;
候选节点的代价new_cost的计算方式为:
设候选节点是第i个绕线平面中的节点,则该候选节点的代价new_cost的计算方式为:new_cost=dist/Wi+cost;其中,所述dist是指候选节点到目的节点的距离;所述Wi是指第i个绕线平面预设的绕线宽度;所述cost是当前节点的代价。
②代价+转弯值:当候选节点中,代价最小的节点不只一个时,则从候选节点中选择代价最小且转弯值最小的节点作为新的当前节点;
候选节点的转弯值turn_cnt的计算方式为:
若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向不同,则trun_cnt=turn_count+1;
若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adi的方向相同,则trun_cnt=turn_count;
其中,所述turn_count为当前节点cur_grid的转弯值。
③代价+转弯值+使用层数:当候选节点中,代价和转弯值都最小的节点不只一个时,则从候选节点中选择代价、转弯值和使用层数都最小的节点作为新的当前节点;
候选节点的使用层数是指该当前节点到该候选节点所经过的绕线平面层数。
步骤(5):绕线结束判断;
判断是否还有等待状态的待绕线网络,若有,则获取一个等待状态的待绕线网络并至步骤(2)继续执行,否则完成全部绕线,获得绕线结果。
上述用于不同绕线层间的3D绕线方法,对于使用不同绕线宽度和绕线间隔的不同绕线层也能实现多层绕线。在绕线轨迹创建时,只需要在元器件、障碍物、pin和已绕线拓扑结构周围创建绕线轨迹,避免了密集的绕线节点,并且绕线轨迹间的距离不再有要求至少为绕线宽度+绕线间隔;另外,绕线宽度可以随着pin的宽度大小而变化,并利用碰撞检测来确定节点是否可绕线,有效优化了绕线过程。
最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (10)
1.一种用于不同绕线层间的3D绕线方法,其特征在于,具体包括下述步骤:
步骤(1):初始化绕线信息;
获取信息包括待绕线网络、绕线平面、元器件和障碍物的信息;其中,所述待绕线网络中包括两个待绕线元器件的信息;所述绕线平面有N个,N为大于0的自然数,N个绕线平面相互平行;预设每个绕线平面的绕线宽度和绕线间隔:设第i个绕线平面的绕线宽度为Wi,绕线间隔为Si,i∈(1,2,…,N-1,N);
取一个待绕线网络进行后续步骤处理;
步骤(2):创建绕线轨迹和节点;
分别在每个绕线平面的绕线区域中创建绕线轨迹,包括水平绕线轨迹和垂直绕线轨迹,且在每个绕线平面中,水平绕线轨迹和垂直绕线轨迹的交点为节点;
所有绕线平面中的节点形成3D的节点矩阵,并设定邻接节点:在同一绕线平面中水平或垂直方向上相邻的节点,或者沿着垂直于绕线平面方向上相邻绕线平面中的节点;
步骤(3):布线;
获取待绕线网络的起始引脚和目的引脚,确定起始节点和目的节点,利用碰撞检测探索从起始节点到目的节点的路径;所述碰撞检测是指对于探索到的满足距离条件的节点,根据该节点及其邻接节点的位置信息,来判断该节点是否能够绕线;所述距离条件是指:设该节点在第i个绕线平面中,则该节点与第i个绕线平面中的当前探索的布线路径中已确定的路径节点的距离,大于预设的阈值Ki;Ki是第i个绕线平面预设的阈值,i∈(1,2,…,N-1,N);
若该待绕线网络的布线探索成功,进行绕线以生成绕线拓扑结构,即该待绕线网络成功绕线;否则,该待绕线网络绕线失败;
步骤(4):绕线结束判断;
判断是否还有未处理的待绕线网络,若有,则取一个待绕线网络并至步骤(2)执行,否则完成绕线,获得绕线结果。
2.根据权利要求1所述的一种用于不同绕线层间的3D绕线方法,其特征在于,所述步骤(2)中,在每个绕线平面中,分别根据绕线区域、元器件、待绕线引脚、障碍物和绕线拓扑结构创建绕线轨迹,包括水平绕线轨迹和垂直绕线轨迹,能形成大小不同的稀疏网格;预设每个绕线平面的绕线宽度和绕线间隔:设第i个绕线平面的绕线宽度为Wi,绕线间隔为Si,i∈(1,2,…,N-1,N);绕线轨迹创建方式具体如下:
对每个绕线平面中的绕线区域创建绕线轨迹:绕线区域至少包括若干条水平的绕线轨迹和若干条垂直的绕线轨迹,绕线区域为矩形的区域,设绕线区域边缘的左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury),设垂直绕线轨迹的横坐标分别为px1i,px2i,水平绕线轨迹的纵坐标分别为py1i,py2i,i∈(1,2,…,N-1,N),则满足:
px1i=lls+Wi/2
px2i=urx-Wi/2
py1i=lly+Wi/2
py2i=ury-Wi/2
对每个绕线平面中的元器件或障碍物创建绕线轨迹:首先获取能够包含该元器件或障碍物的最小矩形,设该矩形的左下角坐标和右上角坐标分别为(llx,lly)和(urx,ury),每个元器件或障碍物至少包括若干条水平的绕线轨迹和若干条垂直的绕线轨迹,设垂直绕线轨迹的横坐标分别为px1,px2,px3i,px4i,px5i,px6i,水平绕线轨迹的纵坐标分别为py1,py2,py3i,py4i,py5i,py6i,i∈(1,2,…,N-1,N),则满足:
px3i=llx-Wi-Si
px4i=llx-Si
px1=llx
px2=urx
px5i=urx+Si
px6i=urx+Wi+Si
py3i=lly-Wi-Si
py4i=lly-Si
py1=lly
py2=ury
py5i=ury+Si
py6i=ury+Wi+Si
对第i个绕线平面中的引脚创建绕线轨迹:引脚至少包括3条绕线轨迹,引脚为矩形的引脚,根据引脚不同的引出方向分别进行创建:
若引脚的引出方向为水平方向,设引脚的下上边缘的纵坐标分别为py1,py2,3条绕线轨迹都是水平的绕线轨迹且纵坐标分别为Y1,Y2,Y3,则满足:
Y1=py1-Wi/2-Si
Y2=(py1+py2)/2
Y3=py2+Wi/2+Si
若引脚的引出方向为垂直方向,设引脚的左右边缘的横坐标分别为px1,px2,3条绕线轨迹都是垂直的绕线轨迹且横坐标分别为X1,X2,X3,则满足:
X1=px1-Wi/2-Si
X2=(px1+px2)/2
X3=px2+Wi/2+Si
对第i个绕线平面中的绕线拓扑结构创建绕线轨迹:先将绕线拓扑结构分割为若干个矩形拓扑结构,包括沿着水平方向的矩形拓扑结构和沿着垂直方向的矩形拓扑结构;每个分割后的矩形拓扑结构至少包括4条绕线轨迹,根据矩形拓扑结构不同的方向分别进行创建:
若矩形拓扑结构是沿着水平方向的拓扑结构,设该矩形拓扑结构下上边缘的纵坐标分别为sy1,sy2,4条绕线轨迹都是水平的绕线轨迹且纵坐标分别为Y1,Y2,Y3,Y4,则满足:
Y1=sy1-Wi/2-Si
Y2=sy1
Y3=sy2
Y4=sy2+Wi/2+Si
若矩形拓扑结构是沿着垂直方向的拓扑结构,设该矩形拓扑结构左右边缘的横坐标分别为sx1,sx2,4条绕线轨迹都是垂直的绕线轨迹且横坐标分别为X1,X2,X3,X4,则满足:
X1=sx1-Wi/2-Si
X2=sx1
X3=sx2
X4=sx2+Wi/2+Si。
3.根据权利要求1所述的一种用于不同绕线层间的3D绕线方法,其特征在于,所述步骤(2)中,还根据每个节点与绕线区域、元器件、障碍物、绕线拓扑结构的位置关系,设置节点的状态:无效节点、遮挡节点或普通节点;以及根据预设的绕线宽度和节点的位置信息,设置每个节点在水平方向上和在垂直方向上占据的宽度;
其中,无效节点是指不在绕线区域内的节点,以及在元器件或障碍物影响范围内的节点;遮挡节点是指在绕线拓扑结构影响范围内的节点;普通节点是指除无效节点和遮挡节点外的剩余节点。
4.根据权利要求3所述的一种用于不同绕线层间的3D绕线方法,其特征在于,所述无效节点还包括在间接影响范围内的节点;所述间接影响范围是指:相邻绕线平面中元器件或障碍物的影响范围,投影到本绕线平面上的影响范围。
5.根据权利要求3所述的一种用于不同绕线层间的3D绕线方法,其特征在于,根据预设的绕线宽度和节点的位置信息,设置每个节点在水平方向上和在垂直方向上占据的宽度,方法具体如下:
先初始化每个节点占据的宽度,设该节点是第i个绕线平面中的节点:
x_occupied_width=Wi
y_occupied_width=Wi
其中,所述x_occupied_width是指节点在水平方向上占据的宽度,所述y_occupied_width是指节点在垂直方向上占据的宽度;所述Wi是指第i个绕线平面预设的绕线宽度;
再依次判断每个节点是否在引脚引出线上,所述引脚的引出线是指以该引脚的引出点为端点,以该引脚的引出方向作为方向,而产生的射线;若某节点在水平的引脚引出线上,设该引脚的上下边缘的垂直坐标值分别为py1,py2,该节点在垂直方向占据的宽度设为:y_occupied_width=py1-py2;若某节点在垂直的引脚引出线上,设该引脚的左右边缘的水平坐标值分别为px1,px2,该节点在水平方向占据的宽度设为:x_occupied_width=px2-px1。
6.根据权利要求1所述的一种用于不同绕线层间的3D绕线方法,其特征在于,所述步骤(3)中,获取待绕线网络的起始引脚和目的引脚后,根据引脚的引出点和引出方向,确定起始节点和目的节点。
7.根据权利要求3所述的一种用于不同绕线层间的3D绕线方法,其特征在于,所述步骤(3)中,在布线探索过程中,遍历探索当前节点cur_grid除其父节点外的邻接节点,获取满足距离条件的普通节点状态的邻接节点adj;所述距离条件是指:设该节点在第i个绕线平面中,则该节点与第i个绕线平面中的当前探索的布线路径中已确定的路径节点的距离,大于预设的阈值Ki;Ki是第i个绕线平面预设的阈值,i∈(1,2,…,N-1,N);再利用碰撞检测分别判断每个adj是否能够绕线,将能够绕线的adj作为候选节点,用于从候选节点中确定新的当前节点;
利用碰撞检测分别判断每个adj是否能够绕线,具体如下:
遍历adj的探索方向,探索adj在每个探索方向上的邻接节点check_node;若adj获取到邻接节点check_node,则依次利用每个check_node判断adj是否可绕,当利用所有check_node都分别得出adj可绕,则判断该adj能够绕线,当存在利用任一个check_node得出adj不可绕,则判断该adj不能够绕线并结束碰撞检测;
任取一个check_node,判断adj是否可绕:设adj为第i个绕线平面中的节点,先计算check_node和adj之间的距离dist,并根据不同的情况判断adj是否可绕:
情况1)若check_node是目的节点,则判断adj可绕;
情况2)若check_node是无效节点,当dist不小于阈值Ai,则判断adj可绕,否则判断adj不可绕;所述阈值Ai是第i个绕线平面中预设的阈值;
情况3)若check_node是遮挡节点,当dist不小于阈值Bi,则判断adj可绕,否则判断adj不可绕;所述阈值Bi是第i个绕线平面中预设的阈值;
情况4)若check_node是普通节点,则根据dist以及check_node的位置信息,来判断adj是否可绕。
优选地,从候选节点中选择代价最小的一个节点作为新的当前节点;
设候选节点是第i个绕线平面中的节点,则该候选节点的代价new_cost的计算方式为:new_cost=dist/Wi+cost;
其中,所述dist是指候选节点到目的节点的距离;所述Wi是指第i个绕线平面预设的绕线宽度;所述cost是当前节点的代价。
再优选地,当候选节点中,代价最小的节点不只一个时,则从候选节点中选择代价最小且转弯值最小的节点作为新的当前节点;
候选节点的转弯值turn_cnt的计算方式为:
若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向不同,则trun_cnt=turn_count+1;
若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向相同,则trun_cnt=trun_count;
其中,所述turn_count为当前节点cur_grid的转弯值。
更优选地,当候选节点中,代价和转弯值都最小的节点不只一个时,则从候选节点中选择代价、转弯值和使用层数都最小的节点作为新的当前节点;
候选节点的使用层数是指该当前节点到该候选节点所经过的绕线平面层数。
8.根据权利要求1所述的一种用于不同绕线层间的3D绕线方法,其特征在于,所述步骤(3)中,对于布线探索成功的待绕线网络,根据路径中每个节点的绕线宽度进行绕线以生成绕线拓扑结构;
所述节点的绕线宽度是指:当生成水平方向的绕线拓扑结构时,以节点在垂直方向上占据的宽度作为绕线宽度,当生成垂直方向的绕线拓扑结构时,以节点在水平方向上占据的宽度作为绕线宽度。
9.一种存储设备,其中存储有多条指令,所述指令适用于处理器加载并执行:权利要求1至8任意一项所述的用于不同绕线层间的3D绕线方法。
10.一种用于不同绕线层间的3D绕线系统,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行:权利要求1至8任意一项所述的用于不同绕线层间的3D绕线方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010070338.XA CN111291528B (zh) | 2020-01-21 | 2020-01-21 | 一种用于不同绕线层间的3d绕线方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010070338.XA CN111291528B (zh) | 2020-01-21 | 2020-01-21 | 一种用于不同绕线层间的3d绕线方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291528A true CN111291528A (zh) | 2020-06-16 |
CN111291528B CN111291528B (zh) | 2023-06-16 |
Family
ID=71021269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010070338.XA Active CN111291528B (zh) | 2020-01-21 | 2020-01-21 | 一种用于不同绕线层间的3d绕线方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291528B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117829084A (zh) * | 2024-03-04 | 2024-04-05 | 杭州广立微电子股份有限公司 | 一种三维网格绕线方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0011626A1 (en) * | 1978-03-15 | 1980-06-11 | PEDERSEN, Jan Boie | A winding unit for use in a winding machine for winding elongate members or cores |
CN1963827A (zh) * | 2006-12-08 | 2007-05-16 | 清华大学 | 基于多步长迷宫算法的模拟集成电路自动布线方法 |
WO2009158466A1 (en) * | 2008-06-26 | 2009-12-30 | Siemens Product Lifecycle Management Software Inc. | System and method for collision-free cad design of pipe and tube paths |
CN101957876A (zh) * | 2010-09-15 | 2011-01-26 | 清华大学 | 考虑通孔的基于不均匀网格的多层布线方法 |
CN201766061U (zh) * | 2009-10-30 | 2011-03-16 | 新思科技有限公司 | 应用于单层绕线轨迹的分析装置 |
CN102867095A (zh) * | 2012-09-20 | 2013-01-09 | 清华大学 | 一种总线布线方法 |
CN103678828A (zh) * | 2013-12-31 | 2014-03-26 | 北京理工大学 | 一种柔性线缆的自动布局方法及装置 |
-
2020
- 2020-01-21 CN CN202010070338.XA patent/CN111291528B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0011626A1 (en) * | 1978-03-15 | 1980-06-11 | PEDERSEN, Jan Boie | A winding unit for use in a winding machine for winding elongate members or cores |
CN1963827A (zh) * | 2006-12-08 | 2007-05-16 | 清华大学 | 基于多步长迷宫算法的模拟集成电路自动布线方法 |
WO2009158466A1 (en) * | 2008-06-26 | 2009-12-30 | Siemens Product Lifecycle Management Software Inc. | System and method for collision-free cad design of pipe and tube paths |
CN201766061U (zh) * | 2009-10-30 | 2011-03-16 | 新思科技有限公司 | 应用于单层绕线轨迹的分析装置 |
CN101957876A (zh) * | 2010-09-15 | 2011-01-26 | 清华大学 | 考虑通孔的基于不均匀网格的多层布线方法 |
CN102867095A (zh) * | 2012-09-20 | 2013-01-09 | 清华大学 | 一种总线布线方法 |
CN103678828A (zh) * | 2013-12-31 | 2014-03-26 | 北京理工大学 | 一种柔性线缆的自动布局方法及装置 |
Non-Patent Citations (1)
Title |
---|
邵康鹏等: "高效率集成电路测试芯片设计方法", 《计算机工程与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117829084A (zh) * | 2024-03-04 | 2024-04-05 | 杭州广立微电子股份有限公司 | 一种三维网格绕线方法 |
CN117829084B (zh) * | 2024-03-04 | 2024-05-14 | 杭州广立微电子股份有限公司 | 一种三维网格绕线方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111291528B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Rectilinear paths among rectilinear obstacles | |
US10831972B2 (en) | Capacity model for global routing | |
TWI845737B (zh) | 執行自動化整合扇出晶圓級封裝佈線的方法及系統、及其非暫時性電腦可讀媒體 | |
US9372952B1 (en) | Methods, systems, and articles of manufacture for enhancing metrics of electronic designs using design rule driven physical design implementation techniques | |
CN111553125A (zh) | 一种考虑先进技术的超大规模集成电路详细布线方法 | |
CN113591427A (zh) | 考虑单位移动和复杂布线约束的增量三维全局布线方法 | |
CN111027273A (zh) | 一种基于预绕线的版图自动绕线方法、存储设备及系统 | |
CN115270693A (zh) | 基于动态网格的135度pcb区域布线方法 | |
CN111291528A (zh) | 一种用于不同绕线层间的3d绕线方法及系统 | |
Wu et al. | Coupling aware timing optimization and antenna avoidance in layer assignment | |
Hechenberger et al. | Online computation of euclidean shortest paths in two dimensions | |
CN110941940B (zh) | 一种基于碰撞检测的3d绕线方法、存储设备和系统 | |
Liu et al. | Chip-level area routing | |
US20020112220A1 (en) | Interweaved integrated circuit interconnects | |
CN116129648A (zh) | 一种路网拥堵关键节点识别方法、设备、介质 | |
Liu et al. | Metal layer planning for silicon interposers with consideration of routability and manufacturing cost | |
US8171444B2 (en) | Layout design method, apparatus and storage medium | |
CN114159777A (zh) | 层次化寻路方法、装置、电子设备及可读介质 | |
Fang et al. | Obstacle-avoiding open-net connector with precise shortest distance estimation | |
Wu et al. | A Bus Planning Algorithm for FPC Design in Complex Scenarios | |
Li et al. | Design and Implementation of Integrated Circuit Routing Algorithm based on A-Star | |
US20240265187A1 (en) | Circuit layout routing method and apparatus, device, storage medium, and product | |
US8949762B1 (en) | Computer-based modeling of integrated circuit congestion and wire distribution for products and services | |
JP2818247B2 (ja) | 半導体装置の自動配線方法 | |
US20240265186A1 (en) | Method for routing of redistribution layers in ic package |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room A407, Neusoft venture building, 99 Huaxing Road, Xihu District, Hangzhou City, Zhejiang Province, 310012 Applicant after: Hangzhou Guangli Microelectronics Co.,Ltd. Address before: Room A407, Neusoft venture building, 99 Huaxing Road, Xihu District, Hangzhou City, Zhejiang Province, 310012 Applicant before: Semitronix Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |