三维集成电路电磁仿真高质量网格快速生成方法及装置与流程

文档序号:23470320发布日期:2020-12-29 13:12阅读:181来源:国知局
三维集成电路电磁仿真高质量网格快速生成方法及装置与流程
本发明涉及集成电路
技术领域
,特别涉及一种三维集成电路电磁仿真高质量网格快速生成方法及装置。
背景技术
:随着集成电路产业的飞速发展,传统的二维平面的封装技术已经无法满足日益增长的芯片性能和封装密度的要求,三维封装技术已经成为高密度芯片封装的一个不可逆转的趋势。三维集成电路就是将多块平面芯片从垂直方向上进行堆叠,使用金线键合或者其他方式进行互连,从而形成一种立体的封装结构。由于三维技术最大可能地利用了芯片的立体空间,以堆叠的形式使得在单位面积内能封装更多的晶体管,有效地降低了芯片的延时和功耗,在提高芯片性能的同时降低了芯片的制造成本。随着芯片特征尺寸的不断缩小,芯片上单位面积内可集成越来越多的晶体管。而为了获得更高的芯片性能,芯片的工作频率不断提升,电源电压不断降低,噪声容限也不断缩小。因而所产生的电源完整性和信号完整性问题,已经成为芯片设计中的关键性问题,因此针对三维集成电路进行电磁仿真,分析其电源完整性问题、信号完整性问题已成为迫在眉睫需要解决的问题。早期,针对结构简单的集成电路对其电源完整性和信号完整性问题主要采用简化的传输线法或有限差分法,以上方法不需要针对复杂结构的集成电路进行复杂的网格剖分,计算速度快,但由于对集成电路版图进行了很大的近似,在处理早期结构简单、规则的版图计算结果是准确的,但对于近年来结构越来越复杂版图则产生不可比对的误差。近年来,针对带有结构复杂的集成电路版图的多层集成电路采用基于场的方法计算,对各层集成电路版图采用二维非结构网格剖分,在网格剖分的过程中考虑了版图的复杂结构,因此其计算结果更为准确,但这种方法采用的是二维网格对计算场域进行离散,其假设的前提是集成电路版图尺寸远远大于集成电路金属层的厚度以及金属层之间的介质层的厚度,对于目前正在发展的三维集成电路来说,其电源、信号不光在各层的平面结构传递,还在垂直方向产生大量的互连,且集成电路电源部分的供电金属线的宽度越来越窄,已经可以和金属层或介质层厚度相比拟,此时,这个假设已经显现出越来越大的误差,因此有必要直接采用三维电磁场数值计算方法如三维有限元法直接对整个三维集成电路进行电磁仿真。然而,由于这种发展的三维集成电路结构上具有非常明显的多尺度特征,其尺度范围从互连线宽的纳米级到电源层版图区域的厘米级,层间距、过孔尺寸也从微米级到纳米级,如果直接对这样的多尺度的复杂的三维集成电路进行三维非结构的四面体网格剖分,将花费大量的cpu时间,并且,可能会在小尺度区域产生过于密集的网格,导致最终产生数量庞大的网格,对三维非结构的四面体网格剖分技术以及由此产生的超大规模稀疏矩阵的求解技术将是一个极大的挑战。本发明提出一种三维集成电路电磁仿真高质量网格快速生成方法及装置。实现了通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行平面上非结构的三维三棱柱网格剖分,并且采取了分别在xy平面方向和z方向的自适应细分的方式,完全避免了在小尺度区域产生过于密集的三棱柱网格。技术实现要素:(一)发明目的为克服上述现有技术存在的至少一种缺陷,本发明提供了一种三维集成电路电磁仿真高质量网格快速生成方法及装置,通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行平面上非结构的三维三棱柱网格剖分,并且采取分别在xy平面方向和z方向的自适应细分的方式来完全避免在小尺度区域产生过于密集的三维网格。(二)技术方案作为本发明的第一方面,本发明公开了一种三维集成电路电磁仿真高质量网格快速生成方法,包括以下步骤:步骤1,收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对三角形网格进行自适应细分;步骤2,将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对三棱柱网格进行自适应细分。一种可能的实施方式中,在所述步骤1中,所述收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;包括:步骤1.1,获取多层所述集成电路版图包含多个顶点的多个所述多边形,增加两个能覆盖所有层的所述集成电路版图多边形的矩形多边形,分别作为顶层空气层和底层空气层的所述多边形;步骤1.2,设置各层所述多边形的层信息,并用二进制数字代表各自的层;步骤1.3,将各层的多个所述多边形垂直投影到同一层,根据delaunay三角剖分算法形成以多边形顶点为网格节点的delaunay三角形网格,其中,所述多边形的各个边包含预先设定的所在多边形的所述多边形信息和所在层的层信息;步骤1.4,合并投影后重合的多个所述多边形的边的所述多边形信息和所述多边形的层信息;步骤1.5,根据所述边交换法将所述delaunay三角形网格对齐到多个所述多边形的各个边,同时计算多个不同层的所述多边形的边的交点并将所述交点新增为所述多边形的顶点和所述delaunay三角形网格的节点,形成第一三角形网格。一种可能的实施方式中,在所述步骤1中,所述对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对三角形网格进行自适应细分;包括:步骤1.6,基于所述第一三角形网格,在每个所述多边形的内外分别形成夹住所述多边形的内外辅助多边形,并通过设定的距离阈值控制所述内外辅助多边形与所述多边形的距离;步骤1.7,对落在所述内外辅助多边形之间的各层所述多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将投影到同一层的多层所述多边形还原到各层中,同时更新所述三角形网格及其层信息,形成第二三角形网格;步骤1.8,基于网格尺寸和单元质量控制技术对所述第二三角形网格进行自适应网格细分,形成更新的所述第二三角形网格。一种可能的实施方式中,在所述步骤2中,所述将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;包括:步骤2.1:根据包括金属层和介质层的每层纵向上的排列顺序,记录所述集成电路版图每层唯一的区域编号;步骤2.2:设定纵向上的坐标原点,根据所述集成电路版图每层的厚度及区域编号顺序,记录每层的位置信息;步骤2.3:基于所述步骤1获得的所述第二三角形网格,将所有所述三角形网格在厚度方向扩展为一个所述三棱柱,所述三棱柱的上下底面三角形为所述第二三角形网格对应的所述三角形,上下底面位置为层界面最大值和最小值,从而形成第一三棱柱网格;步骤2.4:基于所述步骤2.3获得的所述第一三棱柱网格,将所有所述三棱柱沿z方向按zinterface进行分割,每个所述三棱柱被分割为n-1个所述三棱柱,形成第二三棱柱网格,其中n为所述集成电路版图包括上下空气层的层界面个数,zinterface为层界面的位置。一种可能的实施方式中,在所述步骤2中,所述根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对三棱柱网格进行自适应细分;包括:步骤2.5:基于所述步骤1.7获得的所述第二三角形网格,根据所述三角形网格的层信息,还原所述三角形网格被哪些层界面的所述多边形共用;步骤2.6:根据所述步骤2.5确定的所述三角形网格被哪些层界面的所述多边形共用,以此推算出其依次包含的区域,进而确定所述第二三棱柱网格中每个所述三棱柱所在的区域;步骤2.7,实现所述三棱柱网格在z方向统一的由细到粗的渐进变化的细分过程。作为本发明的第二方面,本发明公开了一种三维集成电路电磁仿真高质量网格快速生成装置,包括:第一模块,用于收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对三角形网格进行自适应细分;第二模块,用于将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对三棱柱网格进行自适应细分。一种可能的实施方式中,在所述第一模块中,所述收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;包括:第一单元,用于获取多层所述集成电路版图包含多个顶点的多个所述多边形,增加两个能覆盖所有层所述集成电路版图多边形的矩形多边形,分别作为顶层空气层和底层空气层的所述多边形;第二单元,用于设置各层所述多边形的层信息,并用二进制数字代表各自的层;第三单元,用于将各层的多个所述多边形垂直投影到同一层,根据delaunay三角剖分算法形成以多边形顶点为网格节点的delaunay三角形网格,其中,所述多边形的各个边包含预先设定的所在多边形的所述多边形信息和所在层的层信息;第四单元,用于合并投影后重合的多个所述多边形的边的所述多边形信息和所述多边形的层信息;第五单元,用于根据所述边交换法将所述delaunay三角形网格对齐到多个所述多边形的各个边,同时计算多个不同层的所述多边形的边的交点并将所述交点新增为所述多边形的顶点和所述delaunay三角形网格的节点,形成第一三角形网格。一种可能的实施方式中,在所述第一模块中,所述对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对三角形网格进行自适应细分;包括:第六单元,用于基于所述第一三角形网格,在每个所述多边形的内外分别形成夹住所述多边形的内外辅助多边形,并通过设定的距离阈值控制所述内外辅助多边形与所述多边形的距离;第七单元,用于对落在所述内外辅助多边形之间的各层所述多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将投影到同一层的多层所述多边形还原到各层中,同时更新所述三角形网格及其层信息,形成第二三角形网格;第八单元,用于基于网格尺寸和单元质量控制技术对所述第二三角形网格进行自适应网格细分,形成更新的所述第二三角形网格。一种可能的实施方式中,在所述第二模块中,所述将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;包括:用于根据包括金属层和介质层的每层纵向上的排列顺序,记录所述集成电路版图每层唯一的区域编号;用于设定纵向上的坐标原点,根据所述集成电路版图每层的厚度及区域编号顺序,记录每层的位置信息;用于基于所述第一模块获得的所述第二三角形网格,将所有所述三角形网格在厚度方向扩展为一个所述三棱柱,所述三棱柱的上下底面三角形为所述第二三角形网格对应的所述三角形,上下底面位置为层界面最大值和最小值,从而形成第一三棱柱网格;用于所述第三单元获得的所述第一三棱柱网格,将所有所述三棱柱沿z方向按zinterface进行分割,每个所述三棱柱被分割为n-1个所述三棱柱,形成第二三棱柱网格,其中n为所述集成电路版图包括上下空气层的层界面个数,zinterface为层界面的位置。一种可能的实施方式中,在所述第二模块,所述根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对三棱柱网格进行自适应细分;包括:用于基于所述第七单元获得的所述第二三角形网格,根据所述三角形网格的层信息,还原所述三角形网格被哪些层界面的所述多边形共用;用于根据确定的所述三角形网格被哪些层界面的所述多边形共用,以此推算出其依次包含的区域,进而确定所述第二三棱柱网格中每个所述三棱柱所在的区域;用于实现所述三棱柱网格在z方向统一的由细到粗的渐进变化的细分过程。(三)有益效果本发明提供的一种三维集成电路电磁仿真高质量网格快速生成方法及装置,通过步骤1收集并设置所有层的集成电路版图多边形的层信息,将所有层的多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有多边形的边,在多边形边的交点插入新的网格节点;对投影到同一层的多边形的边进行简化与对齐,并对简化与对齐后的多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对所述三角形网格进行自适应细分;通过步骤2将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据多边形的层信息确定其平行平板场域跨越的层,从而确定分割的三棱柱所在的区域;从z方向对所述三棱柱网格进行自适应细分。实现了通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行平面方向非结构的三维三棱柱网格剖分;采取了分别在xy平面方向和z方向的自适应细分的方式,避免了在小尺度区域产生过于密集的三维网格(即三棱柱网格)。附图说明以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。图1是本发明提供的一种三维集成电路电磁仿真高质量网格快速生成方法的流程图。图2是本发明提供的一种三维集成电路电磁仿真高质量网格快速生成方法及装置的简单的多层集成电路版图金属层与介质层示意图。图3是本发明提供的一种三维集成电路电磁仿真高质量网格快速生成方法及装置的多层集成电路版图的区域编号与层界面位置关系示意图。图4是本发明提供的一种三维集成电路电磁仿真高质量网格快速生成装置的结构示意图。具体实施方式为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。需要说明的是:在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,均仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。下面参考图1-3详细描述本发明提供的一种三维集成电路电磁仿真高质量网格快速生成方法的第一实施例。如图1-3所示,本实施例提供的高质量网格快速生成方法主要包括有:步骤1和步骤2。本发明直接针对尺度范围为厘米级到纳米级的复杂的三维集成电路进行三维非结构的网格剖分,但与传统三维非结构的四面体网格剖分不同,本专利将基于平行平板场域识别技术,对这样的多尺度的复杂的三维集成电路进行平面非结构的三维三棱柱网格剖分。本专利在形成的第二三角形网格和第二三棱柱网格的基础上,分别在xy平面方向和z方向进行自适应网格细分,以此形成三维超大规模集成电路的自适应细分的三棱柱网格。首先通过步骤1收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行二维非结构三角形网格剖分;从xy平面方向对所述三角形网格进行自适应细分;进而通过步骤2将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对所述三棱柱网格进行自适应细分。从上述可以看出,本专利实现了通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行了平面方向非结构的三维三棱柱网格剖分,并且采取分别在xy平面方向和z方向的自适应细分的方式,完全避免在小尺度区域产生过于密集的三棱柱网格。所述步骤1可以为三维超大规模集成电路版图多边形收集与带层信息的三角形网格剖分。其中,在所述步骤1中,所述收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;包括:步骤1.1,获取多层所述集成电路版图包含多个顶点的多个所述多边形,除此之外在顶层之上和底层之下再增加两个能覆盖所有层的所述集成电路版图多边形的矩形多边形,分别作为顶层空气层和底层空气层的所述多边形;步骤1.2,设置各层所述多边形的层信息,这种多边形的层信息应该既能唯一代表多边形所在的层,又能进行任意层之间的合并等布尔操作;如对于图2所示的多层集成电路版图,其为有4个金属层和3个介质层的集成电路模型,则共有2个空气层,4个金属层及3个介质层,即共有9层,为10个层界面;并用二进制数字代表各自的层,如果多边形位于哪个层界面,则该层界面所在的二进制的位为1。由于需要考虑金属层的厚度,因此位于金属层上的多边形的层信息同时包含金属层上下层界面。对图2所示的多层集成电路版图,可设置多边形的层信息如表1所示。表1图2所示多层集成电路各层多边形的层信息多边形所在的层层信息备注底层空气层1第0层,20金属层16第1,2层,21+22金属层224第3,4层,23+24金属层396第5,6层,25+26金属层4384第7,8层,27+28顶层空气层512第9层,29步骤1.3,将各层的多个所述多边形垂直投影到同一层,根据delaunay三角剖分算法形成以多边形顶点为网格节点的delaunay三角形网格,其中,所述多边形的各个边包含预先设定的所在多边形的所述多边形信息和所在层的层信息;步骤1.4,合并投影后重合的多个所述多边形的边的所述多边形信息和所述多边形的层信息。例如图2所示的多层集成电路版图,某个金属层1和金属层2上的多边形重合,进行合并后,这两个多边形合并为一个多边形,其层信息为:6+24=30。步骤1.5,根据所述边交换法将所述delaunay三角形网格对齐到多个所述多边形的各个边,同时计算多个不同层的所述多边形的边的交点并将所述交点新增为所述多边形的顶点和所述delaunay三角形网格的节点,形成第一三角形网格;在所述步骤1.5中,先试图恢复多边形的边,如果两个相交的边都为多边形的边(即无法恢复时),则在交点插入新的网格节点。其中,在所述步骤1中,所述对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行三角形网格剖分,从xy平面方向对三角形网格进行自适应细分;包括:步骤1.6,基于所述第一三角形网格,在每个所述多边形p的内外分别形成夹住所述多边形p的内外辅助多边形p0与p9,并通过设定的距离阈值控制所述内外辅助多边形与所述多边形p的距离;步骤1.7,对落在所述内外辅助多边形之间的各层所述多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将投影到同一层的多层所述多边形还原到各层中,同时更新所述三角形网格及其层信息,形成第二三角形网格;步骤1.8,直接基于网格尺寸和单元质量控制技术对所述包含对齐简化后的多边形的第二三角形网格进行自适应网格细分,形成更新的所述第二三角形网格。所述步骤1.8包括:步骤1.8.1,重复的在第二三角形网格中插入偏心中点,消除丢失的集成电路版图的多边形的边和被侵蚀的多边形的边;步骤1.8.2,设定通过步骤1.8.1的第二三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;步骤1.8.3,根据设定的比值阈值、最小角阈值或边长阈值获取集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;步骤1.8.4,将所述待自适应细分的三角形的偏心外接圆圆心作为插入节点插入到所述待自适应细分的三角形中,以更新所述集成电路版图多边形的非结构网格剖分和所述集成电路版图中多边形的边;重复上述步骤直至待自适应细分的三角形集合为空。上述偏心中点按以下方法确定:在三角形网格中找到与所述丢失边或被侵蚀边的第一顶点a或第二顶点b距离最近的顶点,作为最近点c;如果,交换第一顶点a和所述第二顶点b的位置使得;在所述丢失边或被侵蚀边上按设定条件确定偏心中点o;所述设定条件为:所述偏心中点o使得等于所述设定的最小角阈值;所述为质量达到设定要求的三角形的最小角阈值;判断线段和间的关系,若,则将所述丢失边或被侵蚀边的中点作为新的偏心中点o,若,则所确定的偏心中点o位置不变。上述丢失的边为:多边形的边不是三角形网格中任何三角形的边;上述被侵蚀的多边形的边为:如果多边形的边的直径圆包含其它网格节点,且与之相连的三角形至少有一个是质量差的三角形,则该边为被侵蚀的多边形的边。上述待自适应细分的三角形的偏心外接圆圆心按以下方法确定:第一步,确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;第二步,当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;第三步,当候选的待插入点侵蚀某个集成电路版图多边形的边时,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的集成电路版图多边形的边;第四步,当该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述包含集成电路版图多边形的边的三角形边的两个顶点形成的三角形不是质量差的三角形时,候选的待插入点即为三角形的偏心外接圆圆心,结束;第五步,当该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述包含集成电路版图多边形的边的三角形边的两个顶点形成的三角形是质量差的三角形时,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为;第六步,返回第二步。所述步骤2可以为三维超大规模集成电路进行快速的三棱柱网格剖分。上述步骤1,已经将所有层(包括顶层空气层和底层空气层)的集成电路版图多边形投影到同一层,并且经过对齐和简化处理,再在此基础上形成经过自适应细分的第二三角形网格,步骤2将在以上步骤1的基础上,直接快速形成三维多层超大规模集成电路的三棱柱网格剖分。基于以上更新的第二三角形网格,再完成下述步骤s2.1~s2.6,即完成了根据层界面对三棱柱在z方向进行初步分割的操作。其中,在所述步骤2中,所述将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱,包括:步骤2.1:根据包括金属层和介质层的每层纵向上的排列顺序(从上到下或从下到上),记录所述集成电路版图每层唯一的区域编号;例如,对于图2所示的多层集成电路版图,其共有2个空气层,4个金属层及3个介质层,可设置其区域编号如表2所示;表2图2所示多层集成电路各层区域编号信息层信息区域编号底层空气层1金属层12介质层13金属层24介质层25金属层36介质层37金属层48顶层空气层9步骤2.2:设定纵向上的坐标原点,根据所述集成电路版图每层的厚度及区域编号顺序,记录每层的位置信息,包括顶层空气层和底层空气层、金属层以及介质层,例如,对于图2所示的集成电路版图,其为有4个金属层和3个介质层的集成电路模型,则共有2个空气层,4个金属层及3个介质层,即共有9层,为10个层界面,记录这些层界面的位置,记为zinterface={z1,z2,…,z10},其中z1~z10如图3所示,其排列顺序与步骤2.1中的区域编号顺序一致;步骤2.3:基于所述步骤1获得的第二三角形网格,将所有所述三角形网格在厚度方向扩展为一个所述三棱柱,所述三棱柱的上下底面三角形为所述第二三角形网格对应的所述三角形,上下底面位置为层界面最大值和最小值,从而形成第一三棱柱网格;由于步骤1.1在所有层集成电路版图多边形的基础上增加了覆盖所有层集成电路版图多边形的矩形多边形作为顶层空气层和底层空气层的多边形,所以第二三角形网格的所有三角形的层均包含顶层层界面(即最上层层界面)和底层层界面(即最下层层界面),因此,所有三角形扩展的三棱柱上下底面位置相同,均为顶层层界面(即最上层层界面)和底层层界面(即最下层层界面)所在的位置。步骤2.4:基于所述步骤2.3获得的所述第一三棱柱网格,将所有所述三棱柱沿z方向(即在厚度方向)按zinterface进行分割,每个所述三棱柱被分割为n-1个所述三棱柱,形成第二三棱柱网格,其中n为所述集成电路版图包括上下空气层(即顶层空气层和底层空气层)的层界面个数,zinterface为层界面的位置。其中,在所述步骤2中,所述根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对三棱柱网格进行自适应细分;还包括:步骤2.5:基于所述步骤1.7获得的所述第二三角形网格,根据所述三角形网格的层信息,还原所述三角形网格被哪些层界面的多边形共用;如对于图2所示的集成电路示意图,假设第二三角形网格中的某个三角形的层编码为543,则543=29+23+24+21+22+20,即该三角形网格被第0层(即底层空气层,用编码式中的20表示)、金属层1(用编码式中的21+22表示)、金属层2(用编码式中的23+24表示)及第9层(即顶层空气层,用编码式中的29表示)共用;步骤2.6:根据所述步骤2.5确定的所述三角形网格被哪些层界面的多边形共用,以此推算出其依次包含的区域,进而确定所述第二三棱柱网格中每个所述三棱柱所在的区域。如对于图2所示的集成电路示意图,假设第二三角形网格中的某个三角形的层编码为543,其被第0层(即底层空气层)、金属层1、金属层2及第9层(即顶层空气层)共用,则依据图3所示的多层集成电路版图的区域编号与层界面位置关系示意图,可确定该三角形网格对应的第二三棱柱网格中每个三棱柱所在的区域从下到上依次为:区域1、区域2、区域3、区域4、区域5、区域7、区域7、区域9和区域9。可通过步骤2.7实现所述三棱柱网格在z方向统一的由细到粗的渐进变化的细分过程。通常情况下,空气层厚度远大于介质层厚度,介质层厚度远大于金属层厚度,显然在z方向不进行网格细分是不合理的,为此本专利提出一种z方向渐变的细分方法。其思路在于,设置一个小尺寸到大尺寸的渐变过渡的近似比例r0,使得z方向的尺寸从薄层到厚层是渐进变化的。针对本专利讨论的三维超大规模集成电路模型,薄层与厚层的位置关系可归结为以下两种情况:1)一边为薄层,一边为厚层:介质层/金属层-空气层设薄层上三棱柱网格z方向上的长度为t1,厚层厚度为t2,则应找到这样一个渐变比例r,使得式中n为厚层上细分的段数,n应满足以下公式显然,如果则r=r0,否则,可通过二分法计算r:首先,设置n=1,逐渐增大n,使得n满足式(2),然后,基于计算的n,设rleft=r0,反复进行以下计算:step1:设r=(rleft+rright)/2step2:计算如果设rright=r转入step1,否则,如果设rleft=r转入step1,否则,r即为计算的正确结果,结束。式中为设置的值为足够小的误差精度,如取。一种实施例为:设最上层金属层上等分3份,即将金属层在z方向分为3份,每个三棱柱网格z方向长度为5nm,空气层厚度为1cm,设置薄层到厚层的渐变过渡比例为r0=1.5。经计算,可得厚层(空气层)上细分的段数n=33,r=1.50143756,三棱柱网格z方向长度由小到大依次如表3所示。表3金属层过渡到空气层时空气层的细分网格的长度渐进变化其中,e-9指的是10的-9次方,e-8、e-7等以此类推。2)上下为薄层,中间为厚层:金属层-介质层-金属层设上下薄层(金属层)上三棱柱网格z方向上的长度为t1,中间厚层(介质层)厚度为t2,则应找到这样一个渐变比例r,使得式中2n-1为厚层上细分的段数,n应满足以下公式显然,如果则r=r0,否则,可通过二分法计算r:首先,设置n=1,逐渐增大n,使得n满足式(5),然后,基于计算的n,设rleft=r0,反复进行以下计算:step1:设r=(rleft+rright)/2step2:计算如果设rright=r转入step1,否则,如果设rleft=r转入step1,否则,r即为计算的正确结果,结束。式中为设置的值为足够小的误差精度,如取。另一种实施例为:设上下层金属层上等分3份,即将金属层在z方向分为3份,每个三棱柱网格z方向长度为5nm,中间介质层厚度为1μm,设置薄层到厚层的渐变过渡比例为r0=1.5。经计算,可得厚层(空气层)上细分的段数2n-1=17,r=1.51561265,三棱柱网格z方向长度由小到大依次如表4所示。表4金属层-介质层-金属层过渡时介质层的细分网格的长度渐进变化层编号长度(m)17.5780633e-921.1485409e-831.7407431e-842.6382922e-853.9986290e-866.0603728e-879.1851776e-881.3921171e-792.1099104e-7101.3921171e-7119.1851776e-8126.0603728e-8133.9986290e-8142.6382922e-8151.7407431e-8161.1485409e-8177.5780633e-9以上三棱柱网格在z方向统一的由细到粗的渐进变化的细分,一方面保证了三棱柱网格的渐进变化满足场的渐进变化规律,使得电磁仿真的计算结果更加准确,另一方面,这种自适应细分保证了通过二维非结构网格自适应细分的速度来实现三维网格自适应细分的速度,且不会导致局部过于密集的三棱柱网格。本发明通过步骤1收集并设置所有层的集成电路版图多边形的层信息,将所有层的多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有多边形的边,在多边形边的交点插入新的网格节点;对投影到同一层的多边形的边进行简化与对齐,并对简化与对齐后的多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对所述三角形网格进行自适应细分;通过步骤2将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据多边形的层信息确定其平行平板场域跨越的层,从而确定分割的三棱柱所在的区域;从z方向对所述三棱柱网格进行自适应细分。本发明所述的一种三维集成电路电磁仿真高质量网格快速生成方法,实现了通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行平面方向非结构的三维三棱柱网格剖分,并且采取了分别在xy平面方向和z方向的自适应细分的方式,完全避免了在小尺度区域产生过于密集的网格。下面参考图2-4详细描述本发明提供的一种三维集成电路电磁仿真高质量网格快速生成装置的第一实施例。如图2-4所示,本实施例提供的高质量网格快速生成装置主要包括有:第一模块和第二模块。第一模块,用于收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点;对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行二维非结构三角形网格剖分;从xy平面方向对所述三角形网格进行自适应细分;第二模块,用于将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对所述三棱柱网格进行自适应细分。从上述可以看出,本专利实现了通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行平面方向非结构的三维三棱柱网格剖分,并且采取分别在xy平面方向和z方向的自适应细分的方式,完全避免了在小尺度区域产生过于密集的三棱柱网格。其中,在所述第一模块中,所述收集并设置所有层的集成电路版图多边形的层信息,将所有层的所述多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有所述多边形的边,在不同层的所述多边形的边的交点插入新的网格节点,包括:第一单元,用于获取多层所述集成电路版图包含多个顶点的多个所述多边形,除此之外在顶层之上和底层之下再增加两个能覆盖所有层所述集成电路版图多边形的矩形多边形,分别作为顶层空气层和底层空气层的所述多边形;第二单元,用于设置各层所述多边形的层信息,这种多边形的层信息应该既能唯一代表多边形所在的层,又能进行任意层之间的合并等布尔操作;如对于图2所示的多层集成电路版图,其为有4个金属层和3个介质层的集成电路模型,则共有2个空气层,4个金属层及3个介质层,即共有9层,为10个层界面;并用二进制数字代表各自的层,如果多边形位于哪个层界面,则该层界面所在的二进制的位为1。由于需要考虑金属层的厚度,因此位于金属层上的多边形的层信息同时包含金属层上下层界面。对图2所示的多层集成电路版图,可设置多边形的层信息如上述表1所示。第三单元,用于将各层的多个所述多边形垂直投影到同一层,根据delaunay三角剖分算法形成以多边形顶点为网格节点的delaunay三角形网格,其中,所述多边形的各个边包含预先设定的所在多边形的所述多边形信息和所在层的层信息;第四单元,用于合并投影后重合的多个所述多边形的边的所述多边形信息和所述多边形的层信息。例如图2所示的多层集成电路版图,某个金属层1和金属层2上的多边形重合,进行合并后,这两个多边形合并为一个多边形,其层信息为:6+24=30。第五单元,用于根据所述边交换法将所述delaunay三角形网格对齐到多个所述多边形的各个边,同时计算多个不同层的所述多边形的边的交点并将所述交点新增为所述多边形的顶点和所述delaunay三角形网格的节点,形成第一三角形网格;在所述第五单元中,先试图恢复多边形的边,如果两个相交的边都为多边形的边(即无法恢复时),则在交点插入新的网格节点。其中,在所述第一模块中,所述对投影到同一层的所述多边形的边进行简化与对齐,并对简化与对齐后的所述多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对三角形网格进行自适应细分;从xy平面方向对三角形网格进行自适应细分;包括:第六单元,用于基于所述第一三角形网格,在每个所述多边形p的内外分别形成夹住所述多边形p的内外辅助多边形p0与p9,并通过设定的距离阈值控制所述内外辅助多边形与所述多边形p的距离;第七单元,用于对落在所述内外辅助多边形之间的各层所述多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将投影到同一层的多层所述多边形还原到各层中,同时更新所述三角形网格及其层信息,形成第二三角形网格;第八单元,用于直接基于网格尺寸和单元质量控制技术对所述包含对齐简化后的多边形的第二三角形网格进行自适应网格细分,形成更新的所述第二三角形网格。所述第八单元,包括:第一子单元,用于重复的在第二三角形网格中插入偏心中点,消除丢失的集成电路版图的多边形的边和被侵蚀的多边形的边;第二子单元,用于设定通过第一子单元的第二三角形网格中待自适应细分的三角形为质量差的三角形或为最大边边长大于设定边长阈值的三角形;第三子单元,用于根据设定的比值阈值、最小角阈值或边长阈值获取集成电路版图的初始非结构网格中的所述待自适应细分的三角形,并将确定的所有待自适应细分的三角形放入待自适应细分的三角形集合中;所述比值阈值为:设定的三角形的外接圆的半径与其最短边的长度之比的最大限值;第四子单元,用于将所述待自适应细分的三角形的偏心外接圆圆心作为插入节点插入到所述待自适应细分的三角形中,以更新所述集成电路版图多边形的非结构网格剖分和所述集成电路版图中多边形的边;重复上述第一子单元至第四子单元的操作直至待自适应细分的三角形集合为空。上述偏心中点按以下方法确定:在三角形网格中找到与所述丢失边或被侵蚀边的第一顶点a或第二顶点b距离最近的顶点,作为最近点c;如果,交换第一顶点a和所述第二顶点b的位置使得;在所述丢失边或被侵蚀边上按设定条件确定偏心中点o;所述设定条件为:所述偏心中点o使得等于所述设定的最小角阈值;所述为质量达到设定要求的三角形的最小角阈值;判断线段和间的关系,若,则将所述丢失边或被侵蚀边的中点作为新的偏心中点o,若,则所确定的偏心中点o位置不变。上述丢失的边为:多边形的边不是三角形网格中任何三角形的边;上述被侵蚀的多边形的边为:如果多边形的边的直径圆包含其它网格节点,且与之相连的三角形至少有一个是质量差的三角形,则该边为被侵蚀的多边形的边。上述待自适应细分的三角形的偏心外接圆圆心按以下方法确定:第一步,确定所述待自适应细分的三角形的外接圆圆心,设置该外接圆圆心为候选的待插入点;第二步,当候选的待插入点不侵蚀任何集成电路版图多边形的边,且该待自适应细分的三角形的边不包含集成电路版图多边形的边时,候选的待插入点即为待自适应细分的三角形的偏心外接圆圆心,结束;第三步,当候选的待插入点侵蚀某个集成电路版图多边形的边时,在被侵蚀的边上找到一点作为候选的待插入点,该点与该集成电路版图多边形的边的相邻边形成的三角形最小角为,设置候选的待插入点为三角形的偏心外接圆圆心,结束;所述相邻边为与该集成电路版图多边形的边共顶点的集成电路版图多边形的边;第四步,当该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述包含集成电路版图多边形的边的三角形边的两个顶点形成的三角形不是质量差的三角形时,候选的待插入点即为三角形的偏心外接圆圆心,结束;第五步,当该三角形的边包含集成电路版图多边形的边,且候选的待插入点与所述包含集成电路版图多边形的边的三角形边的两个顶点形成的三角形是质量差的三角形时,在质量差的三角形除候选的待插入点之外的另外两个顶点形成的边的中垂线上找到一点作为候选的待插入点,该点对两个顶点形成的边的张开角为;第六步,返回第二步。上述第一模块,已经将所有层(包括顶层空气层和底层空气层)的集成电路版图多边形投影到同一层,并且经过对齐和简化处理,再在此基础上形成经过自适应细分的第二三角形网格,第二模块将在以上第一模块的基础上,直接快速形成三维多层超大规模集成电路的三棱柱网格剖分。其中,在所述第二模块中,所述将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱,包括:用于根据包括金属层和介质层的每层纵向上的排列顺序(从上到下或从下到上),记录所述集成电路版图每层唯一的区域编号;例如,对于图2所示的多层集成电路版图,其共有2个空气层,4个金属层及3个介质层,可设置其区域编号如上述表2所示;用于设定纵向上的坐标原点,根据所述集成电路版图每层的厚度及区域编号顺序,记录每层的位置信息,包括顶层空气层和底层空气层、金属层以及介质层,例如,对于图2所示的集成电路版图,其为有4个金属层和3个介质层的集成电路模型,则共有2个空气层,4个金属层及3个介质层,即共有9层,为10个层界面,记录这些层界面的位置,记为zinterface={z1,z2,…,z10},其中z1~z10如图3所示,其排列顺序与上述的区域编号顺序一致。用于基于所述第一模块获得的所述第二三角形网格,将所有所述三角形网格在厚度方向扩展为一个所述三棱柱,所述三棱柱的上下底面三角形为所述第二三角形网格对应的所述三角形,上下底面位置为层界面最大值和最小值,从而形成第一三棱柱网格;由于第一单元在所有层集成电路版图多边形的基础上增加了覆盖所有层集成电路版图多边形的矩形多边形作为顶层空气层和底层空气层的多边形,所以第二三角形网格的所有三角形的层均包含顶层层界面(即最上层层界面)和底层层界面(即最下层层界面),因此,所有三角形扩展的三棱柱上下底面位置相同,均为顶层层界面(即最上层层界面)和底层层界面(即最下层层界面)所在的位置。用于所述第三单元获得的所述第一三棱柱网格,将所有所述三棱柱沿z方向(即在厚度方向)按zinterface进行分割,每个所述三棱柱被分割为n-1个所述三棱柱,形成第二三棱柱网格,其中n为所述集成电路版图包括上下空气层(顶层空气层和底层空气层)的层界面个数,zinterface为层界面的位置。其中,在所述第二模块中,所述根据所述多边形的层信息确定其平行平板场域跨越的层,从而确定分割的所述三棱柱所在的区域;从z方向对三棱柱网格进行自适应细分,包括:用于基于所述第七单元获得的所述第二三角形网格,根据所述三角形网格的层信息,还原所述三角形网格被哪些层界面的所述多边形共用;如对于图2所示的集成电路示意图,假设第二三角形网格中的某个三角形的层编码为543,则543=29+23+24+21+22+20,即该三角形网格被第0层(即底层空气层,用编码式中的20表示)、金属层1(用编码式中的21+22表示)、金属层2(用编码式中的23+24表示)及第9层(即顶层空气层,用编码式中的29表示)共用。用于根据确定的所述三角形网格被哪些层界面的所述多边形共用,以此推算出其依次包含的区域,进而确定所述第二三棱柱网格中每个所述三棱柱所在的区域。如对于图2所示的集成电路示意图,假设第二三角形网格中的某个三角形的层编码为543,其被第0层(即底层空气层)、金属层1、金属层2及第9层(即顶层空气层)共用,则依据图3所示的多层集成电路版图的区域编号与层界面位置关系示意图,可确定该三角形网格对应的第二三棱柱网格中每个三棱柱所在的区域从下到上依次为:区域1、区域2、区域3、区域4、区域5、区域7、区域7、区域9和区域9。可通过第二模块实现所述三棱柱网格在z方向统一的由细到粗的渐进变化的细分过程。通常情况下,空气层厚度远大于介质层厚度,介质层厚度远大于金属层厚度,显然在z方向不进行网格细分是不合理的,为此本专利提出一种z方向渐变的细分方法。其思路在于,设置一个小尺寸到大尺寸的渐变过渡的近似比例r0,使得z方向的尺寸从薄层到厚层是渐进变化的。针对本专利讨论的三维超大规模集成电路模型,薄层与厚层的位置关系可归结为以下两种情况:1)一边为薄层,一边为厚层:介质层/金属层-空气层设薄层上三棱柱网格z方向上的长度为t1,厚层厚度为t2,则应找到这样一个渐变比例r,使得式中n为厚层上细分的段数,n应满足以下公式显然,如果则r=r0,否则,可通过二分法计算r:首先,设置n=1,逐渐增大n,使得n满足式(2),然后,基于计算的n,设rleft=r0,反复进行以下计算:step1:设r=(rleft+rright)/2step2:计算如果设rright=r转入step1,否则,如果设rleft=r转入step1,否则,r即为计算的正确结果,结束。式中为设置的值为足够小的误差精度,如取。一种实施例为:设最上层金属层上等分3份,即将金属层在z方向分为3份,每个三棱柱网格z方向长度为5nm,空气层厚度为1cm,设置薄层到厚层的渐变过渡比例为r0=1.5。经计算,可得厚层(空气层)上细分的段数n=33,r=1.50143756,三棱柱网格z方向长度由小到大依次如上述表3所示。2)上下为薄层,中间为厚层:金属层-介质层-金属层设上下薄层(金属层)上三棱柱网格z方向上的长度为t1,中间厚层(介质层)厚度为t2,则应找到这样一个渐变比例r,使得式中2n-1为厚层上细分的段数,n应满足以下公式显然,如果则r=r0,否则,可通过二分法计算r:首先,设置n=1,逐渐增大n,使得n满足式(5),然后,基于计算的n,设rleft=r0,反复进行以下计算:step1:设r=(rleft+rright)/2step2:计算如果设rright=r转入step1,否则,如果设rleft=r转入step1,否则,r即为计算的正确结果,结束。式中为设置的值为足够小的误差精度,如取。另一种实施例为:设上下层金属层上等分3份,即将金属层在z方向分为3份,每个三棱柱网格z方向长度为5nm,中间介质层厚度为1μm,设置薄层到厚层的渐变过渡比例为r0=1.5。经计算,可得厚层(空气层)上细分的段数2n-1=17,r=1.51561265,三棱柱网格z方向长度由小到大依次如上述表4所示。以上三棱柱网格在z方向统一的由细到粗的渐进变化的细分,一方面保证了三棱柱网格的渐进变化满足场的渐进变化规律,使得电磁仿真的计算结果更加准确,另一方面,这种自适应细分保证了通过二维非结构网格自适应细分的速度来实现三维网格自适应细分的速度,且不会导致局部过于密集的三棱柱网格。本发明通过第一模块收集并设置所有层的集成电路版图多边形的层信息,将所有层的多边形投影到同一层并进行初始网格剖分;采用边交换法恢复所有多边形的边,在多边形边的交点插入新的网格节点;对投影到同一层的多边形的边进行简化与对齐,并对简化与对齐后的多边形及整个集成电路版图区域进行三角形网格剖分;从xy平面方向对所述三角形网格进行自适应细分;通过第二模块将剖分的三角形网格在厚度方向扩展为三棱柱网格,并根据层界面纵向位置将其分割为多个三棱柱;根据多边形的层信息确定其平行平板场域跨越的层,从而确定分割的三棱柱所在的区域;从z方向对所述三棱柱网格进行自适应细分。本发明所述的一种三维集成电路电磁仿真高质量网格快速生成装置,实现了通过二维网格剖分的时间复杂度对多尺度的复杂的三维集成电路进行平面方向非结构的三维三棱柱网格剖分,并且采取了分别在xy平面方向和z方向的自适应细分的方式,完全避免了在小尺度区域产生过于密集的网格。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1