CN111767688B - 集成电路版图多边形非结构网格自适应细分方法和系统 - Google Patents
集成电路版图多边形非结构网格自适应细分方法和系统 Download PDFInfo
- Publication number
- CN111767688B CN111767688B CN202010912297.4A CN202010912297A CN111767688B CN 111767688 B CN111767688 B CN 111767688B CN 202010912297 A CN202010912297 A CN 202010912297A CN 111767688 B CN111767688 B CN 111767688B
- Authority
- CN
- China
- Prior art keywords
- polygon
- edge
- triangle
- eroded
- integrated circuit
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种集成电路版图多边形非结构网格自适应细分方法和系统。方法包括根据丢失和被侵蚀的多边形边按顺序插入偏心中点到现有网格以恢复丢失的和消除被侵蚀的多边形边,根据设定的比值/最小角阈值确定待细分三角形,按顺序插入待细分三角形的偏心圆圆心到现有网格以消除待细分的三角形,以上恢复丢失和消除被侵蚀的多边形边以及消除待细分的三角形交织进行,直到集成电路版图多边形非结构网格中不存在丢失的和被侵蚀的多边形边以及待细分的三角形,最终形成新的超大规模集成电路版图的非结构网格,以在解决现有技术中因新插入的节点所产生的冗余而导致的局部网格过于密集的问题的同时,提高网格剖分精度和数值计算效率,减少计算内存。
Description
技术领域
本发明涉及电路版图非结构网格剖分领域,特别是涉及一种集成电路版图多边形非结构网格自适应细分方法和系统。
背景技术
多层超大规模集成电路版图的非结构网格剖分是集成电路后端验证电磁场数值计算的基础。为准确分析超大规模集成电路的电源完整性和信号完整性,需采用严格的数值计算方法计算电磁场在集成电路中的分布,数值计算电磁场的准确性很大程度上取决于对计算场域的离散,即计算场域网格剖分的好坏,并且生成的网格节点数量也直接决定了数值计算的精度和速度。对于近年来结构越来越复杂、尺度范围为厘米级到纳米级的多尺度结构的集成电路,传统的结构网格剖分不再适用,需要采用非结构网格剖分以准确匹配结构复杂的版图边界。而如何在保证数值计算精度(相同网格质量和最大网格单元尺寸)的前提下,采用非结构网格剖分生成最少网格节点具有重大意义,因为网格节点的减少将直接提高数值计算的速度和减少使用内存大小。
非结构网格剖分虽广泛用于许多领域,如复杂电气结构的电磁场数值计算、三维重建、计算机图形学等许多领域,但是在多层超大规模集成电路的后端验证电磁场仿真方面,非结构网格剖分更是起到非常重要的作用。因为多层超大规模集成电路的电源层通常具有非常复杂的走线和版图,传统的传输线法或有限差分法无法处理尺度范围为厘米级到纳米级的多尺度结构的集成电路,因此,需要采用非结构网格精准识别并采用高质量网格单元剖分超大规模集成电路的版图区域,进而采用电磁场数值计算方法高精度计算电磁场在超大规模集成电路的分布。
针对超大规模集成电路版图的特点,可采用二维非结构三角形网格将每层版图及不同层之间的耦合区域进行网格剖分。由于版图结构异常复杂,因此在对版图区域进行网格剖分时,既需要高质量的三角形网格单元,又需要尽可能少的节点和网格单元。
三角形的质量定义为三角形外接圆的半径与最短边的长度之比,且该比值越大,说明三角形质量越差。通常,设定一个比值的阈值,在这个比值大于该阈值时,认为这个三角形的质量未达到要求,需要进一步插入新的节点进行细分以改善三角形单元的质量。由于定义三角形单元质量的比值等于,这里为三角形的最小角,因此也可以通过三角形的最小角定义三角形的质量,与比值阈值对应的,定义三角形的质量达到要求的三角形的最小角阈值为θ threshold ,如果三角形的最小角小于最小角阈值θ threshold ,认为这个三角形的质量未达到要求。
生成超大规模集成电路版图多边形二维的高质量Delaunay三角剖分的方法包括消除网格剖分中丢失或被侵蚀的超大规模集成电路版图多边形的边及改善网格单元质量两个步骤。算法首先通过插入点的方法消除网格剖分中丢失或被侵蚀的超大规模集成电路版图多边形的边。如果存在丢失或被侵蚀的超大规模集成电路版图多边形的边,传统算法会继续将多边形的边的中点插入当前的Delaunay三角剖分中,并将该多边形的边分为两个子边,重复操作直到不存在丢失或被侵蚀的多边形的边。这里丢失的多边形的边指这个多边形的边定义了集成电路版图的边界,但这个多边形的边却不在三角形网格中(不是三角形网格任一三角形单元的边);而被侵蚀的多边形的边则是指以这个多边形的边为直径的圆包含某些其他网格节点,那么这个多边形的边称为被侵蚀的多边形的边。在不存在丢失或被侵蚀的多边形的边后,再次通过插入新的节点以改善网格剖分中三角形的质量。对于质量差的三角形,传统算法尝试将这个三角形的外接圆的圆心插入当前的Delaunay三角剖分网格中。但是,如果外接圆的圆心侵蚀某个多边形的边(即该圆心位于该多边形的边的直径圆内),则该算法不会插入这个圆心,而是插入所有被侵蚀的多边形的边的中点到当前的Delaunay三角剖分网格中。
那么,基于该方法,在消除网格剖分中丢失或被侵蚀的超大规模集成电路版图多边形的边的过程中,不论是什么情况,都一律重复的在丢失或被侵蚀的多边形的边的中点插入新的节点到网格中去,将该边一分为二,直到不存在丢失或被侵蚀的多边形的边。其次,传统的算法针对质量差的三角形,在该三角形外接圆圆心不侵蚀其他多边形的边的情况下,给出的解决方案是在其外接圆圆心插入新的节点,而如果外接圆圆心侵蚀其他多边形的边,则在被侵蚀的所有边的中点均插入新的节点,可见,传统算法并没有关注新插入点的顺序。
基于传统算法的上述特征,传统算法虽能确保生成高质量二维非结构的三角形网格,但同时也带来在某些局部区域生成过于密集的网格的问题,使得数值计算需要更多的计算时间和更大的内存。
因此,提供一种能够在提高网格剖分精度的同时,提高数值计算效率、减少计算内存的集成电路版图多边形非结构网格自适应细分方法或系统,是本领域亟待解决的技术难题。
发明内容
本发明的目的是提供一种集成电路版图多边形非结构网格自适应细分方法和系统,以解决现有网格细分技术中存在的某些局部区域生成的网格过于密集的问题,进而能够在提高网格剖分精度的同时,提高数值计算效率、减少计算内存。
为实现上述目的,本发明提供了如下方案:
一种集成电路版图多边形非结构网格自适应细分方法,包括:
基于超大规模集成电路版图的多边形形成初始Delaunay三角形网格;
重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格;
设定第一三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;
根据设定的比值阈值、最小角阈值或边长阈值获取超大规模集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;
将所有所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边;
返回“重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格”的步骤,直至待自适应细分的三角形集合为空。
优选的,所述待自适应细分的三角形的偏心外接圆圆心按以下步骤获取:
S1:确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;
S2:如果候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;
S3:如果候选的待插入点侵蚀某个集成电路版图多边形的边,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为θ threshold ,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的集成电路版图多边形的边;所述θ threshold 为质量达到设定要求的三角形的最小角阈值;
S4:如果该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形不是质量差的三角形,则候选的待插入点即为三角形的偏心外接圆圆心,结束;
S5:如果该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形是质量差的三角形,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为θ threshold ;
S6:转入步骤S2。
优选的,所述重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格,具体包括:
获取待细分超大规模集成电路版图中包含多个顶点的多个多边形;
采用Delaunay三角剖分算法形成以超大规模集成电路版图多边形顶点为网格节点的初始Delaunay三角形网格;
确定所述初始Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格;所述非结构网格即为所述第一三角形网格。
优选的,所述确定所述Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格,具体包括:
对丢失的多边形的边和被侵蚀的多边形的边按边长进行升序排列,形成丢失的多边形的边和被侵蚀的多边形的边的集合Edges;
从所述集合Edges中依次提取边长最短的边,并判断所述边长最短的边的类型;若所述边长最短的边为丢失的多边形的边,则采用偏心中点恢复法对所述边长最短的边进行恢复;若所述边长最短的边为被侵蚀的多边形的边,则采用偏心中点消除法消除所述被侵蚀的多边形的边。
优选的,所述将所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边,具体包括:
对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
从所述集合Triangles中依次提取最短边长最短的待自适应细分的三角形,并获取提取的待自适应细分的三角形的偏心外接圆圆心;
将所述三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。
一种集成电路版图多边形非结构网格自适应细分系统,包括:
三角形网格获取模块,用于基于超大规模集成电路版图的多边形形成初始Delaunay三角形网格;
第一三角形网格形成模块,用于重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格;
待自适应细分三角形设定模块,用于设定第一三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;
三角形集合生成模块,用于根据设定的比值阈值、最小角阈值或边长阈值获取超大规模集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;
更新模块,用于将所有所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边;
循环模块,用于返回“重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格”的步骤,直至待自适应细分的三角形集合为空。
优选的,还包括偏心外接圆圆心获取模块;所述偏心外接圆圆心获取模块包括:
外接圆圆心确定单元,用于确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;
第一待插入点确定单元,用于当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;
第二待插入点确定单元,用于当候选的待插入点侵蚀某个集成电路版图多边形的边时,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为θ threshold ,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的集成电路版图多边形的边;所述θ threshold 为质量达到设定要求的三角形的最小角阈值;
第三待插入点确定单元,用于当该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形不是质量差的三角形时,候选的待插入点即为三角形的偏心外接圆圆心,结束;
第四待插入点确定单元,用于当该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形是质量差的三角形时,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为θ threshold ;
循环单元,用于返回执行“当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心”的步骤。
优选的,所述第一三角形网格形成模块,具体包括:
多边形获取单元,用于获取待细分超大规模集成电路版图中包含多个顶点的多个多边形;
三角形网格形成单元,用于采用Delaunay三角剖分算法形成以超大规模集成电路版图多边形顶点为网格节点的初始Delaunay三角形网格;
非结构网格生成单元,用于确定所述初始Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格;所述非结构网格即为所述第一三角形网格。
优选的,所述非结构网格生成单元,具体包括:
集合形成单元,用于对丢失的多边形的边和被侵蚀的多边形的边按边长进行升序排列,形成丢失的多边形的边和被侵蚀的多边形的边的集合Edges;
边恢复或消除单元,用于从所述集合Edges中依次提取边长最短的边,并判断所述边长最短的边的类型;若所述边长最短的边为丢失的多边形的边,则采用偏心中点恢复法对所述边长最短的边进行恢复;若所述边长最短的边为被侵蚀的多边形的边,则采用偏心中点消除法消除所述被侵蚀的多边形的边。
优选的,所述更新模块,具体包括:
集合生成单元,用于对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
偏心外接圆圆心获取单元,用于从所述集合Triangles中依次提取最短边长最短的待自适应细分的三角形,并获取提取的待自适应细分的三角形的偏心外接圆圆心;
更新单元,用于将所述三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的集成电路版图多边形非结构网格自适应细分方法和系统,根据设定的比值阈值判断提取的质量差的三角形中任意两个顶点与其对应外接圆心构成的三角形是否属于质量差的三角形,来进一步在质量差的三角形的边的中垂线上确定一顶点作为新的插入点插入到现有的三角形网格中,进而更新非结构网格图的网格剖分和超大规模集成电路版图中多边形的边,形成新的超大规模集成电路版图的非结构网格图,以在解决现有技术中因新插入的节点所产生的冗余而导致的局部网格过于密集的问题的同时,提高网格剖分精度和数值计算效率,减少计算内存。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的集成电路版图多边形非结构网格自适应细分方法的流程图;
图2为本发明实施例中最近点选择原理示意图;
图3为本发明实施例中插入偏心中点后的Delaunay三角形网格的结构示意图;
图4为本发明实施例所选被侵蚀的边的偏心中点的第一位置示意图;
图5为本发明实施例所选被侵蚀的边的偏心中点的第二位置示意图;
图6为本发明实施例中确定质量差的三角形的外接圆心的示意图;
图7为本发明实施例中理想情况下给定质量网格剖分由最小尺寸过渡到最大尺寸的示意图;
图8为本发明实施例中随机顺序插入偏心中点和偏心圆心的网格剖分结果图;
图9为本发明实施例中按边长由小到大的顺序插入偏心中点和偏心圆心的网格剖分结果图;
图10为本发明提供的集成电路版图多边形非结构网格自适应细分系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种集成电路版图多边形非结构网格自适应细分方法和系统,以解决现有技术中存在的某些局部区域生成的网格过于密集的问题,进而能够在提高网格剖分精度的同时,提高数值计算效率、减少计算内存。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明提供的集成电路版图多边形非结构网格自适应细分方法的流程图,如图1所示,一种集成电路版图多边形非结构网格自适应细分方法,包括:
步骤100:基于超大规模集成电路版图的多边形形成初始Delaunay三角形网格;
步骤101:重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格;
步骤102:设定第一三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;所述三角形质量定义为三角形的外接圆的半径与其最短边的长度之比,比值越大,三角形质量越差。
步骤103:根据设定的比值阈值、最小角阈值或边长阈值获取超大规模集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值。由于三角形的外接圆的半径与其最短边的长度之比也等于,这里为三角形的最小角,因此也可以通过三角形的最小角定义三角形单元的质量,与比值阈值对应的,定义三角形的质量达到要求的三角形的最小角阈值为θ threshold ,如果三角形的最小角小于最小角阈值θ threshold ,认为这个三角形的质量未达到要求,需要进行网格细分;所述边长阈值为:三角形的最大边长不大于预先设定的边长阈值,如果大于这个边长阈值,该三角形需要进行网格细分;
步骤104:将所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边;
步骤106:重复上述步骤直至待自适应细分的三角形集合为空。
优选的,所述三角形的偏心外接圆圆心按以下步骤获取:
S1:计算三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;
S2:如果候选的待插入点不侵蚀任何集成电路版图多边形的边,且该三角形的边不包含集成电路版图多边形的边,候选的待插入点即为三角形的偏心外接圆圆心,结束;
S3:如果候选的待插入点侵蚀某个集成电路版图多边形的边,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为θ threshold ,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述该集成电路版图多边形的边的相邻边指与所述该集成电路版图多边形的边共顶点的任一集成电路版图多边形的边;此处的“共顶点”是指所述该集成电路版图多边形的两条边有一个相同的顶点。
S4:如果该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述包含集成电路版图多边形的边的三角形的边两个顶点形成的三角形不是质量差的三角形,候选的待插入点即为三角形的偏心外接圆圆心,结束;
S5:如果该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述包含集成电路版图多边形的边的三角形的边两个顶点形成的三角形是质量差的三角形,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为θ threshold ;
S6:转入S2。
优选的,所述重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格,具体包括:
获取待细分超大规模集成电路版图中包含多个顶点的多个多边形;
采用Delaunay三角剖分算法形成以超大规模集成电路版图多边形顶点为网格节点的Delaunay三角形网格;
确定所述Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格。
优选的,所述确定所述Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格,具体包括:
对丢失的多边形的边和被侵蚀的多边形的边按边长进行升序排列,形成丢失的多边形的边和被侵蚀的多边形的边的集合Edges;
从所述集合Edges中依次提取边长最短的边,并判断所述边长最短的边的类型;若所述边长最短的边为丢失的多边形的边,则采用偏心中点恢复法对所述边长最短的边进行恢复;若所述边长最短的边的被侵蚀的多边形的边,则采用偏心中点消除法消除所述边长最短的边。
优选的,所述根据所述设定的比值阈值、最小角阈值以及边长阈值确定所述非结构网格中待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;将所述三角形的偏心外接圆圆心作为插入点插入到现有的三角形网格中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边,具体包括:
对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
从所述集合Triangles中依次提取三角形的最短边长最短的边,并按所述三角形的偏心外接圆圆心的获取步骤获取所述三角形的偏心外接圆圆心;
将所述三角形的偏心外接圆圆心作为插入点插入到现有的三角形网格中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。
下面以一个具体实例,对本发明提供的上述集成电路版图多边形非结构网格自适应细分方法进行说明,在实际应用过程中,本领域技术人员可以根据实际需要在本发明提供的具体实施例的基础上进行变形,但均属于本发明所提供的技术方案的保护范围。
对于多层超大规模集成电路,通过数值计算方法对其电磁场进行高精度的求解时,需要对该版图进行高质量的网格剖分。集成电路版图通常通过多边形进行描述,对于版图内的金属区域,采用正向(逆时针方向)多边形进行描述,而对于版图内的绝缘区域,则采用负向(顺时针方向)多边形进行描述。网格剖分的任务,则是将这些正向多边形采用一种或多种小尺寸单元进行不重叠、无空隙的分割。单元尺寸越小,分割的单元越接近理想形状(二维:正三角形、正方形。三维:正四面体、立方体等),基于这种分割单元的数值计算精度越高。对于结构复杂的集成电路版图区域,通常采用非结构网格进行网格剖分。首先,采用Delaunay方法对描述超大规模集成电路版图的多边形进行初始网格剖分,以形成多边形的所有顶点为初始网格节点,采用Delaunay方法将这些多边形的顶点逐一加入到Delaunay三角形网格中去。
采用Delaunay方法生成的三角形网格,超大规模集成电路版图多边形的所有顶点都加入到三角形网格中,但超大规模集成电路版图多边形的边不一定都是三角形的边,即存在这样的三角形,其至少一条边与超大规模集成电路版图多边形的边相交,这样的三角形将跨越至少两个不同的区域,这是网格剖分中不允许出现的情形。因此,需要采取适当的手段消除这种三角形,恢复不是三角形边的多边形的边(丢失的多边形的边)为三角形的边。可采用插入新的网格节点的方法恢复多边形的边,传统方法是在丢失边的中点插入新的网格节点,将这个网格节点加入到现有三角形网格中去,形成新的三角形网格,同时,原来丢失的多边形的边也被这个中点分为两条边,后面只需判断细分的边是否为丢失的多边形的边即可。这个过程一种重复直到所有多边形的边都为网格中三角形的边,即不存在丢失的多边形的边。
基于上述理念,本发明中采用偏心中点恢复法对丢失的多边形的边进行恢复。采用偏心中点恢复法对丢失的多边形的边进行恢复的过程具体包括:
从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点。
确定在所述丢失的多边形的边直径圆之内的所有顶点中与所述丢失的多边形的边的所述第一顶点A或所述第二顶点B距离最近的顶点,作为最近点C,如果,交换第一顶点A和所述第二顶点B的位置使得。如图2所示,边的直径圆包含顶点C和顶点D,顶点C离边的顶点B最近,所以选顶点C为最近的顶点。图2中,多边形的边用粗线表示。
将所述偏心中点O插入到所述丢失的多边形的边上,形成新的多边形边和(如图3所示),同时将偏心中点O采用Delaunay三角剖分算法插入到所述Delaunay三角形网格中,形成第一Delaunay三角形网格。
判断所述第一Delaunay三角形网格是否存在丢失的多边形的边。若存在丢失的多边形的边,则返回从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点的步骤,直至所有丢失的多边形的边被恢复。
上述步骤“若存在丢失的多边形的边,则返回从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点的步骤,直至所有丢失的多边形的边被恢复”,优选包括:
若存在丢失的多边形的边,则将所有所述第一Delaunay三角形网格中的丢失边添加到丢失的多边形的边集合中。
从所述丢失的多边形的边集合中调取一丢失边,并执行从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点的步骤,直至所述丢失的多边形的边集合中的所有丢失的多边形的边均被恢复。
在对求解区域进行网格剖分时,需要网格单元质量达到一定要求,因为质量差的三角形会使得数值计算生成的求解矩阵条件数变大,矩阵接近奇异,直接使得求解误差增大;同时,网格大小也应满足一定要求,即网格单元最大边长不能大于设定的边长阈值,否则网格尺寸太大导致求解误差不满足要求。采用上述恢复丢失的多边形的边的步骤,虽然可以消除集成电路版图多边形丢失的边,保证所有多边形的边都是网格剖分中三角形单元的边,但是,在恢复丢失边的过程中,可能还存在质量差的三角形,或尺寸大于设定边长阈值的三角形,因此,必须消除这些质量差和尺寸大的三角形,以保证数值计算的精度。
通常在传统方法中,是采用在质量差和尺寸大的三角形附近插入新的节点的方式,将新的节点插入到现有网格中去,即采用Delaunay准则,使得新节点附近的三角形顶点都与新的节点相连形成新的三角形,从而消除质量差和尺寸大的三角形。
应用Delaunay准则的前提,是现有三角形网格符合Delaunay准则,即所有三角形的外接圆不严格包含任意三角形的顶点。反过来讲,如果某个多边形的边的直径圆包含某个三角形的顶点,则这个三角形的边不符合Delaunay准则,需要插入新的节点消除这种多边形的边。传统方法定义这种多边形的边为被侵蚀的多边形的边,然而,本发明认为这种定义过于宽松,这个定义使得更多的多边形的边被选中为被侵蚀的多边形的边,导致插入更多冗余的节点。基于这一缺陷,本发明重新定义被侵蚀的多边形的边为:如果多边形的边的直径圆包含其它网格节点,且与之相连的三角形至少有一个是质量差的三角形,则该边为被侵蚀的多边形的边。基于这一定义,本发明提供了一种偏心中点消除法,以消除被侵蚀的多边形的边。
采用该偏心中点消除法消除所述被侵蚀的多边形的边的过程,具体包括:
判断线段和间的关系。若,则将被侵蚀的多边形的边的中点作为新的偏心中点,若,则所确定的偏心中点位置不变。如图4所示,,但,因此取为被侵蚀的多边形的边的中点。图5中,,且,则取O 1为被侵蚀的多边形的边的偏心中点。其中,E和D均为被侵蚀的多边形的边周围的三角网格顶点。
判断所述第二Delaunay三角形网格是否存在被侵蚀的多边形的边。若存在被侵蚀的多边形的边,则返回确定所述被侵蚀的多边形的边的直径圆中与所述被侵蚀的多边形的边的第一顶点或第二顶点距离最近的一顶点的步骤,直至所有被侵蚀的多边形的边被消除。
若存在被侵蚀的多边形的边,则将所有所述第二Delaunay三角形网格中的被侵蚀的多边形的边添加到侵蚀的多边形的边集合中。
从所述侵蚀的多边形的边集合中调取一被侵蚀的多边形的边,并执行确定所述被侵蚀的多边形的边的直径圆中与所述被侵蚀的多边形的边的第一顶点或第二顶点距离最近的一顶点的步骤,直至所述侵蚀的多边形的边集合中的所有被侵蚀的多边形的边均被消除。
针对质量差的三角形,或者三角形最大边长大于设定边长阈值的三角形,传统方法是计算出该三角形的外接圆圆心,将这个圆心按照Delaunay准则插入现有网格中去,这将带来如下问题:1) 新插入的圆心可能落在超大规模集成电路版图多边形的边附近,导致这个多边形的边成为被侵蚀的多边形的边。2) 新引入被侵蚀的多边形的边,需要在这个被侵蚀的多边形的边上插入偏心中点以消除这个被侵蚀的多边形的边。3) 集成电路版图结构尺度大的区域,生成的质量好的三角形尺寸太大,无法达到精度要求。以上处理,将使得新插入的节点产生冗余,最终导致局部产生过于密集的网格,或者在集成电路版图结构尺度大的区域生成的网格尺寸无法达到精度要求。
因此,本发明采用偏心外接圆圆心法来解决现有技术中的上述问题,具体包括:
根据设定的比值阈值或最小角阈值以及边长阈值确定所述非结构网格中待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中。
如果候选的待插入点O不侵蚀任何集成电路版图多边形的边,且该三角形的边不包含集成电路版图多边形的边,将候选的待插入点O插入到现有网格中,更新网格剖分和多边形边的信息。
如果候选的待插入点O侵蚀某个集成电路版图多边形的边,如图6所示,候选的待插入点O侵蚀集成电路版图多边形的边,在被侵蚀的边上找到一点C作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为θ threshold ,如图6所示,找到的点C使得,其中,θ threshold 为设定的三角形的最小角阈值。将候选的待插入点C插入到现有网格中,更新网格剖分和多边形边的信息。
如果该三角形的边包含集成电路版图多边形的边,且候选的待插入点与包含集成电路版图多边形的边的三角形的边两个顶点形成的三角形不是质量差的三角形,将候选的待插入点插入到现有网格中,更新网格剖分和多边形边的信息。否则,如图6所示,该三角形的边和同时也是集成电路版图多边形的边,如果候选的待插入点O不侵蚀集成电路版图多边形的边,则判断与是否为质量差的三角形,判断发现为质量差的三角形,则在边的中垂线上找到点C 0,使得,重新开始对点C 0进行上述判断和修改,将最终的候选的待插入点插入到现有网格中,更新网格剖分和多边形边的信息。
由于版图多边形的多尺度特征,其边长、缝隙的尺度范围从厘米级到纳米级。因此,形成的非结构网格的单元尺寸也有相同的多尺度特征,在版图多边形边长由小尺度变化到大尺度的过程中,网格剖分的单元也从小尺度到大尺度转变。在尺度小的区域,网格剖分非常密集,而在尺度大的区域,网格剖分相对稀疏,从网格密集的区域到网格稀疏的区域,剖分的网格有一个由密到疏的过渡,本发明利用网格由密到疏过渡单元尺度的变化规律,提出针对丢失的多边形的边和被侵蚀的多边形的边引入的偏心中点对质量差的三角形引入的偏心圆心的插入顺序进行优化。对丢失边和被侵蚀的多边形的边,规定按边长由小到大的顺序插入偏心中点,以消除丢失的多边形的边和被侵蚀的多边形的边。对质量差的三角形,规定按三角形最短边由小到大的顺序插入偏心外接圆圆心,以消除质量差的三角形。理论上,这种按边长由小到大的顺序插入偏心中点和偏心外接圆圆心使得由密到疏每细分一次,三角形最短边长增大q倍,如图7所示,其中,,那么在理想情况下,由最小尺度l过渡到最大尺度L仅需要次迭代,这是因为,则。
基于此,本发明提供的偏心中点按顺序插入的具体步骤如下:
对丢失边和被侵蚀的边按边长进行排序,形成边长由小到大的有序的丢失边和被侵蚀的边的集合Edges。
对质量差的三角形按其最短边的边长进行排序,形成最短边边长由小到大的有序的质量差的三角形集合Triangles。
从集合Edges中取出边长最短的边,并把这个边从集合Edges中删除。如果这个最短边为丢失边,采用偏心中点恢复法恢复这个丢失边,如果这个最短边为被侵蚀的边,则采用偏心中点消除法消除这个被侵蚀的边。
当集合Edges为空时,从集合Triangles中取出最短边最短的三角形,并把这个三角形从集合Triangles中删除,按上述提供的偏心外接圆圆心法消除这个质量差的三角形,直至集合Triangles为空。
本发明提供的偏心外接圆圆心按顺序插入的具体步骤如下:
对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
从所述集合Triangles中依次提取三角形的最短边长最短的边,并按所述三角形的偏心外接圆圆心的获取步骤获取所述三角形的偏心外接圆圆心;
将所述三角形的偏心外接圆圆心作为插入点插入到现有的三角形网格中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。
针对同样输入的版图多边形和同样的网格单元质量控制,分别采用随机插入方法和本发明提出的边长从小到大的顺序插入方法进行的网格剖分结果比较中,图8最终网格剖分的节点数为305,三角形单元数为601,图9最终网格剖分的节点数为257,三角形单元数为526。显然,相较于图8,图9中的节点数和网格数均减少了15%左右。
针对于上述提供的集成电路版图多边形非结构网格自适应细分方法,本发明还对应提供了一种集成电路版图多边形非结构网格自适应细分系统,如图10所示,该系统,包括:
三角形网格获取模块1,用于基于超大规模集成电路版图的多边形形成初始Delaunay三角形网格;
第一三角形网格形成模块2,用于重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格;
待自适应细分三角形设定模块3,用于设定第一三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;
三角形集合生成模块4,用于根据设定的比值阈值、最小角阈值或边长阈值获取超大规模集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;
更新模块5,用于将所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边;
循环模块6,用于重复上述步骤直至待自适应细分的三角形集合为空。
作为本发明的一优选实施例,该系统还包括偏心外接圆圆心获取模块;所述偏心外接圆圆心获取模块包括:
外接圆圆心确定单元,用于确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;
第一待插入点确定单元,用于当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;
第二待插入点确定单元,用于当候选的待插入点侵蚀某个集成电路版图多边形的边时,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为θ threshold ,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的任一集成电路版图多边形的边;所述θ threshold 为质量达到设定要求的三角形的最小角阈值;
第三待插入点确定单元,用于当该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形不是质量差的三角形时,候选的待插入点即为三角形的偏心外接圆圆心,结束;
第四待插入点确定单元,用于当该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形是质量差的三角形时,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为θ threshold ;
循环单元,用于返回执行“当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心”的步骤。
其中,上述第一三角形网格形成模块优选包括:
多边形获取单元,用于获取待细分超大规模集成电路版图中包含多个顶点的多个多边形;
三角形网格形成单元,用于采用Delaunay三角剖分算法形成以超大规模集成电路版图多边形顶点为网格节点的Delaunay三角形网格;
非结构网格生成单元,用于确定所述Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格;所述非结构网格即为所述第一三角形网格。
优选的,上述非结构网格生成单元,具体包括:
集合形成单元,用于对丢失的多边形的边和被侵蚀的多边形的边按边长进行升序排列,形成丢失的多边形的边和被侵蚀的多边形的边的集合Edges;
边恢复或消除单元,用于从所述集合Edges中依次提取边长最短的边,并判断所述边长最短的边的类型;若所述边长最短的边为丢失的多边形的边,则采用偏心中点恢复法对所述边长最短的边进行恢复;若所述边长最短的边为被侵蚀的多边形的边,则采用偏心中点消除法消除所述被侵蚀的多边形的边。
作为本发明的另一优选实施例上述更新模块5,具体包括:
集合生成单元,用于对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
偏心外接圆圆心获取单元,用于从所述集合Triangles中依次提取三角形的最短边长最短的边的待自适应细分的三角形,并获取提取的待自适应细分的三角形的偏心外接圆圆心;
更新单元,用于将所述三角形的偏心外接圆圆心作为插入点插入到现有的三角形网格中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种集成电路版图多边形非结构网格自适应细分方法,其特征在于,包括:
基于超大规模集成电路版图的多边形形成初始Delaunay三角形网格;
重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格;定义所述被侵蚀的多边形的边为:如果多边形的边的直径圆包含其他网格节点,且与之相连的三角形至少有一个是质量差的三角形,则该边为述被侵蚀的多边形的边;在丢失的多边形的边上按设定条件确定偏心中点O;所述设定条件为:所述偏心中点O使得∠COB等于所述三角形的最小角阈值θthreshold;其中,B为丢失的多边形的边的第二顶点;C为最近点,即为与所述丢失的多边形的边的第一顶点A或第二顶点B距离最近的顶点;
设定第一三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;
根据设定的比值阈值、最小角阈值或边长阈值获取超大规模集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;
将所有所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边;所述偏心外接圆圆心即为候选的待插入点;
返回“重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格”的步骤,直至待自适应细分的三角形集合为空。
2.根据权利要求1所述的集成电路版图多边形非结构网格自适应细分方法,其特征在于,所述待自适应细分的三角形的偏心外接圆圆心按以下步骤获取:
S1:确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;
S2:如果候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;
S3:如果候选的待插入点侵蚀某个集成电路版图多边形的边,在被侵蚀的边上找到一点作为候选的待插入点,该点与所述被侵蚀的边的相邻边形成的三角形最小角为θthreshold,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的集成电路版图多边形的边;所述θthreshold为质量达到设定要求的三角形的最小角阈值;
S4:如果该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形不是质量差的三角形,则候选的待插入点即为三角形的偏心外接圆圆心,结束;
S5:如果该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形是质量差的三角形,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为θthreshold;
S6:转入步骤S2。
3.根据权利要求1所述的集成电路版图多边形非结构网格自适应细分方法,其特征在于,所述重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格,具体包括:
获取待细分超大规模集成电路版图中包含多个顶点的多个多边形;
采用Delaunay三角剖分算法形成以超大规模集成电路版图多边形顶点为网格节点的初始Delaunay三角形网格;
确定所述初始Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格;所述非结构网格即为所述第一三角形网格;
采用偏心中点恢复法对所述丢失的多边形的边进行恢复的过程具体包括:
从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点;
在所述丢失的多边形的边上按设定条件确定偏心中点O;所述设定条件为:所述偏心中点O使得∠COB等于所述三角形的最小角阈值θthreshold;
判断所述第一Delaunay三角形网格是否存在丢失的多边形的边;若存在丢失的多边形的边,则返回从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点的步骤,直至所有丢失的多边形的边被恢复;
采用该偏心中点消除法消除所述被侵蚀的多边形的边的过程,具体包括:
在被侵蚀的多边形的边上找到偏心中点O′,使得∠A′O′C′=θthreshold;其中,θthreshold为三角形的最小角阈值;
判断所述第二Delaunay三角形网格是否存在被侵蚀的多边形的边;若存在被侵蚀的多边形的边,则返回确定所述被侵蚀的多边形的边的直径圆中与所述被侵蚀的多边形的边的第一顶点A′或第二顶点B′距离最近的一顶点C′的步骤,直至所有被侵蚀的多边形的边被消除。
4.根据权利要求3所述的集成电路版图多边形非结构网格自适应细分方法,其特征在于,所述确定所述Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格,具体包括:
对丢失的多边形的边和被侵蚀的多边形的边按边长进行升序排列,形成丢失的多边形的边和被侵蚀的多边形的边的集合Edges;
从所述集合Edges中依次提取边长最短的边,并判断所述边长最短的边的类型;若所述边长最短的边为丢失的多边形的边,则采用偏心中点恢复法对所述边长最短的边进行恢复;若所述边长最短的边为被侵蚀的多边形的边,则采用偏心中点消除法消除所述被侵蚀的多边形的边。
5.根据权利要求1所述的集成电路版图多边形非结构网格自适应细分方法,其特征在于,所述将所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边,具体包括:
对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
从所述集合Triangles中依次提取最短边长最短的待自适应细分的三角形,并获取提取的待自适应细分的三角形的偏心外接圆圆心;
将所述三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。
6.一种集成电路版图多边形非结构网格自适应细分系统,其特征在于,包括:
三角形网格获取模块,用于基于超大规模集成电路版图的多边形形成初始Delaunay三角形网格;
第一三角形网格形成模块,用于重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格;定义所述被侵蚀的多边形的边为:如果多边形的边的直径圆包含其他网格节点,且与之相连的三角形至少有一个是质量差的三角形,则该边为述被侵蚀的多边形的边;
待自适应细分三角形设定模块,用于设定第一三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;
三角形集合生成模块,用于根据设定的比值阈值、最小角阈值或边长阈值获取超大规模集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;
更新模块,用于将所有所述待自适应细分的三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边;所述偏心外接圆圆心即为候选的待插入点;
循环模块,用于返回“重复的在初始Delaunay三角形网格中插入偏心中点,消除丢失的超大规模集成电路版图的多边形的边和被侵蚀的多边形的边,形成第一三角形网格”的步骤,直至待自适应细分的三角形集合为空。
7.根据权利要求6所述的集成电路版图多边形非结构网格自适应细分系统,其特征在于,还包括偏心外接圆圆心获取模块;所述偏心外接圆圆心获取模块包括:
外接圆圆心确定单元,用于确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;
第一待插入点确定单元,用于当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;
第二待插入点确定单元,用于当候选的待插入点侵蚀某个集成电路版图多边形的边时,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为θthreshold,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的集成电路版图多边形的边;所述θthreshold为质量达到设定要求的三角形的最小角阈值;
第三待插入点确定单元,用于当该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形不是质量差的三角形时,候选的待插入点即为三角形的偏心外接圆圆心,结束;
第四待插入点确定单元,用于当该待自适应细分的三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述待自适应细分的三角形的边的两个顶点形成的三角形是质量差的三角形时,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为θthreshold;
循环单元,用于返回执行“当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心”的步骤。
8.根据权利要求6所述的集成电路版图多边形非结构网格自适应细分系统,其特征在于,所述第一三角形网格形成模块,具体包括:
多边形获取单元,用于获取待细分超大规模集成电路版图中包含多个顶点的多个多边形;
三角形网格形成单元,用于采用Delaunay三角剖分算法形成以超大规模集成电路版图多边形顶点为网格节点的初始Delaunay三角形网格;
非结构网格生成单元,用于确定所述初始Delaunay三角形网格中的丢失的多边形的边和被侵蚀的多边形的边,并采用偏心中点恢复法对所述丢失的多边形的边进行恢复,采用偏心中点消除法消除所述被侵蚀的多边形的边,以生成所述待细分超大规模集成电路版图的非结构网格;所述非结构网格即为所述第一三角形网格;
采用偏心中点恢复法对所述丢失的多边形的边进行恢复的过程具体包括:
从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点;
在所述丢失的多边形的边上按设定条件确定偏心中点O;所述设定条件为:所述偏心中点O使得∠COB等于所述三角形的最小角阈值θthreshold;
判断所述第一Delaunay三角形网格是否存在丢失的多边形的边;若存在丢失的多边形的边,则返回从所述丢失的多边形的边的第一顶点A和第二顶点B分别出发,找到与所述丢失的多边形的边相交的边的所有顶点的步骤,直至所有丢失的多边形的边被恢复;
采用该偏心中点消除法消除所述被侵蚀的多边形的边的过程,具体包括:
在被侵蚀的多边形的边上找到偏心中点O′,使得∠A′O′C′=θthreshold;其中,θthreshold为三角形的最小角阈值;
判断所述第二Delaunay三角形网格是否存在被侵蚀的多边形的边;若存在被侵蚀的多边形的边,则返回确定所述被侵蚀的多边形的边的直径圆中与所述被侵蚀的多边形的边的第一顶点A′或第二顶点B′距离最近的一顶点C′的步骤,直至所有被侵蚀的多边形的边被消除。
9.根据权利要求8所述的集成电路版图多边形非结构网格自适应细分系统,其特征在于,所述非结构网格生成单元,具体包括:
集合形成单元,用于对丢失的多边形的边和被侵蚀的多边形的边按边长进行升序排列,形成丢失的多边形的边和被侵蚀的多边形的边的集合Edges;
边恢复或消除单元,用于从所述集合Edges中依次提取边长最短的边,并判断所述边长最短的边的类型;若所述边长最短的边为丢失的多边形的边,则采用偏心中点恢复法对所述边长最短的边进行恢复;若所述边长最短的边为被侵蚀的多边形的边,则采用偏心中点消除法消除所述被侵蚀的多边形的边。
10.根据权利要求6所述的集成电路版图多边形非结构网格自适应细分系统,其特征在于,所述更新模块,具体包括:
集合生成单元,用于对待自适应细分的三角形按三角形的最短边长进行升序排列,形成待自适应细分的三角形集合Triangles;
偏心外接圆圆心获取单元,用于从所述集合Triangles中依次提取最短边长最短的待自适应细分的三角形,并获取提取的待自适应细分的三角形的偏心外接圆圆心;
更新单元,用于将所述三角形的偏心外接圆圆心作为插入点插入到所述待自适应细分的三角形中,以更新所述超大规模集成电路版图多边形的非结构网格剖分和所述超大规模集成电路版图中多边形的边。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010912297.4A CN111767688B (zh) | 2020-09-03 | 2020-09-03 | 集成电路版图多边形非结构网格自适应细分方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010912297.4A CN111767688B (zh) | 2020-09-03 | 2020-09-03 | 集成电路版图多边形非结构网格自适应细分方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767688A CN111767688A (zh) | 2020-10-13 |
CN111767688B true CN111767688B (zh) | 2020-12-01 |
Family
ID=72729233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010912297.4A Active CN111767688B (zh) | 2020-09-03 | 2020-09-03 | 集成电路版图多边形非结构网格自适应细分方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767688B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132973B (zh) * | 2020-11-24 | 2021-02-26 | 北京智芯仿真科技有限公司 | 三维集成电路电磁仿真全三维网格快速生成方法及装置 |
CN112287629B (zh) * | 2020-12-21 | 2021-04-02 | 北京智芯仿真科技有限公司 | 一种超大规模集成电路阻抗网络模型提取方法及系统 |
CN115600549B (zh) * | 2022-11-30 | 2023-04-25 | 北京智芯仿真科技有限公司 | 基于网格剖分确定集成电路版图设计缺陷的精准检测方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877145B (zh) * | 2010-05-21 | 2012-06-20 | 西安电子科技大学 | 基于质量因子的复杂平表面网格预剖分方法 |
JP2019159905A (ja) * | 2018-03-14 | 2019-09-19 | 富士通株式会社 | 生成プログラム、生成装置及び生成方法 |
CN110675502B (zh) * | 2019-11-26 | 2020-04-03 | 北京唯智佳辰科技发展有限责任公司 | 多层集成电路版图多边形对齐和简化处理方法及装置 |
CN110674615B (zh) * | 2019-12-06 | 2020-05-08 | 北京唯智佳辰科技发展有限责任公司 | 一种集成电路版图多边形自适应简化处理方法及装置 |
CN110689569B (zh) * | 2019-12-10 | 2020-06-30 | 北京唯智佳辰科技发展有限责任公司 | 集成电路版图场域识别与网格细分处理方法及装置 |
-
2020
- 2020-09-03 CN CN202010912297.4A patent/CN111767688B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111767688A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767688B (zh) | 集成电路版图多边形非结构网格自适应细分方法和系统 | |
CN110675502B (zh) | 多层集成电路版图多边形对齐和简化处理方法及装置 | |
CN110689569A (zh) | 集成电路版图场域识别与网格细分处理方法及装置 | |
CN106649817B (zh) | 地理信息系统三维管模型构建放样方法及装置 | |
CN105787226A (zh) | 四边有限元网格模型的参数化模型重建 | |
CN111898331A (zh) | 超大规模集成电路频域仿真计算任务随机动态分配方法 | |
CN109461209B (zh) | 一种新型结构网格生成方法 | |
CN111581776A (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN111222202B (zh) | 一种基于虚拟试验平台的船体网格自动划分方法 | |
CN112131774A (zh) | 用于集成电路三棱柱网格剖分的混合阶有限元方法及装置 | |
CN112052641B (zh) | 大规模集成电路版图非结构网格偏心中点生成方法和系统 | |
CN115270500A (zh) | 一种布尔求差运算方法、装置及电子设备 | |
CN108389263A (zh) | 面向边界元方法求解计算的iges面网格快速生成方法 | |
CN116402979A (zh) | 一种三维模型面片轻量化处理方法、装置及电子设备 | |
CN112149336B (zh) | 三维集成电路电磁仿真高质量网格快速生成方法及装置 | |
Rivara | Lepp-bisection algorithms, applications and mathematical properties | |
CN113792458A (zh) | 一种有限元三角形网格的优化方法及装置 | |
CN106844889B (zh) | 基于非等分区块化原则的四边形结构网格划分方法 | |
CN115346005B (zh) | 基于嵌套包围盒概念用于物面网格的数据结构构建方法 | |
US9152743B2 (en) | Computer process for determining best-fitting materials for constructing architectural surfaces | |
Nakahashi et al. | Three-dimensional flow computations around an airfoil by building-cube method | |
WO2013116859A1 (en) | Computer process for determining best-fitting materials for constructing architectural surfaces | |
CN110349265B (zh) | 一种四面体拓扑网格生成方法及电子设备 | |
CN103903304B (zh) | 用于产品三维数据处理的任意四边形曲面中轴线生成方法 | |
Zhao et al. | Geometry-adaptive generation algorithm and boundary match method for initial hexahedral element mesh |
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 |