CN111027273A - 一种基于预绕线的版图自动绕线方法、存储设备及系统 - Google Patents
一种基于预绕线的版图自动绕线方法、存储设备及系统 Download PDFInfo
- Publication number
- CN111027273A CN111027273A CN201911229501.6A CN201911229501A CN111027273A CN 111027273 A CN111027273 A CN 111027273A CN 201911229501 A CN201911229501 A CN 201911229501A CN 111027273 A CN111027273 A CN 111027273A
- Authority
- CN
- China
- Prior art keywords
- winding
- switch box
- wound
- node
- network
- 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)
Abstract
本发明涉及一种基于预绕线的版图自动绕线方法、存储设备及系统,具体包括下述步骤:步骤(1):初始化绕线信息;步骤(2):创建开关盒;步骤(3):创建绕线轨迹和节点;创建绕线轨迹对绕线区域进行网格划分,并将绕线轨迹的交点设为节点;步骤(4):全局绕线;步骤(5):细节化绕线;对所有全局绕线通过的待绕线网络进行细节化绕线处理后,获得绕线结果。本发明在细节化绕线中,根据开关盒和引脚创建的绕线轨迹来划分稀疏网格,提高了节点路径探索效率,且根据后续待绕线网络中的待绕线引脚来增加相关节点的惩罚值,为后续绕线预留一定的绕线,能很好地解决绕线过程中产生的绕线冲突问题。
Description
技术领域
本发明是关于集成电路技术领域,特别涉及一种基于预绕线的版图自动绕线方法及系统。
背景技术
随着集成电路技术的发展,相较于传统的人工布线中存在的效率低的问题,计算机自动布线在版图设计中体现出极大的优势,大大提高了绕线的效率。传统的绕线方法主要包括两个阶段:全局绕线和细节绕线。传统的绕线方法对于绕线过程中产生的绕线冲突问题并没有较好的解决方案,通常会引起先生成的绕线阻挡了后续生成的绕线,最终导致绕线失败。传统的绕线算法主要分为两种:单网络绕线和多网络绕线。其中主要绕线方法如下:
1、李氏迷宫绕线算法(Lee’s Maze Routing Algorithm):该绕线算法是一种单网络绕线算法。首先将绕线平面划分为大小一致的均匀网格,从起始网格开始,设置其水平与垂直方向的相邻的,并且未被占用的4个网格的代价值,迭代这一步骤,代价值按照升序增加,最终搜索到目标网格,从目标网格回溯到起始网格,从而得到最短路径。该算法对于单网络绕线效果较好,但存在效率低,存储需求大的问题。
2、顺序绕线算法(Sequential Routing):该算法是一种多网络绕线算法,首先设置待绕线网络的绕线顺序,按照顺序对待绕线网络进行绕线,当一个网络完成绕线,则更新全局绕线资源的拥塞度,这会导致后续待绕线的网络被迫使用过拥塞的绕线资源。该绕线算法对于绕线的顺序异常敏感,通常会导致先绕线完成的网络影响到后绕线的网络。
上述绕线方法均没有较好的解决绕线冲突的问题,并且在顺序绕线中需要设置较好的绕线顺序才能提高绕线的成功率,在实际的绕线过程中操作性不强。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种能根据不同器件和版图设计要求划分全局绕线的网格,并在细节化绕线时为后续绕线保留可绕线区域的自动绕线方法及系统。为解决上述技术问题,本发明的解决方案是:
提供一种基于预绕线的版图自动绕线方法,具体包括下述步骤:
步骤(1):初始化绕线信息;
获取信息包括:待绕线网络、绕线区域、元器件和障碍物的信息;其中,所述待绕线网络中包括两个待绕线元器件的信息(包括待绕线元器件的位置、待绕线引脚的信息等);
步骤(2):创建开关盒;
根据元器件和障碍物创建开关盒网格线(以某元器件或障碍物创建开关盒网格线,所创建的网格线形成的开关盒能刚好包含该元器件或障碍物),将绕线区域划分割成若干个开关盒,并将不包含元器件或障碍物的开关盒状态设为可绕线;
将元器件上的待绕线引脚沿着引出方向,移动到该元器件所在开关盒的边上,并设置引脚引出点(一般将该引脚在开关盒的边上所占线段的中点作为引脚引出点);
步骤(3):创建绕线轨迹和节点;
创建绕线轨迹对绕线区域进行网格划分,并将绕线轨迹的交点设为节点;
步骤(4):全局绕线;
依次取待绕线网络进行全局绕线:
获取该待绕线网络中起始引脚和目标引脚所在的可绕线开关盒,分别设为起始开关盒和目标开关盒,探索从起始开关盒到目标开关盒的开关盒路径;所述开关盒路径是指从起始开关盒到目标开关盒所经过的可绕线开关盒及其顺序;
若成功探索到该待绕线网络的开关盒路径,则表示该待绕线网络全局绕线通过,并保存该开关盒路径;否则,表示该待绕线网络绕线失败;
步骤(5):细节化绕线;
依次取全局绕线通过的待绕线网络进行细节化绕线:
获取该待绕线网络的开关盒路径,并设该待绕线网络的起始引脚引出点为起始节点,目标引脚引出点为目标节点,沿着开关盒路径依次在每个开关盒中探索节点路径,以获得从起始节点到目标节点所经过的节点路径;
若成功探索到该待绕线网络的节点路径,则根据节点路径创建实际的绕线拓扑,即该待绕线网络成功绕线;否则,该待绕线网络绕线失败;
对所有全局绕线通过的待绕线网络进行细节化绕线处理后,获得绕线结果。
作为进一步的改进,所述步骤(2)中,根据元器件和障碍物创建开关盒网格线,将绕线区域划分成若干个开关盒,具体创建方法为:
创建能够包含元器件或障碍物的最小矩形,设该矩形的左下角和右上角的坐标分别(x1,y1)和(x2,y2),则生成横坐标分别为x1和x2的两条垂直的开关盒网格线和纵坐标分别为y1和y2的两条水平的开关盒网格线;对绕线区域中所有元器件和障碍物完成开关盒网格线的创建后,绕线区域被稀疏网格划分,每个稀疏网格即为一个开关盒。
作为进一步的改进,所述步骤(3)中,创建绕线轨迹(引脚网格线和普通网格线)是指创建步骤(2)中移动后的每个引脚的引脚网格线,以及创建每个开关盒中的普通网格线;
具体创建方法为:先根据步骤(2)中移动后的引脚,创建每个待绕线引脚的引脚网格线;再分别创建每个开关盒中水平和垂直的普通网格线,普通网格线之间的间距为L,最靠近开关盒网格线的普通网格线与开关盒网格线之间的间距也是L,并移除与引脚网格线的距离小于L的普通网格线,L=width+space;
其中,每个待绕线引脚为矩形的引脚,对每个待绕线引脚创建3条引脚网格线,具体根据引脚不同的引出方向分别进行创建:
若引脚的引出方向为水平方向,设引脚的下上边缘的纵坐标分别为py1,py2,3条引脚网格线都是水平的网格线且纵坐标分别为Y1,Y2,Y3,则满足:
Y1=py1-width/2-space
Y2=(py1+py2)/2
Y3=py2+width/2+space
若引脚的引出方向为垂直方向,设引脚的左右边缘的横坐标分别为px1,px2,3条引脚网格线都是垂直的网格线且横坐标分别为X1,X2,X3,则满足:
X1=px1-width/2-space
X2=(px1+px2)/2
X3=px2+width/2+space;
其中,所述width是指预设的绕线宽度,所述space是指预设的绕线间距。
作为进一步的改进,所述步骤(4)中的全局绕线,具体包括下述子步骤:
A)取一个待绕线网络进行全局绕线;
B)设该待绕线网络中起始引脚所在的可绕线开关盒为起始开关盒,目标引脚所在的可绕线开关盒为目标开关盒,起始开关盒为当前开关盒,起始引脚在当前开关盒中所处的边为当前边;
按开关盒级数,逐级获取开关盒并判断探索到的该级开关盒中是否存在目标开关盒:
若探索到目标开关盒,则表示该待绕线网络全局绕线通过,保存该开关盒路径并至步骤C);
若完成该级所有开关盒探索且未探索到目标开关盒,则分别将该级开关盒作为当前开关盒,将当前开关盒的其余三条边分别作为新的当前边,继续探索下一级开关盒并判断探索到的该级开关盒中是否存在目标开关盒,直至该级开关盒中未探索到目标开关盒且无法获取下一级开关盒,则表示该待绕线网络绕线失败并至步骤C);
所述开关盒级数是指从起始开关盒到目标开关盒所经过的开关盒个数,起始开关盒的开关盒级数为0;
所述逐级获取开关盒是指:探索与当前开关盒共享当前边的相邻的可绕线开关盒;
C)判断是否还有未经过全局绕线处理的待绕线网络:若有,则取一个待绕线网络至步骤B)处理,否则全局绕线完成。
作为进一步的改进,所述步骤(5)中进行节点路径探索时,设当前节点为cur_grid,从探索到的候选节点adj中确定下一个当前节点时,选择的是代价值最小且能保证所形成的节点路径能探索成功的节点;代价的影响因素包括惩罚、距离和转弯,惩罚值越小、距离值越小且转弯值越小,则代价值越小;
所述候选节点的惩罚值根据节点的位置情况设置,靠近剩余待绕线网络(即还未进行过细节化绕线处理的待绕线网络)中待绕线引脚的节点,其惩罚值高于其余节点;
所述候选节点的距离值dist即指当前节点cur_grid到该候选节点adj的距离;
所述候选节点的转弯值turn_cnt用于表征从起始节点到该候选节点的路径的转弯个数;转弯值turn_cnt的计算方式为:若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向不同,则turn_cnt=turn_count+1;若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向相同,则turn_cnt=turn_count;其中,所述turn_count为当前节点cur_grid的转弯值。
作为进一步的改进,所述步骤(5)中的细节化绕线,具体包括下述子步骤:
Ⅰ)取一条全局绕线通过的待绕线网络进行细节化绕线;
Ⅱ)获取该待绕线网络的开关盒路径,并设该待绕线网络的起始引脚引出点为起始节点,目标引脚引出点为目标节点;初始化节点的惩罚为0;
Ⅲ)遍历开关盒路径中的开关盒,确定每个开关盒中的惩罚加大节点:获取开关盒中四条边上剩余待绕线网络的待绕线引脚(即,除当前待绕线网络的起始引脚和目标引脚外的所有待绕线引脚),将在该开关盒中这些待绕线引脚周围的节点确定为惩罚加大节点;对每个惩罚加大节点的惩罚值进行加大;
Ⅳ)沿着开关盒路径,在每个开关盒中探索节点路径(路径中的每个节点都在开关盒路径中的开关盒内):若成功探索到从起始节点到目标节点的节点路径,则进行绕线以生成绕线拓扑,该待绕线网络成功绕线;若探索从起始节点到目标节点的节点路径失败,则该待绕线网络绕线失败;
Ⅴ)判断是否还存在未处理的全局绕线通过的待绕线网络,若有,则取一个全局绕线通过的待绕线网络至步骤Ⅱ)处理,否则完成全部绕线,获得绕线结果。
作为进一步的改进,所述步骤Ⅲ)中,对每个惩罚加大节点的惩罚值进行加大,具体是指:PENAL=penalty+COEF*(width+space);
其中,所述PENAL为惩罚加大节点的惩罚值,所述penalty为惩罚加大节点的初始惩罚值,所述COEF为预设的惩罚系数,所述width是指预设的绕线宽度,所述space是指预设的绕线间距。
作为进一步的改进,所述步骤(1)中,根据引脚的引出方向,确定每个待绕线引脚的冲突引脚,即当该待绕线引脚所属的待绕线网络完成绕线,则每个冲突引脚所属的待绕线网络必然绕线失败;
在所述基于预绕线的版图自动绕线方法中,每当一个待绕线网络成功绕线,获取其起始引脚和目的引脚的冲突引脚,则冲突引脚所在的待绕线网络绕线失败。
作为进一步的改进,在步骤(3)中,还对每个节点进行状态设置:将被元器件或者障碍物影响的节点(一般指在元器件或障碍物内的节点)状态设为无效,其余节点的状态设为可绕线;在步骤(5)中,待绕线网络创建实际的绕线拓扑后,将产生的绕线拓扑作为新的障碍物并将新障碍物影响的可绕线节点状态更新为无效;设置节点状态,用于在细节化绕线进行节点路径探索时,仅对可绕线节点进行探索获取作为候选节点。
提供一种存储设备,其中存储有多条指令,所述指令适用于处理器加载并执行:上述基于预绕线的版图自动绕线方法。
提供一种基于预绕线的版图自动绕线系统,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行:上述基于预绕线的版图自动绕线方法。
与现有技术相比,本发明的有益效果是:
1、本发明在全局绕线中,根据元器件、障碍物的位置创建开关盒网格线来划分绕线区域,相较于大小一致的均匀网格,优化了全局绕线的效率。
2、本发明在细节化绕线中,根据开关盒和引脚创建的绕线轨迹来划分稀疏网格,提高了节点路径探索效率,且根据后续待绕线网络中的待绕线引脚来增加相关节点的惩罚值,为后续绕线预留一定的绕线,能很好地解决绕线过程中产生的绕线冲突问题。
3、本发明因采用特殊的细节化绕线处理方式,使得绕线算法对绕线顺序的敏感度大幅降低,降低了先绕线完成的网络对后绕线网络的影响。
附图说明
图1为本发明基于预绕线的版图自动绕线方法的整体流程图。
图2为针对元器件生成开关盒的示意图。
图3为在开关盒中待绕线引脚的移动示意图。
图4为开关盒中创建的绕线轨迹示意图。
图5为待绕线网络能成功绕线的示意图。
图6为待绕线网络不能成功绕线的示意图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
如图1所示的基于预绕线的版图自动绕线方法,主要包括全局绕线和细节化绕线过程,能有效解决绕线过程中产生的绕线冲突问题;该种基于预绕线的版图自动绕线方法具体包括下述步骤:
步骤(1):初始化绕线信息;
获取所有待绕线网络、绕线区域、元器件和障碍物的信息,并设置绕线宽度width和绕线间距space,设置待绕线网络的状态为等待。
所述待绕线网络中包括两个待绕线元器件的位置、待绕线引脚等信息;并根据引脚的引出方向,确定每个待绕线引脚的冲突引脚,即当该待绕线引脚所属的待绕线网络完成绕线,则每个冲突引脚所属的待绕线网络则直接更新状态为绕线失败。
步骤(2):创建开关盒;
如图2所示,据元器件和障碍物创建开关盒网格线,将绕线区域划分割成若干个开关盒,具体创建方法为:创建能够包含元器件或障碍物的最小矩形,设该矩形的左下角和右上角的坐标分别(x1,y1)和(x2,y2),则生成横坐标分别为x1和x2的两条垂直的开关盒网格线和纵坐标分别为y1和y2的两条水平的开关盒网格线;对绕线区域中所有元器件和障碍物完成开关盒网格线的创建后,绕线区域被稀疏网格划分,每个稀疏网格即为一个开关盒。
将不包含元器件或障碍物的开关盒的状态设为可绕线;如图3所示,将元器件上的待绕线引脚沿着引出方向,移动到该元器件所在开关盒的边上,并将该引脚在开关盒的边上所占线段的中点设置为引脚引出点。
步骤(3):创建绕线轨迹和节点;
创建绕线轨迹(引脚网格线和普通网格线),具体创建方法为:先根据步骤(2)中移动后的引脚,创建每个待绕线引脚的引脚网格线;再分别创建每个开关盒中水平和垂直的普通网格线,普通网格线之间的间距为L,最靠近开关盒网格线的普通网格线与开关盒网格线之间的间距也是L,并移除与引脚网格线的距离小于L的普通网格线,L=width+space;
其中,每个待绕线引脚为矩形的引脚,对每个待绕线引脚创建3条引脚网格线,具体根据引脚不同的引出方向分别进行创建:
若引脚的引出方向为水平方向,设引脚的下上边缘的纵坐标分别为py1,py2,3条引脚网格线都是水平的网格线且纵坐标分别为Y1,Y2,Y3,则满足:
Y1=py1-width/2-space
Y2=(py1+py2)/2
Y3=py2+width/2+space
若引脚的引出方向为垂直方向,设引脚的左右边缘的横坐标分别为px1,px2,3条引脚网格线都是垂直的网格线且横坐标分别为X1,X2,X3,则满足:
X1=px1-width/2-space
X2=(px1+px2)/2
X3=px2+width/2+space。
绕线轨迹创建完成后,实现绕线区域进行网格细划分,可参考图4所示的某个开关盒的绕线轨迹示意图;将绕线轨迹的交点设为节点,并将在元器件或障碍物内的节点的状态设为无效,其余节点的状态设为可绕线。
步骤(4):全局绕线,具体包括下述子步骤:
A)取一个状态为等待的待绕线网络;
B)获取并设该待绕线网络中,起始引脚所在的可绕线开关盒为起始开关盒,目标引脚所在的可绕线开关盒为目标开关盒,起始开关盒为当前开关盒,起始引脚在当前开关盒中所处的边为当前边;
按开关盒级数,逐级获取开关盒并判断探索到的该级开关盒中是否存在目标开关盒:
若探索到目标开关盒,则将该待绕线网络的状态更新为全局绕线通过,保存该开关盒路径,即经过的开关盒及其顺序,并至步骤C);
若完成该级所有开关盒探索且未探索到目标开关盒,则分别将该级开关盒作为当前开关盒,将当前开关盒的其余三条边分别作为新的当前边,继续探索下一级开关盒并判断探索到的该级开关盒中是否存在目标开关盒,直至该级开关盒中未探索到目标开关盒且无法获取下一级开关盒,则将该待绕线网络的状态更新为绕线失败并至步骤C);
所述开关盒级数是指从起始开关盒到目标开关盒所经过的开关盒个数,起始开关盒的开关盒级数为0;
所述逐级获取开关盒是指:探索与当前开关盒共享当前边的相邻的可绕线开关盒;
C)判断是否还有等待状态的待绕线网络:若有,则取一个状态为等待的待绕线网络至步骤B)处理,否则全局绕线完成。
步骤(5):细节化绕线,具体包括下述子步骤:
Ⅰ)取一条状态为全局绕线通过的待绕线网络。
Ⅱ)获取该待绕线网络的开关盒路径,并设该待绕线网络的起始引脚引出点为起始节点,目标引脚引出点为目标节点;初始化可绕线节点的惩罚为0。
Ⅲ)遍历开关盒路径中的开关盒,确定每个开关盒中的惩罚加大节点:获取开关盒中四条边上剩余待绕线网络的待绕线引脚,即除当前待绕线网络中起始引脚和目标引脚外的所有剩余待绕线网络的待绕线引脚,确定在该开关盒中这些待绕线引脚周围的节点,作为惩罚加大节点。
对每个惩罚加大节点的惩罚值进行加大:PENAL=penalty+COEF*(width+space);其中,所述PENAL为惩罚加大节点的惩罚值,所述penalty为惩罚加大节点的初始惩罚值,所述COEF为预设的惩罚系数。
Ⅳ)沿着开关盒路径,在每个开关盒中探索节点路径,即路径中的每个节点都在开关盒路径中的开关盒内;对于某个开关盒内的节点路径探索,可参考图5和图6,图5为在开关盒内成功探索到从起始节点(spin)到目标节点(tpin)路径的待绕线网络,图6为在开关盒内探索从起始节点(spin)到目标节点(tpin)路径失败的待绕线网络。
在探索从起始节点到目标节点的节点路径过程中,设当前节点为cur_grid,从探索到的候选节点adj中确定下一个当前节点时,选择的是代价值最小且能保证所形成的节点路径能探索成功的节点(所谓“保证所形成的节点路径能探索成功的节点”,通过路径探索来确定,比如,先以代价值最小来从候选节点中选择路径节点,当该路径探索失败时,则回溯选择代价值第二小的候选节点,来重新进行路径探索,利用此探索回溯的思路实现);代价的影响因素包括惩罚、距离和转弯,惩罚值越小、距离值越小且转弯值越小,则代价值越小;所述候选节点的距离值dist即指当前节点cur_grid到该候选节点adj的距离;所述候选节点的转弯值turn_cnt的计算方式为:若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向不同,则turn_cnt=turn_count+1;若当前节点cur_grid的父节点到当前节点cur_grid的方向,与当前节点cur_grid到该候选节点adj的方向相同,则turn_cnt=turn_count;其中,所述turn_count为当前节点cur_grid的转弯值。
若成功探索到从起始节点到目标节点的节点路径,则进行绕线以生成绕线拓扑,并将产生的绕线拓扑作为新的障碍物,将在新障碍物内的节点的状态设为无效,将该待绕线网络的状态设置为绕线通过;此时,获取该待绕线网络的起始引脚和目的引脚的冲突引脚,并分别将这些冲突引脚所在的待绕线网络状态更新为绕线失败;
若探索从起始节点到目标节点的节点路径失败,则将该待绕线网络的状态更新为绕线失败。
Ⅴ)判断是否还存在状态为全局绕线通过的待绕线网络,若有,则取一个状态为全局绕线通过的待绕线网络至步骤Ⅱ)处理,否则完成全部绕线,获得绕线结果。
最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (10)
1.一种基于预绕线的版图自动绕线方法,其特征在于,具体包括下述步骤:
步骤(1):初始化绕线信息;
获取信息包括:待绕线网络、绕线区域、元器件和障碍物的信息;其中,所述待绕线网络中包括两个待绕线元器件的信息;
步骤(2):创建开关盒;
根据元器件和障碍物创建开关盒网格线,将绕线区域划分割成若干个开关盒,并将不包含元器件或障碍物的开关盒状态设为可绕线;
将元器件上的待绕线引脚沿着引出方向,移动到该元器件所在开关盒的边上,并设置引脚引出点;
步骤(3):创建绕线轨迹和节点;
创建绕线轨迹对绕线区域进行网格划分,并将绕线轨迹的交点设为节点;
步骤(4):全局绕线;
依次取待绕线网络进行全局绕线:
获取该待绕线网络中起始引脚和目标引脚所在的可绕线开关盒,分别设为起始开关盒和目标开关盒,探索从起始开关盒到目标开关盒的开关盒路径;所述开关盒路径是指从起始开关盒到目标开关盒所经过的可绕线开关盒及其顺序;
若成功探索到该待绕线网络的开关盒路径,则表示该待绕线网络全局绕线通过,并保存该开关盒路径;否则,表示该待绕线网络绕线失败;
步骤(5):细节化绕线;
依次取全局绕线通过的待绕线网络进行细节化绕线:
获取该待绕线网络的开关盒路径,并设该待绕线网络的起始引脚引出点为起始节点,目标引脚引出点为目标节点,沿着开关盒路径依次在每个开关盒中探索节点路径,以获得从起始节点到目标节点所经过的节点路径;
若成功探索到该待绕线网络的节点路径,则根据节点路径创建实际的绕线拓扑,即该待绕线网络成功绕线;否则,该待绕线网络绕线失败;
对所有全局绕线通过的待绕线网络进行细节化绕线处理后,获得绕线结果。
2.根据权利要求1所述的一种基于预绕线的版图自动绕线方法,其特征在于,所述步骤(2)中,根据元器件和障碍物创建开关盒网格线,将绕线区域划分成若干个开关盒,具体创建方法为:
创建能够包含元器件或障碍物的最小矩形,设该矩形的左下角和右上角的坐标分别(x1,y1)和(x2,y2),则生成横坐标分别为x1和x2的两条垂直的开关盒网格线和纵坐标分别为y1和y2的两条水平的开关盒网格线;对绕线区域中所有元器件和障碍物完成开关盒网格线的创建后,绕线区域被稀疏网格划分,每个稀疏网格即为一个开关盒。
3.根据权利要求1所述的一种基于预绕线的版图自动绕线方法,其特征在于,所述步骤(3)中,创建绕线轨迹是指:创建步骤(2)中移动后的每个引脚的引脚网格线,以及创建每个开关盒中的普通网格线。
4.根据权利要求1所述的一种基于预绕线的版图自动绕线方法,其特征在于,所述步骤(4)中的全局绕线,具体包括下述子步骤:
A)取一个待绕线网络进行全局绕线;
B)设该待绕线网络中起始引脚所在的可绕线开关盒为起始开关盒,目标引脚所在的可绕线开关盒为目标开关盒,起始开关盒为当前开关盒,起始引脚在当前开关盒中所处的边为当前边;
按开关盒级数,逐级获取开关盒并判断探索到的该级开关盒中是否存在目标开关盒:
若探索到目标开关盒,则表示该待绕线网络全局绕线通过,保存该开关盒路径并至步骤C);
若完成该级所有开关盒探索且未探索到目标开关盒,则分别将该级开关盒作为当前开关盒,将当前开关盒的其余三条边分别作为新的当前边,继续探索下一级开关盒并判断探索到的该级开关盒中是否存在目标开关盒,直至该级开关盒中未探索到目标开关盒且无法获取下一级开关盒,则表示该待绕线网络绕线失败并至步骤C);
所述开关盒级数是指从起始开关盒到目标开关盒所经过的开关盒个数,起始开关盒的开关盒级数为0;
所述逐级获取开关盒是指:探索与当前开关盒共享当前边的相邻的可绕线开关盒;
C)判断是否还有未经过全局绕线处理的待绕线网络:若有,则取一个待绕线网络至步骤B)处理,否则全局绕线完成。
5.根据权利要求1所述的一种基于预绕线的版图自动绕线方法,其特征在于,所述步骤(5)中进行节点路径探索时,设当前节点为cur_grid,从探索到的候选节点adj中确定下一个当前节点时,选择的是代价值最小且能保证所形成的节点路径能探索成功的节点;
所述代价的影响因素包括惩罚、距离和转弯,惩罚值越小、距离值越小且转弯值越小,则代价值越小;候选节点的惩罚值根据节点的位置情况设置,靠近剩余待绕线网络中待绕线引脚的节点,其惩罚值高于其余节点;候选节点的距离值dist即指当前节点cur_grid到该候选节点adj的距离;候选节点的转弯值turn_cnt用于表征从起始节点到该候选节点的路径的转弯个数。
6.根据权利要求5所述的一种基于预绕线的版图自动绕线方法,其特征在于,所述步骤(5)中的细节化绕线,具体包括下述子步骤:
Ⅰ)取一条全局绕线通过的待绕线网络进行细节化绕线;
Ⅱ)获取该待绕线网络的开关盒路径,并设该待绕线网络的起始引脚引出点为起始节点,目标引脚引出点为目标节点;初始化节点的惩罚为0;
Ⅲ)遍历开关盒路径中的开关盒,确定每个开关盒中的惩罚加大节点:获取开关盒中四条边上剩余待绕线网络的待绕线引脚,将在该开关盒中这些待绕线引脚周围的节点确定为惩罚加大节点;对每个惩罚加大节点的惩罚值进行加大;
Ⅳ)沿着开关盒路径,在每个开关盒中探索节点路径:若成功探索到从起始节点到目标节点的节点路径,则进行绕线以生成绕线拓扑,该待绕线网络成功绕线;若探索从起始节点到目标节点的节点路径失败,则该待绕线网络绕线失败;
Ⅴ)判断是否还存在未处理的全局绕线通过的待绕线网络,若有,则取一个全局绕线通过的待绕线网络至步骤Ⅱ)处理,否则完成全部绕线,获得绕线结果;
进一步优选地,所述步骤Ⅲ)中,对每个惩罚加大节点的惩罚值进行加大,具体是指:PENAL=penalty+COEF*(width+space);
其中,所述PENAL为惩罚加大节点的惩罚值,所述penalty为惩罚加大节点的初始惩罚值,所述COEF为预设的惩罚系数,所述width是指预设的绕线宽度,所述space是指预设的绕线间距。
7.根据权利要求1所述的一种基于预绕线的版图自动绕线方法,其特征在于,所述步骤(1)中,根据引脚的引出方向,确定每个待绕线引脚的冲突引脚,即当该待绕线引脚所属的待绕线网络完成绕线,则每个冲突引脚所属的待绕线网络必然绕线失败;
在所述基于预绕线的版图自动绕线方法中,每当一个待绕线网络成功绕线,获取其起始引脚和目的引脚的冲突引脚,则冲突引脚所在的待绕线网络绕线失败。
8.根据权利要求1所述的一种基于预绕线的版图自动绕线方法,其特征在于,在步骤(3)中,还对每个节点进行状态设置:将被元器件或者障碍物影响的节点状态设为无效,其余节点的状态设为可绕线;
在步骤(5)中,待绕线网络创建实际的绕线拓扑后,将产生的绕线拓扑作为新的障碍物并将新障碍物影响的可绕线节点状态更新为无效;
设置节点状态,用于在细节化绕线进行节点路径探索时,仅对可绕线节点进行探索获取作为候选节点。
9.一种存储设备,其中存储有多条指令,所述指令适用于处理器加载并执行:权利要求1至8任意一项所述的基于预绕线的版图自动绕线方法。
10.一种基于预绕线的版图自动绕线系统,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行:权利要求1至8任意一项所述的基于预绕线的版图自动绕线方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911229501.6A CN111027273B (zh) | 2019-12-04 | 2019-12-04 | 一种基于预绕线的版图自动绕线方法、存储设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911229501.6A CN111027273B (zh) | 2019-12-04 | 2019-12-04 | 一种基于预绕线的版图自动绕线方法、存储设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111027273A true CN111027273A (zh) | 2020-04-17 |
CN111027273B CN111027273B (zh) | 2023-03-10 |
Family
ID=70204236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911229501.6A Active CN111027273B (zh) | 2019-12-04 | 2019-12-04 | 一种基于预绕线的版图自动绕线方法、存储设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111027273B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685991A (zh) * | 2020-12-22 | 2021-04-20 | 北京华大九天科技股份有限公司 | 一种满足约束的布线方法 |
CN113449485A (zh) * | 2021-06-24 | 2021-09-28 | 深圳砺芯半导体有限责任公司 | 引线生成方法、装置、设备及存储介质 |
CN117829084A (zh) * | 2024-03-04 | 2024-04-05 | 杭州广立微电子股份有限公司 | 一种三维网格绕线方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250490A (ja) * | 2007-03-29 | 2008-10-16 | Fujitsu Microelectronics Ltd | 配線層レイアウトデータの改版方法 |
US20110272815A1 (en) * | 2010-05-10 | 2011-11-10 | Akio Misaka | Semiconductor device and layout design method for the same |
CN102467582A (zh) * | 2010-10-29 | 2012-05-23 | 国际商业机器公司 | 一种集成电路设计中优化连线约束的方法和系统 |
CN102725760A (zh) * | 2009-11-09 | 2012-10-10 | 吉林克斯公司 | 改良带宽与静电放电免疫能力的t线圈网络设计 |
US20140115546A1 (en) * | 2012-10-23 | 2014-04-24 | Taiwan Semiconductor Manufacturing Co. Ltd. | Layout Design for Electron-Beam High Volume Manufacturing |
CN104143015A (zh) * | 2013-05-06 | 2014-11-12 | 国际商业机器公司 | 分析集成电路设计的稀疏连线区域的方法及系统 |
CN107491598A (zh) * | 2017-07-28 | 2017-12-19 | 清华大学 | 大规模微流控生物芯片快速布线方法及设备 |
CN107808061A (zh) * | 2017-11-20 | 2018-03-16 | 北京华大九天软件有限公司 | 一种支持正交与斜向走线的双向跨障碍布线方法 |
-
2019
- 2019-12-04 CN CN201911229501.6A patent/CN111027273B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250490A (ja) * | 2007-03-29 | 2008-10-16 | Fujitsu Microelectronics Ltd | 配線層レイアウトデータの改版方法 |
CN102725760A (zh) * | 2009-11-09 | 2012-10-10 | 吉林克斯公司 | 改良带宽与静电放电免疫能力的t线圈网络设计 |
US20110272815A1 (en) * | 2010-05-10 | 2011-11-10 | Akio Misaka | Semiconductor device and layout design method for the same |
CN102467582A (zh) * | 2010-10-29 | 2012-05-23 | 国际商业机器公司 | 一种集成电路设计中优化连线约束的方法和系统 |
US20140115546A1 (en) * | 2012-10-23 | 2014-04-24 | Taiwan Semiconductor Manufacturing Co. Ltd. | Layout Design for Electron-Beam High Volume Manufacturing |
CN104143015A (zh) * | 2013-05-06 | 2014-11-12 | 国际商业机器公司 | 分析集成电路设计的稀疏连线区域的方法及系统 |
CN107491598A (zh) * | 2017-07-28 | 2017-12-19 | 清华大学 | 大规模微流控生物芯片快速布线方法及设备 |
CN107808061A (zh) * | 2017-11-20 | 2018-03-16 | 北京华大九天软件有限公司 | 一种支持正交与斜向走线的双向跨障碍布线方法 |
Non-Patent Citations (2)
Title |
---|
冯刚等: "动态串扰优化的开关盒布线", 《半导体学报》 * |
邵康鹏等: "可寻址测试芯片测试结构自动分配算法研究", 《机电工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685991A (zh) * | 2020-12-22 | 2021-04-20 | 北京华大九天科技股份有限公司 | 一种满足约束的布线方法 |
CN112685991B (zh) * | 2020-12-22 | 2022-11-01 | 北京华大九天科技股份有限公司 | 一种满足约束的布线方法 |
CN113449485A (zh) * | 2021-06-24 | 2021-09-28 | 深圳砺芯半导体有限责任公司 | 引线生成方法、装置、设备及存储介质 |
CN117829084A (zh) * | 2024-03-04 | 2024-04-05 | 杭州广立微电子股份有限公司 | 一种三维网格绕线方法 |
CN117829084B (zh) * | 2024-03-04 | 2024-05-14 | 杭州广立微电子股份有限公司 | 一种三维网格绕线方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111027273B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111027273B (zh) | 一种基于预绕线的版图自动绕线方法、存储设备及系统 | |
CN111368493B (zh) | 一种基于稀疏网格的自动版图布线生成方法 | |
CN110795908B (zh) | 偏差驱动的总线感知总体布线方法 | |
CN114781318B (zh) | 芯片的模块引脚布线方法、装置、电子设备及存储介质 | |
JPH05205011A (ja) | 回路基板の配線パターン決定方法及び回路基板 | |
US20200262436A1 (en) | Method, device, and terminal apparatus for invoking automatic driving reference line | |
CN116911246B (zh) | 芯片设计的布线规划方法及相关设备 | |
CN115374748A (zh) | 一种基于深度强化学习的fpga布线器布线方法及系统 | |
CN112560389A (zh) | 一种基于轨道分配的实用详细布线方法 | |
CN117783841B (zh) | 一种fpga布线覆盖率测试方法、装置、设备及介质 | |
CN111062180B (zh) | 一种fpga布线方法及装置 | |
CN111291528B (zh) | 一种用于不同绕线层间的3d绕线方法及系统 | |
CN109256774B (zh) | 一种基于电压等级的电网子图划分方法及装置 | |
CN110941940A (zh) | 一种基于碰撞检测的3d绕线方法、存储设备和系统 | |
CN112948946B (zh) | 一种基于杆塔模型的杆塔数据处理方法、装置、设备和存储介质 | |
CN115983190A (zh) | 一种满足多重掩膜约束的集成电路版图布线方法、装置及存储介质 | |
CN116108799B (zh) | 一种基于轨道的版图自动接线方法、系统及装置 | |
CN115270694B (zh) | 基于总线拓扑模式实现布线的方法 | |
CN115310399B (zh) | 集成电路版图中基于总线拓扑模式进行布线的方法 | |
CN117688895B (zh) | 电路图生成方法、计算机设备及存储介质 | |
CN113255283B (zh) | 快速拆除闭合环路和冗余节点的全局布线方法 | |
CN112957734B (zh) | 一种基于二次搜索的地图寻路方法及装置 | |
CN115096313B (zh) | 一种用于区域避障的数据处理方法及装置 | |
US11544438B2 (en) | Superconductive circuit splitter placement | |
CN118410763A (zh) | 一种基于Hanan网格的模拟IC全局布线方法 |
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 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |