掌桥专利:专业的专利平台
掌桥专利
首页

集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置

文献发布时间:2023-06-19 11:29:13


集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置

技术领域

本发明涉及集成电路技术领域,特别涉及集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置。

背景技术

集成电路工作时其多层版图上由于高速信号的传输,会形成高频交变电磁场,这些高频交变电磁场即形成高频辐射源,使其对其他信号层或其他集成电路、芯片形成串扰和电磁辐射,影响其他信号层或其他集成电路、芯片的正常工作,所以设计时,需要计算出集成电路各层相互间的空间电磁辐射影响。在传统计算集成电路的空间电磁辐射时一般要采用严格的三维数值计算求解,但多层超大规模集成电路结构复杂,三维数值计算非常复杂,所用的CPU时间和内存很大。这类大规模数值计算由于不同计算实例具有不同结构,导致不同计算实例的计算复杂度不对等,对于这类不对等的海量计算,需要高效率并行计算方法设计,充分考虑不同实例计算复杂度的不对等,尽可能提高并行计算效率。

常规并行计算基本针对单个计算实例并行,在大量循环的计算部分实现并行,并行计算颗粒通常很细,这样导致不同进程之间存在大量的数据交换,降低并行效率;其次,由于不同进程计算进度不同,不可避免在需要数据共享和同步时出现大量等待,从而导致整体并行效率很低;再者,由于单个实例计算过程相当部分的计算过程有先后顺序,数据有依赖性,因此针对单个计算实例并行时,有相当部分的计算无法并行化,这也严重降低整体并行效率。

发明内容

(一)发明目的

基于上述问题,本发明提出一种集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置,为了在集成电路层间耦合即时更新的迭代计算过程中最大限度的减少各进程之间的通信,避免多进程并行计算时因为内存峰值大于可用物理内存而造成的硬盘读写瓶颈,同时完美解决不同计算实例复杂度不对等带来的进程等待问题,进而大大提高并行计算效率,本申请公开了以下技术方案。

(二)技术方案

作为本发明的第一方面,本发明公开了一种集成电路层间耦合即时更新的粗颗粒并行迭代方法,包括以下步骤:

步骤S100、将集成电路层间耦合的迭代计算划分为并行计算颗粒,并依据并行计算颗粒的加权CPU时间将并行计算颗粒合并为两类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;

步骤S200、集成电路总计为

步骤S300、设置集成电路的所有层的

步骤S400、将当前迭代的所有计算任务按步骤S100所述的两类并行计算粗颗粒划分为不同的计算任务,并将其随机打乱,形成新的计算任务序列;

步骤S500、对空闲进程动态分配计算任务序列中的计算任务,直到所有计算任务分配完毕,记录集成电路各层电磁场的改变量

步骤S600、如果

步骤700、如果

步骤S800、如果

步骤S900、设置

进一步的,所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。

进一步的,所述步骤S400中,根据第一类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤S411、计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与

步骤S412、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:

其中,

步骤S413、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;

步骤S414、再次基于所述场的线性叠加原理确定第

步骤S415、计算所有第

进一步的,所述步骤S400中,根据第二类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤S421、如果

步骤S422、如果

步骤S423、对第

进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:

进一步的,在迭代过程中根据并矢格林函数的影响值

作为本申请的第二方面,本申请公开的一种集成电路层间耦合即时更新的粗颗粒并行迭代装置,包括并行计算颗粒划分模块,并行计算粗颗粒划分模块,并行计算粗颗粒运算模块;

所述并行计算颗粒划分模块用于将集成电路层间耦合的迭代计算划分为并行计算颗粒;

所述并行计算粗颗粒划分模块,基于一次完整的串行迭代计算,获取各并行计算颗粒的加权CPU时间和整体集成电路层间耦合即时更新的迭代方法的总CPU时间,依据所述加权CPU时间和所述总CPU时间的占比将所述并行计算颗粒合并为两类并行计算粗颗粒,且两类并行计算粗颗粒相互独立,其对应的计算任务序列可以随机打乱;

所述并行计算粗颗粒运算模块用于在执行所述并行计算粗颗粒的过程中,将两类并行计算粗颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。

进一步的,两类并行计算粗颗粒包括第一类并行计算粗颗粒和第二类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。

进一步的,所述第一类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤a1、计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与

步骤a2、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:

其中,

步骤a3、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;

步骤a4、再次基于所述场的线性叠加原理确定第

步骤a5、计算所有第

进一步的,所述第二类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤b1、如果

步骤b2、如果

步骤b3、对第

进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:

(三)有益效果

本发明提供的一种集成电路层间耦合即时更新的迭代求解方法及装置,在本发明中每次迭代更新每层的电磁场分布和电流分布,而不是主动计算源层对其他层的影响。在计算每层的电磁场分布和电流分布时,确定该层的源项为外部电路对应的激励源和其他层对它的影响对应的源项。同时极大程度减少进程之间的通信及因为同步而产生的等待时间,同时,由于采用计算任务随机动态分配方法,保证复杂度不对等的计算模型随机均匀分布在各计算节点,避免由于过高的峰值内存导致虚拟内存访问而造成的硬盘读写瓶颈。

附图说明

以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。

图1是本发明的第一实施例的主要步骤框图;

图2是本发明的第一实施例的第一类并行计算粗颗粒进行的计算任务的具体步骤流程图;

图3是本发明的第一实施例的第二类并行计算粗颗粒进行的计算任务的具体步骤流程图;

图4是本发明的第二实施例的模块框图;

图5是本发明中点电流源在的场点产生的电场的分解示意图。

具体实施方式

为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。

需要说明的是:在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,均仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。

下面参考图1、2、3和5详细描述本发明提供的集成电路层间耦合即时更新的迭代求解方法及装置的第一实施例。本实施例提供的一种集成电路层间耦合即时更新的粗颗粒并行迭代方法,如图1所示,包括以下步骤:

步骤S100、将集成电路层间耦合的迭代计算划分为并行计算颗粒,并依据并行计算颗粒的加权CPU时间将并行计算颗粒合并为两类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;

在并行计算前,需人工确定进程数,并将其中一个进程作为主进程。

并行计算颗粒是根据问题运算特征定义的。对不同行业,问题运算特征各不相同。例如对于大规模集成电路电磁场分布计算,在进行某种结构的多层集成电路板及其外部电路进行场-路耦合时,其运算特征包括:点源对空间任意点的影响随着点源与该点的距离关系,相隔的介质层数,每层电磁场和电流分布,更新被影响层的电磁场分布和电流分布的时间点。

步骤S200、集成电路总计为

步骤S300、设置集成电路的所有层的

步骤S400、将当前迭代的所有计算任务按步骤S100所述的两类并行计算粗颗粒划分为不同的计算任务,并将其随机打乱,形成新的计算任务序列;

具体的,随机打乱运算任务序列的方式为:

首先将运算任务的序列

其关键在于将并行颗粒中所有运算任务的序列

主进程按照形成新的计算任务序列将该并行计算颗粒所需执行的所有运算任务分配到包含主进程的所有进程中,并完成并行计算颗粒执行的所有运算任务的并行运算。

另外,若并行计算颗粒中某运算任务被分配到一进程中,则生成该运算任务的用于表明该运算任务已经被分配标志文件;另一进程在申请分配某一运算任务时,将尝试生成该运算任务的标志文件,并在标志文件存在的情况下使另一进程自动尝试申请分配下一运算任务。

在多进程并行运算过程中,各个进程分配到某个运算任务的机会是均等的,如果不采取任何措施,可能导致多个进程被分配到同一运算任务,造成运算资源的浪费,因此必须采取某种措施,使得所有运算任务被唯一分配到某个进程。达到这一目的最简单也最直观的措施是分配任务及时标记,即任务被分配到某一进程的同时即将该任务进行标记,这样其他进程不再分配该任务。但由于并行运算时各进程的变量一般情况下相互独立,且运算任务不对称,各进程运算状态不同,任何进程通过变量标记任务被分配的信息无法立即被传递到其他进程,因此必须采用一种外在显式的标记方法使得运算任务一旦被标记,所有进程都能获得这个信息。因此,若并行计算颗粒中运算任务被分配到进程中,马上生成运算任务的标志文件;某一进程在申请分配某一运算任务时,将试图生成该运算任务的标志文件,如果该标志文件存在,则表明该运算任务已经被分配,该进程将自动尝试申请分配下一个运算任务。

利用标志文件来实现正确分配运算任务的具体实现步骤为:

步骤A1、一进程申请分配第

步骤A2、判断第

步骤A3、判断标志文件

步骤A4、锁定标志文件

步骤A5、生成标志文件

步骤A6、标志文件

步骤A7、完成第

步骤A8、判断并行计算颗粒中的所有运算任务是否全部完成,若未完成则

该并行计算颗粒所需执行的所有计算任务全部分配到所有进程中,该并行计算颗粒的分配结束;其返回执行其他并行计算颗粒分配其各自所需执行的所有计算任务。

步骤S500、对空闲进程动态分配计算任务序列中的计算任务,直到所有计算任务分配完毕,记录集成电路各层电磁场的改变量

步骤S600、如果

步骤700、如果

步骤S800、如果

步骤S900、设置

进一步的,所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。

进一步的,如图2所示,所述步骤S400中,根据第一类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤S411、如图5所示,计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述解析表达式如下:针对多层集成电路版图的频域电磁场,采用并矢格林函数计算点源在任意层场点产生的电场强度,可通过下式求解多层集成电路版图任一层的任一点的九个方位的电场强度来表示,即为求解所述点源对场点的电场表达式:

所述点电流源在的场点产生的电场表达式为:

其中,

T

T

T

所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与

步骤S412、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:

其中,

步骤S413、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;

步骤S414、再次基于所述场的线性叠加原理确定第

步骤S415、计算所有第

进一步的,所述步骤S400中,如图3所示,根据第二类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤S421、如果

步骤S422、如果

步骤S423、对第

进一步的,所述二维有限元计算具体方法为:

对于直流电场模型,所述多层集成电路的三维模型是指直流电场模型中电导率

及边界条件(2):

式中

多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层的厚度,将多层集成电路的三维直流场问题简化为二维直流场问题;

所述对二维模型采用有限元法建立的场域求解方程组为方程组(3):

式中,所述

对于交变电磁场模型,所述多层集成电路的三维模型是指多层超大规模集成电路频域仿真中电磁响应特征的三维模型中介电常数

式中

多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层间距,将多层超大规模集成电路频域仿真中的电磁响应特征的三维模型简化为二维模型,此时模型中介电常数

式中,

经过三维模型到二维模型的简化,得到该二维模型对应的二维有限元泛函极值公式为:

式中,

进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:

进一步的,将各并行计算颗粒的加权CPU时间按照从大到小的顺序排序并依次累加直到累加和超过90%的所述总CPU时间,将所述累加和之中的每个并行计算颗粒作为一个并行计算粗颗粒。

具体的,若根据上述并行计算颗粒的定义将集成电路层间耦合即时更新的迭代计算划分为c1、c2、c3共3个并行计算颗粒,3个并行计算颗粒可执行整个运算过程的计算任务;若c1执行500个计算任务,c2执行200个计算任务,c3执行5个计算任务;那么共705个计算任务构成整个运算过程,上述整个运算过程只需c1、c2、c3共3个并行计算颗粒来实现。其中执行整个运算过程依次需要c1、c2、c3这3个并行计算颗粒执行,且c1、c2、c3中均包含至少1个独立运算(计算任务)。

根据各并行计算颗粒运算所得的加权CPU时间进行大小排序,若c1加权CPU时间为0.1s,c2加权CPU时间为100s,c3加权CPU时间为0.2s,则最终排序结果为c2>c3>c1;3个并行计算颗粒的加权CPU时间从大到小依次相加,即T(c2)+T(c3)+…直到时间和大于总CPU时间的90%为止;如果T(c2)+T(c3)>90%,那就是c2、c3分别作为一个并行计算粗颗粒;如果T(c2)>90%总CPU时间,那么c2为并行计算粗颗粒。

对并行计算颗粒进行分类,同类并行计算颗粒相互独立,其对应的计算任务序列可以随机打乱,在执行所述并行计算颗粒的过程中,将同类并行计算颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。

