CN111898330B - 基于多层次并行策略的集成电路电磁响应计算方法及装置 - Google Patents

基于多层次并行策略的集成电路电磁响应计算方法及装置 Download PDF

Info

Publication number
CN111898330B
CN111898330B CN202010511170.1A CN202010511170A CN111898330B CN 111898330 B CN111898330 B CN 111898330B CN 202010511170 A CN202010511170 A CN 202010511170A CN 111898330 B CN111898330 B CN 111898330B
Authority
CN
China
Prior art keywords
polygon
calculation
integrated circuit
polygons
parallel
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
Application number
CN202010511170.1A
Other languages
English (en)
Other versions
CN111898330A (zh
Inventor
唐章宏
邹军
黄承清
汲亚飞
王芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wisechip Simulation Technology Co Ltd
Original Assignee
Beijing Wisechip Simulation Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Wisechip Simulation Technology Co Ltd filed Critical Beijing Wisechip Simulation Technology Co Ltd
Priority to CN202010511170.1A priority Critical patent/CN111898330B/zh
Publication of CN111898330A publication Critical patent/CN111898330A/zh
Application granted granted Critical
Publication of CN111898330B publication Critical patent/CN111898330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请实施例公开了基于多层次并行策略的集成电路电磁响应计算方法及装置。该方法通过将多层超大规模集成电路频域仿真中需要计算的每个频点的电磁响应特征的计算划分为多个计算子任务,采用多个并行子颗粒分别对各个计算子任务进行并行计算,并且,利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算。本申请可以提高多层超大规模集成电路频域仿真对频点的电磁响应特征计算中各部分的计算效率,还可以提高对数量较大的不同频点的集成电路的电磁响应特征的并行计算效率,满足高效的计算需求。

Description

基于多层次并行策略的集成电路电磁响应计算方法及装置
技术领域
本发明涉及集成电路高性能计算领域,尤其涉及基于多层次并行策略的集成电路电磁响应计算方法及装置。
背景技术
集成电路已经在各行各业中发挥着非常重要的作用,是现代信息社会的基石。它是一种微型电子器件或部件,采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构。
多层超大规模集成电路频域仿真中对获取的在频段范围内的多个频点的电磁响应特征进行计算,以获得集成电路在该频段范围内的电磁响应曲线。
然而,发明人在实施本发明的过程中发现,现有技术中,上述的集成电路频域仿真对频点的电磁响应特征计算过程,涉及到海量的同类型大规模数值计算,而常规并行计算基本针对单个计算实例并行,在大量循环的计算部分实现并行,并行颗粒通常很细,这样导致不同进程之间存在大量的数据交换,导致并行计算效率降低;此外,以往的并行策略并没有针对不同计算模块计算的复杂度对并行计算分不同的层次,而是都按同一层次进行并行,导致并行计算的过程中,在不同阶段主进程为收集各从进程的计算结果产生大量的等待时间,使得并行计算效率进一步低下;而且,为了获得更小误差的集成电路的电磁响应曲线,通常需要对数量较大的不同频点的响应特征进行计算,而上述现有技术中的并行计算效率较低,难以满足多层超大规模集成电路频域仿真对整体的频点响应特征的计算仍然具有较高的计算效率的现实需求。
发明内容
本申请实施例提供了一种基于多层次并行策略的集成电路电磁响应计算方法及装置,可以提高多层超大规模集成电路频域仿真对频点的电磁响应特征计算中各部分的计算效率,还可以提高对数量较大的不同频点的集成电路的电磁响应特征的并行计算效率,满足高效的计算需求。
第一方面,本申请实施例提供一种基于多层次并行策略的集成电路电磁响应计算方法,所述方法包括:
设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;
将执行每个频点的多层超大规模集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,其中,所述计算颗粒为执行相同类型的所有独立计算的计算程序,并且将所述计算颗粒执行的一个独立计算作为一个计算子任务;
获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒;
利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理;
对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理;
对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合;
利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算。
作为一种可能的实施方式,所述利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理,包括:
利用第一并行子颗粒将多层超大规模集成电路版图中各层包含多个顶点的多个多边形垂直投影到同一层,根据Delaunay三角剖分算法形成以多边形顶点为网格节点的Delaunay三角形网格,其中,所述多个多边形的各个边包含预先设定的多边形编号信息;
根据边交换法将所述Delaunay三角形网格对齐到所述多个多边形的各个边,同时计算所述多个多边形边的交点并将所述交点新增为所述多边形的顶点和所述Delaunay三角形网格的节点,形成第一三角形网格;
基于所述第一三角形网格,在每个多边形P的内外分别形成夹住所述多边形P的内辅助多边形P0和外辅助多边形P9,并通过设定的距离阈值控制该内、外辅助多边形与多边形P的距离;
对落在所述内、外辅助多边形之间的各层多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将所述投影到同一层的多层多边形还原到各层中。
作为一种可能的实施方式,所述根据边交换法将所述Delaunay三角形网格对齐到所述多个多边形的各个边,同时计算所述多个多边形边的交点并将所述交点新增为所述多边形的顶点和所述Delaunay三角形网格的节点,形成第一三角形网格,包括:
收集所有不是两个三角形公共边的多边形的边,按边长排序形成集合Lost;
从所述集合Lost中取出边长最长的边
Figure BDA0002528425690000031
并将其从所述集合Lost中移除;
从所述边
Figure BDA0002528425690000032
的一个顶点A出发,搜索包含所述顶点A且顶点C、D位于所述边
Figure BDA0002528425690000033
两侧的三角形ΔACD,若搜索到与所述边
Figure BDA0002528425690000034
相交的边
Figure BDA0002528425690000035
并非另一多边形的边,交换所述三角形ΔACD与其邻居三角形ΔDCE的公共边,得到三角形ΔACE与ΔEDA,其中,所述邻居三角形为与该三角形有公共边的三角形;
重复搜索包含所述顶点A且另外两个顶点位于所述边
Figure BDA0002528425690000041
两侧的三角形,交换该三角形与其邻居三角形的公共边,直到所述边
Figure BDA0002528425690000042
为两个邻居三角形的公共边;
若搜索到与所述边
Figure BDA0002528425690000043
相交的边为另一多边形的边,则取消对该相交的边进行所述交换,而直接在该两条边的交点处新增一个顶点以及一个网格节点,并将该网格节点插入到所述Delaunay三角形网格中,该网格节点将所述两个邻居三角形分为四个三角形,该顶点将两条相交的边分为四条共用该顶点的边;
判断所述集合Lost是否为空集,若否,重新从所述集合Lost中取出最长的边,将其从所述集合Lost中移除并继续进行所述边交换,若是,结束所述边交换,形成第一三角形网格。
作为一种可能的实施方式,所述基于所述第一三角形网格,在每个多边形P的内外分别形成夹住所述多边形P的内辅助多边形P0和外辅助多边形P9,并通过设定的距离阈值控制该内、外辅助多边形与多边形P的距离,包括:
将所述多边形P复制为多边形P',生成所述多边形P'的顶点的第五三角形网格T;
在所述三角形网格T中插入辅助节点,使得所述第五三角形网格T中的每个三角形最多有一条边与所述多边形P'的一条边重合,其中,两条边重合是指两条边有两个相同的顶点,该两条边的方向相同或不同;
根据所述多边形P'的各个边和顶点信息逐一计算所述内辅助多边形P0与外辅助多边形P9的各个顶点信息,将计算出的各个内辅助多边形P0的顶点依次连接起来,形成所述内辅助多边形,将计算出的各个外辅助多边形P9的顶点依次连接起来,形成所述外辅助多边形;
删除所述多边形P'与第五三角形网格T,并将该两个辅助多边形的顶点和边加入到所述第一三角形网格中;
判断所述辅助多边形的边是否相交,若是,在交点处将相交的两个边一分为二,并将该交点加入到所述辅助多边形的顶点以及第一三角形网格中。
作为一种可能的实施方式,所述对落在所述内、外辅助多边形之间的各层多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将所述投影到同一层的多层多边形还原到各层中,包括:
根据所述边交换法将所述第一三角形网格对齐到所述内、外辅助多边形的各个边,形成第二三角形网格;
标识被所述内、外辅助多边形夹住的区域中所有多边形的顶点,将被标识顶点定义为与所述多边形P的距离小于预定阈值的多边形顶点;
对每个多边形,根据所述被标识顶点,找出位于所述被标识顶点所在多边形的连续被标识顶点,所述连续被标识顶点形成的部分多边形段或完整的多边形,被视为与所述多边形P重合,将所述重合的部分多边形段或完整的多边形合并到所述多边形P中,形成对齐的多层多边形;
删除所述第二三角形网格中所述重合的部分多边形段或完整的多边形中的所述连续被标识顶点、所述连续被标识顶点之间的边以及所述内、外辅助多边形的顶点、边及所有被删除的顶点与边对应的网格节点及网格,形成第三三角形网格,根据所述边交换法将所述第三三角形网格对齐到所述对齐的多层多边形,形成第四三角形网格;
采用单层多边形的简化处理方法对所述投影到同一层且对齐的所述多边形进行简化处理;
根据各个所述多边形的边所包含的多边形编号信息,将所述投影到同一层的多层多边形还原到各层中。
作为一种可能的实施方式,所述对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合,包括:
利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域三维模型进行简化得到多个二维模型,通过有限元分析法建立所述每个第三并行子颗粒对应的二维模型的频域场方程组,最终合并所有第三并行子颗粒得到所述频域场方程组总的稀疏矩阵;
通过电路超节点分析法对所述多层超大规模集成电路的外部电路进行分析进而得到对称正定的外部电路方程组;
通过扫描超节点的方式合并所述频域场方程组与所述外部电路方程组,建立平行平板场域-电路耦合的对称正定方程组。
作为一种可能的实施方式,所述通过电路超节点分析法对所述多层超大规模集成电路的外部电路进行分析进而得到对称正定的外部电路方程组,包括:
生成不包含电压源支路的集成电路的外部电路;
对所述不包含电压源支路的集成电路的外部电路,通过电路超节点分析法建立对称正定的外部电路方程组;
对包含电压源支路的集成电路的外部电路,填入超节点电压向量、超节点电流向量、非参考节点的电压向量、超节点和非参考节点的互导矩阵以及超节点导纳矩阵,生成所述超节点电压向量的外部电路方程组;其中,
所述外部电路方程组包含超节点电压向量、超节点电流向量、非参考节点的电压向量、超节点和非参考节点的互导矩阵以及超节点导纳矩阵。
作为一种可能的实施方式,所述通过扫描超节点的方式合并所述频域场方程组与所述外部电路方程组,建立平行平板场域-电路耦合的对称正定方程组,包括:
依据第三并行子颗粒独立生成的网格节点和外部电路超节点编号,扫描所有的超节点并改变相关的网格节点编号,并在扫描完毕之后重新生成统一连续节点编号;
依据所述统一连续节点编号,合并所述第三并行子颗粒对应的频域场方程组和所述外部电路方程组,形成场路耦合且对称正定的统一方程组。
作为一种可能的实施方式,所述依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒,包括:
将各计算颗粒的加权CPU时间按照从大到小的顺序排序并依次累加直到累加和超过所述总CPU时间预先设定的比例,将所述累加和之中的每个计算颗粒作为一个并行子颗粒。
第二方面,本申请实施例提供一种基于多层次并行策略的集成电路电磁响应计算装置,所述装置包括:
频点设置模块,用于设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;
第一处理模块,用于将执行每个频点的多层超大规模集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,其中,所述计算颗粒为执行相同类型的所有独立计算的计算程序,并且将所述计算颗粒执行的一个独立计算作为一个计算子任务;
第二处理模块,用于获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒;
第三处理模块,用于利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理;
第四处理模块,用于对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理;
第五处理模块,用于对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合;
第六处理模块,用于利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算。
本申请实施例具有如下有益效果:
本申请实施例通过设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;将执行每个频点的集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,并且将计算颗粒执行的一个独立计算作为一个计算子任务;获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据加权CPU时间之和在总CPU时间中的占比确定出并行子颗粒;利用多个并行子颗粒分别执行每个频点的集成电路电磁响应特征计算过程中的多个计算子任务;利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算,可以提高多层超大规模集成电路频域仿真对频点的电磁响应特征计算中各部分的计算效率,还可以提高对数量较大的不同频点的集成电路的电磁响应特征的并行计算效率,满足高效的计算需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例的描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例的流程示意图。
图2为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中各层多边形投影到同一层后相交并形成Delaunay三角形网格的示意图。
图3为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中Delaunay三角形网格的局部放大图。
图4为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中所述边交换法的交换过程的示意图。
图5为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中形成辅助多边形时选取的一个多边形进行网格剖分的示意图。
图6为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中形成辅助多边形时对选取的多边形插入辅助节点后的网格剖分示意图。
图7为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中形成的辅助多边形的示意图。
图8为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中内外辅助多边形相交示意图。
图9是本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合的示意图。
图10为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中外部电路与初始节点编号示意图。
图11为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中外部电路与超节点编号示意图。
图12为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中外部电路-场域及其初始节点编号示意图。
图13为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中外部电路-场域及其统一节点编号示意图。
图14为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中外部电路-场域及其耦合节点编号示意图。
图15为本申请提供的基于多层次并行策略的集成电路电磁响应计算装置实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式详细地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本发明的描述中,“第一”、“第二”、“第三”、“第四”、“第五”等仅用于彼此的区分,而非表示它们的重要程度及顺序等。
请参考图1-图14,本申请实施例提供了一种基于多层次并行策略的集成电路电磁响应计算方法;如图所示,所述方法主要包括:
步骤100,设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;
步骤200,将执行每个频点的多层超大规模集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,其中,所述计算颗粒为执行相同类型的所有独立计算的计算程序,并且将所述计算颗粒执行的一个独立计算作为一个计算子任务;
步骤300,获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒;
步骤400,利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理;
步骤500,对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理;
步骤600,对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合;
步骤700,利用多个并行粗颗粒独立执行对多个频点对应的多个计算任务的计算,完成所述多个频点的多进程并行计算。
采用上述方法,可以提高多层超大规模集成电路频域仿真对频点的电磁响应特征计算中各部分的计算效率,还可以提高对数量较大的不同频点的集成电路的电磁响应特征的并行计算效率,满足高效的计算需求。
其中,计算颗粒是根据问题计算特征定义的。对不同行业,问题计算特征各不相同。例如对于大规模集成电路频域仿真的频点的电磁响应特征进行计算,其问题计算特征是对某种结构的多层集成电路板及其外部电路进行场-路耦合时,在不同版图多边形对齐与简化、外部电路矩阵对称化处理、大规模集成电路电磁场分布数值计算稀疏矩阵形成、大规模稀疏矩阵求解以及基于求解的场计算各层板的电流、电位、功率密度分布等。
具体地,若根据上述计算颗粒的定义将整个对提取到的一个频点的集成电路的电磁响应特征的计算过程划分为c1、c2共2个计算颗粒,2个计算颗粒可执行整个计算过程的计算任务;若c1执行100个计算子任务,c2执行200个计算子任务;那么共300个计算子任务构成整个计算过程,上述整个计算过程只需c1、c2、共2个计算颗粒来实现。其中执行整个计算过程依次需要c1、c2这2个计算颗粒执行,且c1、c2中均包含至少1个独立计算(计算任务)。
作为一种可能的实施方式,所述步骤400中的所述利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理,主要包括:
利用第一并行子颗粒完成以下步骤:
步骤410,将多层超大规模集成电路版图中各层包含多个顶点的多个多边形垂直投影到同一层,根据Delaunay三角剖分算法形成以多边形顶点为网格节点的Delaunay三角形网格,其中,所述多个多边形的各个边包含预先设定的多边形编号信息;
步骤420,根据边交换法将所述Delaunay三角形网格对齐到所述多个多边形的各个边,同时计算所述多个多边形边的交点并将所述交点新增为所述多边形的顶点和所述Delaunay三角形网格的节点,形成第一三角形网格;
步骤430,基于所述第一三角形网格,在每个多边形P的内外分别形成夹住所述多边形P的内辅助多边形P0和外辅助多边形P9,并通过设定的距离阈值控制该内、外辅助多边形与多边形P的距离;
步骤440,对落在所述内、外辅助多边形之间的各层多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将所述投影到同一层的多层多边形还原到各层中。
采用上述方法,可以大大减少多层多边形形成平行平板场域后出现的碎片化问题,进而显著减少对这些场域进行网格细分时碎片附近产生的不必要的密集网格,大幅度提升网格质量,缩小多层集成电路分析的求解时间和所需内存,且可以在几乎保持所述多边形形状的前提下,使得即使自适应简化处理前多个多边形之间缝隙宽度为纳米量级,自适应简化处理后多边形彼此之间的缝隙仍完整保留,基本不改变集成电路版图形状,从而保持原始正常的集成电路版图的电路连接。
其中,所述多边形定义为,由N条(N≥3)线段首尾顺序连接起来形成的封闭图形,其线段端点形成多边形顶点。如果多边形顶点逆时针排列,定义多边形为正,其内对应集成电路版图导电区域;如果多边形顶点顺时针排列,定义多边形为负,其内对应集成电路版图绝缘区域;所述根据Delaunay三角剖分算法形成的Delaunay三角形网格中的所有三角形的方向都为正。通过数值计算方法计算电磁波在超大规模集成电路中的传播时,需考虑集成电路版图的导电区域、介质层,及由此形成的平行平板场域。
作为一种可能的实施方式,所述步骤420中的所述根据边交换法将所述Delaunay三角形网格对齐到所述多个多边形的各个边,同时计算所述多个多边形边的交点并将所述交点新增为所述多边形的顶点和所述Delaunay三角形网格的节点,形成第一三角形网格,主要包括:
步骤421,收集所有不是两个三角形公共边的多边形的边,按边长排序形成集合Lost;
步骤422,从所述集合Lost中取出边长最长的边
Figure BDA0002528425690000131
并将其从所述集合Lost中移除;
步骤423,从所述边
Figure BDA0002528425690000132
的一个顶点A出发,搜索包含所述顶点A且顶点C、D位于所述边
Figure BDA0002528425690000133
两侧的三角形ΔACD,若搜索到与所述边
Figure BDA0002528425690000134
相交的边
Figure BDA0002528425690000135
并非另一多边形的边,交换所述三角形ΔACD与其邻居三角形ΔDCE的公共边,得到三角形ΔACE与ΔEDA,其中,所述邻居三角形为与该三角形有公共边的三角形;
步骤424,重复所述步骤423直到所述边
Figure BDA0002528425690000136
为两个邻居三角形的公共边;
步骤425,若搜索到与所述边
Figure BDA0002528425690000137
相交的边为另一多边形的边,则取消对该相交的边进行所述交换,而直接在该两条边的交点处新增一个顶点以及一个网格节点,并将该网格节点插入到所述Delaunay三角形网格中,该网格节点将所述两个邻居三角形分为四个三角形,该顶点将两条相交的边分为四条共用该顶点的边;请参考图4,图4为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中所述边交换法的交换过程的示意图;值得注意的是,由于图4中与所述边
Figure BDA0002528425690000138
相交的边
Figure BDA0002528425690000139
也为另一个多边形的边,因此取消对该边进行所述交换,而直接在该两条边的交点处新增一个顶点以及一个网格节点G,并将该网格节点G插入到所述Delaunay三角形网格中,该网格节点G将所述两个邻居三角形分为四个三角形,该顶点将两条相交的边分为四条共用该顶点的边;
步骤426,判断所述集合Lost是否为空集,若否,转入步骤422,若是,结束所述边交换,形成第一三角形网格。
作为一种可能的实施方式,所述设定的距离阈值为根据所述多边形和网格的信息进行计算得到的值,所述距离阈值的计算公式为:
Figure BDA0002528425690000141
其中,nb表示所述多边形P边的条数,li表示所述多边形P第i条边的长度,
Figure BDA0002528425690000142
Figure BDA0002528425690000143
mi表示所述第i条边对应的加权因子;
Figure BDA0002528425690000144
表示向下取整操作;emax表示所述网格所有三角形中最大的三角形边长。
作为一种可能的实施方式,所述步骤430中的所述基于所述第一三角形网格,在每个多边形P的内外分别形成夹住所述多边形P的内辅助多边形P0和外辅助多边形P9,并通过设定的距离阈值控制该内、外辅助多边形与多边形P的距离,主要包括:
步骤431,将所述多边形P复制为多边形P',生成所述多边形P'的顶点的第五三角形网格T;请参考图5,图5为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中形成辅助多边形时选取的一个多边形进行网格剖分的示意图;
步骤432,在所述三角形网格T中插入辅助节点,使得所述第五三角形网格T中的每个三角形最多有一条边与所述多边形P'的一条边重合,其中,两条边重合是指两条边有两个相同的顶点,该两条边的方向相同或不同;请参考图6,图6为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中形成辅助多边形时对选取的多边形插入辅助节点后的网格剖分示意图;如图所示,所述多边形P'的内部插入了四个辅助节点,形成新的三角形,在图6中,所述第五三角形网格T中每个三角形最多有一条边与所述多边形P'的一条边重合;
步骤433,根据所述多边形P'的各个边和顶点信息逐一计算所述内辅助多边形P0与外辅助多边形P9的各个顶点信息:设所述多边形P'的一个顶点B的两个相邻边为
Figure BDA0002528425690000145
Figure BDA0002528425690000151
该两个相邻边形成边长为a,b,c的三角形ΔABC,则该三角形内接圆的半径和圆心的计算公式分别为:
Figure BDA0002528425690000152
其中,(xi,yi)(i=1,2,3)表示所述三角形ΔABC的三个顶点坐标,
根据所述距离阈值的公式(1)得到与所述顶点B对应的内、外辅助多边形的顶点坐标公式分别为:
Figure BDA0002528425690000153
其中,(xb,yb)为所述顶点B的坐标,i=0,9,分别对应于内辅助多边形P0、外辅助多边形P9,与所述顶点B对应的内辅助多边形P0的顶点取所述三角形ΔABC内接圆的圆心,与所述顶点B对应的外辅助多边形P9的顶点为该圆心关于所述顶点B的镜像,与所述顶点B对应的内外镜像点坐标分别为:
xb0=x,yb0=y
xb9=2xb-x,yb9=2yb-y,
将所述i=0对应计算出的各个内辅助多边形的顶点依次连接起来,形成所述内辅助多边形,将所述i=9对应计算出的各个外辅助多边形的顶点依次连接起来,形成所述外辅助多边形;请参考图7,图7为本申请提供的基于多层次并行策略的集成电路电磁响应计算方法实施例中形成的辅助多边形的示意图;
步骤434,删除所述多边形P'与第五三角形网格T,并将该两个辅助多边形的顶点和边加入到所述第一三角形网格中;
步骤435,判断所述辅助多边形的边是否相交,若是,在交点处将相交的两个边一分为二,并将该交点加入到所述辅助多边形的顶点以及第一三角形网格中;请参考图8,图8为本申请提供的多基于多层次并行策略的集成电路电磁响应计算方法实施例中内外辅助多边形相交示意图,如图所示,多边形以粗实线画出,辅助多边形以虚线画出,所述辅助多边形的边相交于A、B、C三点,则将该三点也加入到所述辅助多边形的顶点以及第一三角形网格中。
作为一种可能的实施方式,所述步骤440中的所述对落在所述内、外辅助多边形之间的各层多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将所述投影到同一层的多层多边形还原到各层中,主要包括:
步骤441,根据所述边交换法将所述第一三角形网格对齐到所述内、外辅助多边形的各个边,形成第二三角形网格;
步骤442,标识被所述内、外辅助多边形夹住的区域中所有多边形的顶点,将被标识顶点定义为与所述多边形P的距离小于预定阈值的多边形顶点;
步骤443,对每个多边形,根据所述被标识顶点,找出位于所述被标识顶点所在多边形的连续被标识顶点,所述连续被标识顶点形成的部分多边形段或完整的多边形,被视为与所述多边形P重合,将所述重合的部分多边形段或完整的多边形合并到所述多边形P中,形成对齐的多层多边形;
步骤444,删除所述第二三角形网格中所述重合的部分多边形段或完整的多边形中的所述连续被标识顶点、所述连续被标识顶点之间的边以及所述内、外辅助多边形的顶点、边及所有被删除的顶点与边对应的网格节点及网格,形成第三三角形网格,根据所述边交换法将所述第三三角形网格对齐到所述对齐的多层多边形,形成第四三角形网格;
步骤445,采用单层多边形的简化处理方法对所述投影到同一层且对齐的所述多边形进行简化处理;
步骤446,根据各个所述多边形的边所包含的多边形编号信息,将所述投影到同一层的多层多边形还原到各层中。
作为一种可能的实施方式,所述步骤500中的所述对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理,主要包括:
利用第二并行子颗粒完成以下步骤:
设置所有平行平板场域(i,j)的多边形集合poly(i,j)和三角形集合tri(i,j)为空,所述平行平板场域(i,j)为所述多层集成电路版图中的金属层第i层和第j层及其内部介质形成的平行平板场域,其中,所述i和j为所述金属层的层别;
选取一未处理的三角形t或多边形边e,从最低层开始,根据所述三角形t或多边形边e的层信息识别出所述第i层金属层向上第一次出现的第j层金属层,j>i,将所述三角形t加入到所述集合tri(i,j)中或将所述多边形边e加入到所述poly(i,j)中,以收集所述各个平行平板场域包含的三角形和多边形边;
判断所述金属层i是否为最高层,若是,则继续下一步操作,若否,将所述j赋值给所述i,返回继续根据所述三角形t或多边形边e的层信息,确定所述第i层之上第一次出现的第j层金属层;
判断所有三角形和多边形边是否识别完毕,若是,结束所述识别,若否,则返回继续选取一未处理的三角形或多边形边,进行所述识别并收集;
然后获取每个平行平板场域的多个多边形的顶点,根据Delaunay三角剖分算法形成第二三角形网格;
根据所述识别出的平行平板场域,将所述第二三角形网格对齐到各个平行平板场域的多个多边形的边,并删除各个平行平板场域之外的三角形,形成第三三角形网格;
依次对每个所述第三三角形网格中的所述平行平板场域(i,j),按照第一优先控制所述网格的质量,第二优先控制所述网格的尺寸的优先顺序进行网格细分处理;
对相邻两个平行平板场域的公共区域进行网格剖分,其中,若所述平行平板场域(i,j)多边形边e的层信息既包含所述平行平板场域(i,j),又包含平行平板场域(l,m),其中i,j,l,m中有两个数相等,则多边形边e对应的区域为平行平板场域(i,j)和平行平板场域(l,m)的公共区域,将该公共区域定义为平板间耦合区域,所述i,j,l,m为所述金属层的层别;
判断所有平行平板场域的网格的质量和网格的尺寸是否满足预先设定的值,若是,结束所述网格细分,若否,返回继续对每个所述平行平板场域(i,j)进行网格细分处理。
作为一种可能的实施方式,所述步骤600中的所述对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合,主要包括:
利用第三并行子颗粒完成以下步骤:
步骤610,如图9所示,对多层超大规模集成电路版图的平行平板场域三维模型进行简化得到多个二维模型,通过有限元分析法建立所述每个第三并行子颗粒对应的二维模型的频域场方程组,最终合并所有第三并行子颗粒得到所述频域场方程组总的稀疏矩阵;图10中,不同场域及其外部电路通过过孔相互耦合,这是因为各层集成电路形成的每个场域及其外部电路都不是一个孤立的电气连接,所有场域最终形成一个整体的系统。
然而,通过三维方法来求解多层超大规模集成电路频域仿真中一个频点的电磁响应特征的三维模型所需的算力资源较为巨大,在现有的计算资源下,很难用来真正实施分析复杂的超大规模集成电路系统。但是,经过对多层超大规模集成电路尺寸特点进行分析可知,多层超大规模集成电路频域仿真中,由于多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于板的厚度和板间距,可知多层超大规模集成电路频域仿真在板的厚度方向是不变的,因此可知可以使用经过简化为二维的方程来求解本需用三维方程求解的问题,因此在步骤610中可以先将三维模型简化为二维模型。
步骤610中,多层超大规模集成电路频域仿真中一个频点的电磁响应特征的三维模型中介电常数ε、磁导率μ、电场强度E、磁场强度H的分布均为三维空间坐标(x,y,z)的函数,即:ε=ε(x,y,z),μ=μ(x,y,z),E=E(x,y,z),H=H(x,y,z)。该三维模型的函数满足以下方程:
Figure BDA0002528425690000191
式中J为外加的电流密度分布,ω为集成电路仿真的角频率。
步骤610中,当多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于板的厚度和板间距h时,多层超大规模集成电路频域仿真中一个频点的电磁响应特征的三维模型可简化为二维模型,此时模型中介电常数ε、磁导率μ、电场强度E、磁场强度H的分布均为二维平面坐标(x,y)的函数,即:ε=ε(x,y),μ=μ(x,y),E=E(x,y),H=H(x,y),其分布与z无关。且场域中的电位u和表面电流密度Js满足:
Figure BDA0002528425690000192
式中
Figure BDA0002528425690000193
分别表示x,y,z方向的单位矢量,Ez为电场强度的z方向分量,Hx和Hy分别为磁场强度的x和y方向分量。
经过三维模型到二维模型的等效,可得该二维模型对应的二维有限元泛函极值公式为:
Figure BDA0002528425690000194
式中,
Figure BDA0002528425690000195
为泛函,δ表示对泛函取极值,
Figure BDA0002528425690000196
为网格单元i的表面导纳,
Figure BDA0002528425690000197
为边界Γj的常数,
Figure BDA0002528425690000201
为单元表面法向量,V为边界Γj对应的网格单元的体积,uk为边界Γk上的电位分布,
Figure BDA0002528425690000202
表示边界右侧且无限接近边界的位置,
Figure BDA0002528425690000203
表示边界左侧且无限接近边界的位置,Ωi表示单元i的区域,Jzi为网格单元i的电流密度,Zsi为网格单元i的表面阻抗,ui为网格单元i的电位。
利用公式(6)的极值条件,可形成有限元刚度矩阵。同时,芯片和电路板通常由电压源通过外部电路驱动,因此可以将外部电路和场通过电路的接入点耦合来进行联合求解。
步骤620,通过电路超节点分析法对所述多层超大规模集成电路的外部电路进行分析进而得到对称正定的外部电路方程组。其中,电路超节点分析法是基于超节点的外部电路方程组分析方法。超节点是指包含一组电路的节点,一个超节点包含一组电路节点,这组节点任意两点之间的电压都能通过超节点所包含的理想电压源直观地获得,但超节点外任意点与超节点内任意点之间的电位是未知的。通常外部电路包含大量超节点,可将外部电路划分为不同的电路模块,如图11所示,不同外部电路模块之间也有耦合,在处理完每个外部电路模块后,再收集处理结果并进行耦合。
目前现有技术使用普通节点分析法对支路外部电路进行分析并得到以下节点电压方程:
Figure BDA0002528425690000204
其中,G=AYGeAY T,AY和Ae均为基本关联矩阵,AY与不含理想电压源的支路相关联,Ae与包含理想电压源的支路相关联,J=AY(Geug-ig)为等效的节点电流源向量,Ge为支路导纳矩阵,ie为理想电压源支路的电流向量,ug为电压源支路向量,ig为电流源支路向量,u为节点电压向量,e为理想电压源支路的电压向量。
在进行场路耦合过程中,采用直接将方程(7)的节点电压方程与有限元方程耦合的方式,则产生以下缺陷:首先,方程(7)的矩阵中部分对角元素为0,这使得耦合后的矩阵并非正定的矩阵,导致求解时间增加。其次,直接将方程(7)中的矩阵合并到有限元刚度矩阵中会使得理想电压源的电流作为待求解的未知量,导致未知量的增加,并且与有限元法中把节点电压作为未知量不相符。因此,在步骤520中采用电路超节点分析方法形成对称正定的外部电路方程组。
步骤630,通过扫描超节点的方式合并所述频域场方程组与所述外部电路方程组,建立平行平板场域-电路耦合的对称正定方程组。
作为一种可能的实施方式,所述步骤620中的所述通过电路超节点分析法对所述多层超大规模集成电路的外部电路进行分析进而得到对称正定的外部电路方程组,主要包括:
步骤621,生成不包含电压源支路的集成电路的外部电路。
步骤622,对所述不包含电压源支路的集成电路的外部电路,通过电路超节点分析法建立对称正定的外部电路方程组。
步骤623,对包含电压源支路的集成电路的外部电路,填入超节点电压向量、超节点电流向量、非参考节点的电压向量、超节点和非参考节点的互导矩阵以及超节点导纳矩阵,生成所述超节点电压向量的外部电路方程组;其中,
所述外部电路方程组包含超节点电压向量、超节点电流向量、非参考节点的电压向量、超节点和非参考节点的互导矩阵以及超节点导纳矩阵。
作为一种可能的实施方式,
所述超节点电压向量是由各超节点参考节点电压构成的向量;
所述超节点电流向量是由所有流入每个超节点电流之和构成的向量;
所述非参考节点的电压向量长度为所有非参考节点个数,其第i个元素Pi为非参考节点i对其参考节点的电位,该电位是从非参考节点i到其参考节点的路径上所有理想电压源支路的电压和;
所述超节点和非参考节点的互导矩阵的行对应超节点,所述超节点和非参考节点的互导矩阵的列对应非参考点,所述超节点和非参考节点的第i行第j列的元素Pij是超节点i和非参考点j的互导或非参考节点j的自导,其中,若非参考点j属于超节点i,则所述Pij为非参考点j的值为正的自导,若非参考点j不属于超节点i,则所述Pij为超节点i和非参考点j的值为负的互导;
所述超节点导纳矩阵的行和列均对应超节点,所述超节点导纳矩阵的第i行对角元素Pdi为第i个超节点的自导,所述Pdi的值为所有与第i个支路相连支路的导纳和,所述第i行第j列元素Pij是第i、j个超节点的互导,该值为所有连接第i、j个超节点支路导纳和的负值,其中j≠i。
在一个超节点中,其中的一个节点将被选为参考点,如图10中的节点1和2,其他节点将被选为非参考点,如图11中的节点1'和2'。
图10的外部电路中包含有三个理想电压源支路的电路,并且节点(1,3)形成一个超节点,节点(2,7)同样形成一个超节点。图11的外部电路中标明了超节点,其中(1,1')对应图10中的节点(1,3),(2,2')对应图10中的节点(2,7)。
超节点电压是指这个超节点对应的参考点的电压,而超节点的自导、互导及电流为其包含的所有节点的自导、互导及电流总和。采用超节点的方法改写公式(7)后,得到以下的外部电路方程:
GsupUsup=Isup-GmulUnonref 方程(8);
方程(8)中,Usup为超节点的电压向量;Gsup为超节点的导纳矩阵,该矩阵是正定对称的;Isup为超节点的电流向量;Unonref为非参考节点的电压向量,长度为nnonref,nnonref为所有非参考节点的个数;Gmul为超节点和非参考节点的互导矩阵,其大小为n×nnonref,n为超节点数量。
假设所有超节点被编号为1,2,…,n,非参考节点被编号为1,2,…,nnonref,矩阵Unonref和Gmul可按以下规则形成:矩阵Unonref的第i个元素为非参考节点i对其参考节点的电位,它是从非参考节点到其参考节点的路径上所有理想电压源支路的电压代数和。矩阵Gmul的行对应超节点,列对应非参考点,Gi,j是超节点i和非参考点j的互导,如果非参考点j属于超节点i,其互导即为非参考点j的自导,值为正,否则值为负。
在计算上述矩阵之前,需先重新针对超节点和非参考点进行编号。其中,重新编号是指对每个超节点选择一个节点作为该超节点的参考节点,其他节点为该超节点的非参考节点,首先针对所有参考节点进行连续编号,编号数目为超节点的数目,其次再重新针对所有非参考节点参照参考节点进行连续编号,编号数目为非参考节点的数目。以图10所示的模型为例,图中的非参考点被标为1',2',超节点被重新编号为1,2,…,5,超节点和非参考点的重新编号结果如图11所示。图中,模型中有2个超节点和2个非参考点,对应公式(8)中的矩阵如下所示:
矩阵(9)为:
Figure BDA0002528425690000231
矩阵(10)为:
Figure BDA0002528425690000232
矩阵(11)为:
Figure BDA0002528425690000233
矩阵(12)为:
Figure BDA0002528425690000234
由此得到对称正定的外部电路方程组。
作为一种可能的实施方式,所述步骤630中的所述通过扫描超节点的方式合并所述频域场方程组与所述外部电路方程组,建立平行平板场域-电路耦合的对称正定方程组,包括:
步骤631,依据第三并行子颗粒独立生成的网格节点和外部电路超节点编号,扫描所有的超节点并改变相关的网格节点编号,并在扫描完毕之后重新生成统一连续节点编号。
步骤632,依据所述统一连续节点编号,合并所述第三并行子颗粒对应的频域场方程组和所述外部电路方程组,形成场路耦合且对称正定的统一方程组。
步骤630中,通过扫描超节点对方程组进行合并,若所有的超节点扫描完毕,则结束扫描,最后收集扫描结果进行合并。假设外部电路中有NC个超节点,有限元网格中有ND个节点,两者的公共节点有NCD个,也就是说有NCD个网格节点与电路节点相连,则可知合并后总的未知量有NC+ND-NCD,在进行场路耦合之前,先对节点重新编号。
继续以上述的假设为例,因为有NC个超节点,网格节点的编号应在原来的基础上加上NC。对于超节点i,以它包括的所有节点j(参考节点和非参考节点)为准来搜索网格节点。如果网格节点k与电路节点j相连,将网格节点k重新编号为j,同时将最后一个网格节点的编号改为k。扫描完所有电路节点后,最后网格节点将编号到NC+ND-NCD
如图12所示,其中有16个网格节点,外部电路采用图10所示的模型,网格节点1,3,4分别与电路节点6,7,5相连。图13显示了外部电路节点修改为超节点并将网格节点重新编号后的结果,为了合并图13中的电路节点和网格节点,图13中的网格节点8,9,6在图14中被分别重新编号为2',4和5,同时,图13中的网格节点21,20,19在图14中被分别重新编号为8,9,6。最后,合并后总的未知量个数为5+16-3=18,这些未知量为电路中超节点的电位和网格节点的电位。图14为本实施例中外部电路-场域及其耦合节点编号的示意图,其显示的是所述节点的最终编号。
根据重新编号的节点编号,电压向量可由如下方式构成:
电压向量的前部分为电路超节点电压,后部分为不与外部电路节点相连的网格节点的电压。形成矩阵Gsup后,超节点的编号不再改变,因此矩阵Gsup的元素可直接填入稀疏矩阵相同的位置中去。但根据场域求解方程处理得到的有限元单元刚度矩阵则需要根据节点的重新编号填写入到稀疏矩阵相应的位置。由于新的节点编号将外部电路节点排在前面,首先须将有限元方程组有限元单元刚度矩阵对应的右端项填写入相应的位置,形成修改后的右端项,然后,将外部电路的右端项直接合并到修改后的右端项前面,其位置与外部电路的节点编号对应。至此完成整个场路耦合过程。
作为一种可能的实施方式,所述步骤400中的所述第一并行子颗粒可包括多个第一并行小颗粒,该多个第一并行小颗粒可同时执行对多个多边形的对齐与简化处理;该多个第一并行小颗粒的计算之间共享内存。
作为一种可能的实施方式,所述步骤700中的每个所述并行粗颗粒可独立执行多个频点对应的多个计算任务,多个所述并行粗颗粒可以独立执行对大量频点的计算。
作为一种可能的实施方式,所述依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒,包括:
将各计算颗粒的加权CPU时间按照从大到小的顺序排序并依次累加直到累加和超过所述总CPU时间预先设定的比例,将所述累加和之中的每个计算颗粒作为一个并行子颗粒。具体的,该预先设定的比例可为90%。
作为一种可能的实施方式,各个所述计算子任务的并行计算共享内存。
采用上述方法,可以让各个所述计算子任务的并行计算之间共享数据,且可以加速处理部分至关重要的较大进程的并行计算,还能对内存进行更充分地利用。
请参考图15,本申请实施例提供了一种基于多层次并行策略的集成电路电磁响应计算装置,所述装置主要包括:
频点设置模块,用于设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;
第一处理模块,用于将执行每个频点的多层超大规模集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,其中,所述计算颗粒为执行相同类型的所有独立计算的计算程序,并且将所述计算颗粒执行的一个独立计算作为一个计算子任务;
第二处理模块,用于获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒;
第三处理模块,用于利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理;
第四处理模块,用于对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理;
第五处理模块,用于对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合;
第六处理模块,用于利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算。
采用上述装置,可以提高多层超大规模集成电路频域仿真对频点的电磁响应特征计算中各部分的计算效率,还可以提高对数量较大的不同频点的集成电路的电磁响应特征的并行计算效率,满足高效的计算需求。
以上所述,仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.基于多层次并行策略的集成电路电磁响应计算方法,其特征在于,包括:
设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;
将执行每个频点的多层超大规模集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,其中,所述计算颗粒为执行相同类型的所有独立计算的计算程序,并且将所述计算颗粒执行的一个独立计算作为一个计算子任务;
所述计算颗粒根据问题计算特征定义,对于大规模集成电路频域仿真的频点的电磁响应特征进行计算时,所述问题计算特征是对某种结构的多层集成电路板及其外部电路进行场-路耦合时,在不同版图多边形对齐与简化、外部电路矩阵对称化处理、大规模集成电路电磁场分布数值计算稀疏矩阵形成、大规模稀疏矩阵求解以及基于求解的场计算各层板的电流、电位、功率密度分布;
获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒;
利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理;
对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理;
对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合;
利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算。
2.如权利要求1所述的方法,其特征在于,所述利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理,包括:
利用第一并行子颗粒将多层超大规模集成电路版图中各层包含多个顶点的多个多边形垂直投影到同一层,根据Delaunay三角剖分算法形成以多边形顶点为网格节点的Delaunay三角形网格,其中,所述多个多边形的各个边包含预先设定的多边形编号信息;
根据边交换法将所述Delaunay三角形网格对齐到所述多个多边形的各个边,同时计算所述多个多边形边的交点并将所述交点新增为所述多边形的顶点和所述Delaunay三角形网格的节点,形成第一三角形网格;
基于所述第一三角形网格,在每个多边形P的内外分别形成夹住所述多边形P的内辅助多边形P 0和外辅助多边形P 9,并通过设定的距离阈值控制该内、外辅助多边形与多边形P的距离;
对落在所述内、外辅助多边形之间的各层多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将所述投影到同一层的多层多边形还原到各层中。
3.如权利要求2所述的方法,其特征在于,所述根据边交换法将所述Delaunay三角形网格对齐到所述多个多边形的各个边,同时计算所述多个多边形边的交点并将所述交点新增为所述多边形的顶点和所述Delaunay三角形网格的节点,形成第一三角形网格,包括:
收集所有不是两个三角形公共边的多边形的边,按边长排序形成集合Lost;
从所述集合Lost中取出边长最长的边并将其从所述集合Lost中移除;
从所述边的一个顶点A出发,搜索包含所述顶点A且顶点C、D位于所述边两侧的三角形ΔACD,若搜索到与所述边相交的边并非另一多边形的边,交换所述三角形ΔACD与其邻居三角形ΔDCE的公共边,得到三角形ΔACE与ΔEDA,其中,所述邻居三角形为与该三角形有公共边的三角形;
重复搜索包含所述顶点A且另外两个顶点位于所述边两侧的三角形,交换该三角形与其邻居三角形的公共边,直到所述边为两个邻居三角形的公共边;
若搜索到与所述边相交的边为另一多边形的边,则取消对该相交的边进行所述交换,而直接在该两条边的交点处新增一个顶点以及一个网格节点,并将该网格节点插入到所述Delaunay三角形网格中,该网格节点将所述两个邻居三角形分为四个三角形,该顶点将两条相交的边分为四条共用该顶点的边;
判断所述集合Lost是否为空集,若否,重新从所述集合Lost中取出最长的边,将其从所述集合Lost中移除并继续进行所述边交换,若是,结束所述边交换,形成第一三角形网格。
4.如权利要求3所述的方法,其特征在于,所述基于所述第一三角形网格,在每个多边形P的内外分别形成夹住所述多边形P的内辅助多边形P 0和外辅助多边形P 9,并通过设定的距离阈值控制该内、外辅助多边形与多边形P的距离,包括:
将所述多边形P复制为多边形P',生成所述多边形P'的顶点的第五三角形网格T;
在所述三角形网格T中插入辅助节点,使得所述第五三角形网格T中的每个三角形最多有一条边与所述多边形P'的一条边重合,其中,两条边重合是指两条边有两个相同的顶点,该两条边的方向相同或不同;
根据所述多边形P'的各个边和顶点信息逐一计算所述内辅助多边形P 0与外辅助多边形P 9的各个顶点信息,将计算出的各个内辅助多边形P 0的顶点依次连接起来,形成所述内辅助多边形,将计算出的各个外辅助多边形P 9的顶点依次连接起来,形成所述外辅助多边形;
删除所述多边形P'与第五三角形网格T,并将该两个辅助多边形的顶点和边加入到所述第一三角形网格中;
判断所述辅助多边形的边是否相交,若是,在交点处将相交的两个边一分为二,并将该交点加入到所述辅助多边形的顶点以及第一三角形网格中。
5.如权利要求4所述的方法,其特征在于,所述对落在所述内、外辅助多边形之间的各层多边形的边进行对齐和简化处理,并根据各个所述多边形的边所包含的多边形编号信息将所述投影到同一层的多层多边形还原到各层中,包括:
根据所述边交换法将所述第一三角形网格对齐到所述内、外辅助多边形的各个边,形成第二三角形网格;
标识被所述内、外辅助多边形夹住的区域中所有多边形的顶点,将被标识顶点定义为与所述多边形P的距离小于预定阈值的多边形顶点;
对每个多边形,根据所述被标识顶点,找出位于所述被标识顶点所在多边形的连续被标识顶点,所述连续被标识顶点形成的部分多边形段或完整的多边形,被视为与所述多边形P重合,将所述重合的部分多边形段或完整的多边形合并到所述多边形P中,形成对齐的多层多边形;
删除所述第二三角形网格中所述重合的部分多边形段或完整的多边形中的所述连续被标识顶点、所述连续被标识顶点之间的边以及所述内、外辅助多边形的顶点、边及所有被删除的顶点与边对应的网格节点及网格,形成第三三角形网格,根据所述边交换法将所述第三三角形网格对齐到所述对齐的多层多边形,形成第四三角形网格;
采用单层多边形的简化处理方法对所述投影到同一层且对齐的所述多边形进行简化处理;
根据各个所述多边形的边所包含的多边形编号信息,将所述投影到同一层的多层多边形还原到各层中。
6.如权利要求1所述的方法,其特征在于,所述对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合,包括:
利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域三维模型进行简化得到多个二维模型,通过有限元分析法建立所述每个第三并行子颗粒对应的二维模型的频域场方程组,最终合并所有第三并行子颗粒得到所述频域场方程组总的稀疏矩阵;
通过电路超节点分析法对所述多层超大规模集成电路的外部电路进行分析进而得到对称正定的外部电路方程组;
通过扫描超节点的方式合并所述频域场方程组与所述外部电路方程组,建立平行平板场域-电路耦合的对称正定方程组。
7.如权利要求6所述的方法,其特征在于,所述通过电路超节点分析法对所述多层超大规模集成电路的外部电路进行分析进而得到对称正定的外部电路方程组,包括:
生成不包含电压源支路的集成电路的外部电路;
对所述不包含电压源支路的集成电路的外部电路,通过电路超节点分析法建立对称正定的外部电路方程组;
对包含电压源支路的集成电路的外部电路,填入超节点电压向量、超节点电流向量、非参考节点的电压向量、超节点和非参考节点的互导矩阵以及超节点导纳矩阵,生成所述超节点电压向量的外部电路方程组;其中,
所述外部电路方程组包含超节点电压向量、超节点电流向量、非参考节点的电压向量、超节点和非参考节点的互导矩阵以及超节点导纳矩阵。
8.如权利要求7所述的方法,其特征在于,所述通过扫描超节点的方式合并所述频域场方程组与所述外部电路方程组,建立平行平板场域-电路耦合的对称正定方程组,包括:
依据第三并行子颗粒独立生成的网格节点和外部电路超节点编号,扫描所有的超节点并改变相关的网格节点编号,并在扫描完毕之后重新生成统一连续节点编号;
依据所述统一连续节点编号,合并所述第三并行子颗粒对应的频域场方程组和所述外部电路方程组,形成场路耦合且对称正定的统一方程组。
9.如权利要求1-8中任一项所述的方法,其特征在于,所述依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒,包括:
将各计算颗粒的加权CPU时间按照从大到小的顺序排序并依次累加直到累加和超过所述总CPU时间预先设定的比例,将所述累加和之中的每个计算颗粒作为一个并行子颗粒。
10.基于多层次并行策略的集成电路电磁响应计算装置,其特征在于,包括:
频点设置模块,用于设置多层超大规模集成电路频域仿真在预设频段范围内需要计算的多个频点;
第一处理模块,用于将执行每个频点的多层超大规模集成电路电磁响应特征整体计算过程作为一个计算任务,并将该整体计算过程的计算程序划分为多个互不重叠的计算颗粒,其中,所述计算颗粒为执行相同类型的所有独立计算的计算程序,并且将所述计算颗粒执行的一个独立计算作为一个计算子任务;所述计算颗粒根据问题计算特征定义,对于大规模集成电路频域仿真的频点的电磁响应特征进行计算时,所述问题计算特征是对某种结构的多层集成电路板及其外部电路进行场-路耦合时,在不同版图多边形对齐与简化、外部电路矩阵对称化处理、大规模集成电路电磁场分布数值计算稀疏矩阵形成、大规模稀疏矩阵求解以及基于求解的场计算各层板的电流、电位、功率密度分布;
第二处理模块,用于获取各计算颗粒执行对应的所述计算子任务所需的加权CPU时间和整体集成电路每个频点的电磁响应特征计算过程所需的总CPU时间,依据所述加权CPU时间之和在所述总CPU时间中的占比确定出并行子颗粒;
第三处理模块,用于利用第一并行子颗粒执行多层超大规模集成电路版图多边形的对齐和简化处理;
第四处理模块,用于对所述多层超大规模集成电路版图多边形进行对齐和简化处理后,利用第二并行子颗粒通过平行平板场域识别法识别并收集多层超大规模集成电路版图各个平行平板场域包含的三角形和多边形边,并根据计算精度要求和不同平行平板场域的公共区域,对所述各个平行平板场域内的三角形进行自适应网格细分处理;
第五处理模块,用于对所述各个平行平板场域内的三角形进行自适应网格细分处理后,利用第三并行子颗粒对多层超大规模集成电路版图的平行平板场域与集成电路的外部电路进行场路耦合;
第六处理模块,用于利用多个并行粗颗粒独立执行多个频点对应的多个计算任务,完成所述多个频点的多进程并行计算。
CN202010511170.1A 2020-06-08 2020-06-08 基于多层次并行策略的集成电路电磁响应计算方法及装置 Active CN111898330B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010511170.1A CN111898330B (zh) 2020-06-08 2020-06-08 基于多层次并行策略的集成电路电磁响应计算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010511170.1A CN111898330B (zh) 2020-06-08 2020-06-08 基于多层次并行策略的集成电路电磁响应计算方法及装置

Publications (2)

Publication Number Publication Date
CN111898330A CN111898330A (zh) 2020-11-06
CN111898330B true CN111898330B (zh) 2022-04-01

Family

ID=73207356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010511170.1A Active CN111898330B (zh) 2020-06-08 2020-06-08 基于多层次并行策略的集成电路电磁响应计算方法及装置

Country Status (1)

Country Link
CN (1) CN111898330B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149336B (zh) * 2020-11-24 2021-03-02 北京智芯仿真科技有限公司 三维集成电路电磁仿真高质量网格快速生成方法及装置
CN112232011B (zh) * 2020-12-09 2021-03-30 北京智芯仿真科技有限公司 一种集成电路的宽频段电磁响应自适应确定方法及系统
CN112287625B (zh) * 2020-12-21 2021-03-30 北京智芯仿真科技有限公司 一种系统级集成电路直流压降的并行分析方法及系统
CN112307709B (zh) * 2020-12-21 2021-04-06 北京智芯仿真科技有限公司 系统级集成电路直流压降的端口等效并行分析方法及系统
CN112818584B (zh) * 2021-04-20 2021-07-13 北京智芯仿真科技有限公司 面向集成电路的空间电磁辐射计算系统及方法
CN112818585B (zh) * 2021-04-20 2021-07-13 北京智芯仿真科技有限公司 集成电路层间耦合的迭代计算并行颗粒的划分方法及装置
CN112836466B (zh) * 2021-04-20 2021-07-20 北京智芯仿真科技有限公司 三维大规模集成电路电磁响应的二维快速迭代方法及装置
CN112988404B (zh) * 2021-04-27 2021-08-10 北京智芯仿真科技有限公司 基于管理进程的集成电路仿真粗颗粒并行方法及装置
CN113128142B (zh) * 2021-04-27 2022-04-01 北京智芯仿真科技有限公司 基于文件锁的集成电路电磁仿真粗颗粒并行方法及装置
CN113722966B (zh) * 2021-09-07 2022-08-19 芯和半导体科技(上海)有限公司 一种集成电路板仿真多级分布式并行计算方法
CN113887160B (zh) * 2021-09-30 2022-03-11 北京智芯仿真科技有限公司 有损耗无频散介质下的集成电路全波电磁仿真方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674615A (zh) * 2019-12-06 2020-01-10 北京唯智佳辰科技发展有限责任公司 一种集成电路版图多边形自适应简化处理方法及装置
CN110675502A (zh) * 2019-11-26 2020-01-10 北京唯智佳辰科技发展有限责任公司 多层集成电路版图多边形对齐和简化处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302661B2 (en) * 2005-06-14 2007-11-27 International Business Machines Corporation Efficient electromagnetic modeling of irregular metal planes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110675502A (zh) * 2019-11-26 2020-01-10 北京唯智佳辰科技发展有限责任公司 多层集成电路版图多边形对齐和简化处理方法及装置
CN110674615A (zh) * 2019-12-06 2020-01-10 北京唯智佳辰科技发展有限责任公司 一种集成电路版图多边形自适应简化处理方法及装置

Also Published As

Publication number Publication date
CN111898330A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111898330B (zh) 基于多层次并行策略的集成电路电磁响应计算方法及装置
CN111898332B (zh) 超大规模集成电路频域仿真自适应频点提取与计算方法
CN111881641A (zh) 多进程自适应分配的多层超大规模集成电路场路耦合方法
CN110689569B (zh) 集成电路版图场域识别与网格细分处理方法及装置
JP2719509B2 (ja) グラフ分割化システム
CN110675502B (zh) 多层集成电路版图多边形对齐和简化处理方法及装置
CN111898331A (zh) 超大规模集成电路频域仿真计算任务随机动态分配方法
CN111737947A (zh) 一种基于场路耦合的集成电路全波ibis模型提取方法及装置
CN112257372B (zh) 一种集成电路阻抗网络模型提取方法及系统
CN117034857B (zh) 多边形大面积重叠的集成电路版图网络标识方法及装置
EP3953852A1 (en) Methods and systems to perform automated routing
Cook et al. GPU based parallel ising computing for combinatorial optimization problems in VLSI physical design
CN110688807A (zh) 一种多层集成电路直流电场的场路耦合方法及装置
CN117852481B (zh) 一种集成电路版图网表信息的快速确定方法及系统
Wang et al. A parallel multipole accelerated 3-D capacitance simulator based on an improved model
CN112290955B (zh) 基于集成电路阻抗网络提取的网格节点编码方法及系统
CN111814422B (zh) 集成电路电磁仿真多重网格法的插值矩阵构造方法及装置
JP2002535752A (ja) 集積回路のレイアウトをコンピュータによって検証する方法および装置ならびに該方法の、集積回路を製造するための使用
WO2023158579A1 (en) Integrated circuit interconnect shape optimizer
CN112307709B (zh) 系统级集成电路直流压降的端口等效并行分析方法及系统
CN112818585B (zh) 集成电路层间耦合的迭代计算并行颗粒的划分方法及装置
CN115422882A (zh) 集成电路产品布线区域等效导热系数的批量化计算方法
CN114330213B (zh) 一种基于版图多边形走线的自动识别转换方法及装置
US6243850B1 (en) Allocation apparatus and method for determining cell allocation of semiconductor circuit
JP2001237412A (ja) 半導体集積回路解析装置とその解析方法並びに解析方法を記録した記録媒体

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