从以上迭代步骤中可以看出每次迭代更新每层的电磁场分布和电流分布,而不是主动计算源层对其他层的影响。在计算每层的电磁场分布和电流分布时,确定该层的源项为外部电路对应的激励源和其他层对它的影响对应的源项。可根据电磁场、电磁波在空间中的衰减规律确定需要计算多少其他层对它的影响。同时迭代过程中根据各层并矢格林函数的影响值的大小,自适应调节每源层对其他层施加影响的范围。

特别的,当分析集成电路的电源层的电压降和电流分布时,其工作频率为低频,采用直流场模型进行分析,此时集成电路层间无空间耦合,只存在物理耦合,即集成电路层间通过过孔、外部电路相互连接的层之间相互耦合,此时,集成电路各层之间的相互影响层是确定的,不需要迭代对影响范围

下面参考图4和5详细描述本发明提供的集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置的第二实施例。如图4所示,本实施例提供的一种集成电路层间耦合即时更新的粗颗粒并行迭代装置,包括并行计算颗粒划分模块,并行计算粗颗粒划分模块,并行计算粗颗粒运算模块;

所述并行计算颗粒划分模块用于将集成电路层间耦合的迭代计算划分为并行计算颗粒;

所述并行计算粗颗粒划分模块,基于一次完整的串行迭代计算,获取各并行计算颗粒的加权CPU时间和整体集成电路层间耦合即时更新的迭代方法的总CPU时间,依据所述加权CPU时间和所述总CPU时间的占比将所述并行计算颗粒合并为两类并行计算粗颗粒,且两类并行计算粗颗粒相互独立,其对应的计算任务序列可以随机打乱;

进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:

进一步的,将各并行计算颗粒的加权CPU时间按照从大到小的顺序排序并依次累加直到累加和超过90%的所述总CPU时间,将所述累加和之中的每个并行计算颗粒作为一个并行计算粗颗粒。

具体的,若根据上述并行计算颗粒的定义将集成电路层间耦合即时更新的迭代计算划分为c1、c2、c3共3个并行计算颗粒,3个并行计算颗粒可执行整个运算过程的计算任务;若c1执行500个计算任务,c2执行200个计算任务,c3执行5个计算任务;那么共705个计算任务构成整个运算过程,上述整个运算过程只需c1、c2、c3共3个并行计算颗粒来实现。其中执行整个运算过程依次需要c1、c2、c3这3个并行计算颗粒执行,且c1、c2、c3中均包含至少1个独立运算(计算任务)。

根据各并行计算颗粒运算所得的加权CPU时间进行大小排序,若c1加权CPU时间为0.1s,c2加权CPU时间为100s,c3加权CPU时间为0.2s,则最终排序结果为c2>c3>c1;3个并行计算颗粒的加权CPU时间从大到小依次相加,即T(c2)+T(c3)+…直到时间和大于总CPU时间的90%为止;如果T(c2)+T(c3)>90%,那就是c2、c3分别作为一个并行计算粗颗粒;如果T(c2)>90%总CPU时间,那么c2为并行计算粗颗粒。

对并行计算颗粒进行分类,同类并行计算颗粒相互独立,其对应的计算任务序列可以随机打乱,在执行所述并行计算颗粒的过程中,将同类并行计算颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。

所述并行计算粗颗粒运算模块用于在执行所述并行计算粗颗粒的过程中,将两类并行计算粗颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。

具体的,随机打乱运算任务序列的方式为:

首先将运算任务的序列

其关键在于将并行颗粒中所有运算任务的序列

主进程按照形成新的计算任务序列将该并行计算颗粒所需执行的所有运算任务分配到包含主进程的所有进程中,并完成并行计算颗粒执行的所有运算任务的并行运算。

另外,若并行计算颗粒中某运算任务被分配到一进程中,则生成该运算任务的用于表明该运算任务已经被分配标志文件;另一进程在申请分配某一运算任务时,将尝试生成该运算任务的标志文件,并在标志文件存在的情况下使另一进程自动尝试申请分配下一运算任务。

在多进程并行运算过程中,各个进程分配到某个运算任务的机会是均等的,如果不采取任何措施,可能导致多个进程被分配到同一运算任务,造成运算资源的浪费,因此必须采取某种措施,使得所有运算任务被唯一分配到某个进程。达到这一目的最简单也最直观的措施是分配任务及时标记,即任务被分配到某一进程的同时即将该任务进行标记,这样其他进程不再分配该任务。但由于并行运算时各进程的变量一般情况下相互独立,且运算任务不对称,各进程运算状态不同,任何进程通过变量标记任务被分配的信息无法立即被传递到其他进程,因此必须采用一种外在显式的标记方法使得运算任务一旦被标记,所有进程都能获得这个信息。因此,若并行计算颗粒中运算任务被分配到进程中,马上生成运算任务的标志文件;某一进程在申请分配某一运算任务时,将试图生成该运算任务的标志文件,如果该标志文件存在,则表明该运算任务已经被分配,该进程将自动尝试申请分配下一个运算任务。

利用标志文件来实现正确分配运算任务的具体实现步骤为:

步骤A1、一进程申请分配第

步骤A2、判断第

步骤A3、判断标志文件

步骤A4、锁定标志文件

步骤A5、生成标志文件

步骤A6、标志文件

步骤A7、完成第

步骤A8、判断并行计算颗粒中的所有运算任务是否全部完成,若未完成则

该并行计算颗粒所需执行的所有计算任务全部分配到所有进程中,该并行计算颗粒的分配结束;其返回执行其他并行计算颗粒分配其各自所需执行的所有计算任务。

进一步的,两类并行计算粗颗粒包括第一类并行计算粗颗粒和第二类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。

进一步的,所述第一类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤a1、如图5所示,计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述解析表达式如下:针对多层集成电路版图的频域电磁场,采用并矢格林函数计算点源在任意层场点产生的电场强度,可通过下式求解多层集成电路版图任一层的任一点的九个方位的电场强度来表示,即为求解所述点源对场点的电场表达式:

所述点电流源在的场点产生的电场表达式为:

其中,

T

T

T

所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与

步骤a2、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:

其中,

步骤a3、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;

步骤a4、再次基于所述场的线性叠加原理确定第

步骤a5、计算所有第

进一步的,所述第二类并行计算粗颗粒进行的计算任务的具体步骤包括:

步骤b1、如果

步骤b2、如果

步骤b3、对第

进一步的,所述二维有限元计算具体方法为:

对于直流电场模型,所述多层集成电路的三维模型是指直流电场模型中电导率

及边界条件(2):

式中

多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层的厚度,将多层集成电路的三维直流场问题简化为二维直流场问题;

所述对二维模型采用有限元法建立的场域求解方程组为方程组(3):

式中,所述

对于交变电磁场模型,所述多层集成电路的三维模型是指多层超大规模集成电路频域仿真中电磁响应特征的三维模型中介电常数

式中

多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层间距,将多层超大规模集成电路频域仿真中的电磁响应特征的三维模型简化为二维模型,此时模型中介电常数

式中,

经过三维模型到二维模型的简化,得到该二维模型对应的二维有限元泛函极值公式为:

式中,

从以上迭代步骤中可以看出每次迭代更新每层的电磁场分布和电流分布,而不是主动计算源层对其他层的影响。在计算每层的电磁场分布和电流分布时,确定该层的源项为外部电路对应的激励源和其他层对它的影响对应的源项。可根据电磁场、电磁波在空间中的衰减规律确定需要计算多少其他层对它的影响。同时迭代过程中根据各层并矢格林函数的影响值的大小,自适应调节每源层对其他层施加影响的范围。

特别的,当分析集成电路的电源层的电压降和电流分布时,其工作频率为低频,采用直流场模型进行分析,此时集成电路层间无空间耦合,只存在物理耦合,即集成电路层间通过过孔、外部电路相互连接的层之间相互耦合,此时,集成电路各层之间的相互影响层是确定的,不需要迭代对影响范围

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置
  • 集成电路层间耦合动态施加的粗颗粒并行迭代方法及装置
技术分类

06120112940874