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

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

Info

Publication number
CN112989675B
CN112989675B CN202110424331.8A CN202110424331A CN112989675B CN 112989675 B CN112989675 B CN 112989675B CN 202110424331 A CN202110424331 A CN 202110424331A CN 112989675 B CN112989675 B CN 112989675B
Authority
CN
China
Prior art keywords
layer
parallel
computing
integrated circuit
source
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
CN202110424331.8A
Other languages
English (en)
Other versions
CN112989675A (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 CN202110424331.8A priority Critical patent/CN112989675B/zh
Publication of CN112989675A publication Critical patent/CN112989675A/zh
Application granted granted Critical
Publication of CN112989675B publication Critical patent/CN112989675B/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/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)

Abstract

本发明提供了集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置,其中粗颗粒并行迭代方法包括如下步骤:首先将集成电路层间耦合的迭代计算划分为并行计算颗粒,并依据CPU加权时间合并为两类并行计算粗颗粒;其次,对源层的电流分布进行迭代,每次迭代时,基于两类并行计算粗颗粒无差别的并行计算集成电路层间的相互影响和更新每个源层的场和电流分布,并计算每个源层场的改变量;然后通过并矢格林函数的有效影响值确定可以忽略的层,进而动态修改源层的作用层范围;经过对源层的反复迭代直到所有源层的影响变化导致被作用层的场的改变量均小于指定阈值,迭代结束。本申请能够使得三维多层集成电路电磁响应的计算时间随并行进程数线性降低。

Description

集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置
技术领域
本发明涉及集成电路技术领域,特别涉及集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置。
背景技术
集成电路工作时其多层版图上由于高速信号的传输,会形成高频交变电磁场,这些高频交变电磁场即形成高频辐射源,使其对其他信号层或其他集成电路、芯片形成串扰和电磁辐射,影响其他信号层或其他集成电路、芯片的正常工作,所以设计时,需要计算出集成电路各层相互间的空间电磁辐射影响。在传统计算集成电路的空间电磁辐射时一般要采用严格的三维数值计算求解,但多层超大规模集成电路结构复杂,三维数值计算非常复杂,所用的CPU时间和内存很大。这类大规模数值计算由于不同计算实例具有不同结构,导致不同计算实例的计算复杂度不对等,对于这类不对等的海量计算,需要高效率并行计算方法设计,充分考虑不同实例计算复杂度的不对等,尽可能提高并行计算效率。
常规并行计算基本针对单个计算实例并行,在大量循环的计算部分实现并行,并行计算颗粒通常很细,这样导致不同进程之间存在大量的数据交换,降低并行效率;其次,由于不同进程计算进度不同,不可避免在需要数据共享和同步时出现大量等待,从而导致整体并行效率很低;再者,由于单个实例计算过程相当部分的计算过程有先后顺序,数据有依赖性,因此针对单个计算实例并行时,有相当部分的计算无法并行化,这也严重降低整体并行效率。
发明内容
(一)发明目的
基于上述问题,本发明提出一种集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置,为了在集成电路层间耦合即时更新的迭代计算过程中最大限度的减少各进程之间的通信,避免多进程并行计算时因为内存峰值大于可用物理内存而造成的硬盘读写瓶颈,同时完美解决不同计算实例复杂度不对等带来的进程等待问题,进而大大提高并行计算效率,本申请公开了以下技术方案。
(二)技术方案
作为本发明的第一方面,本发明公开了一种集成电路层间耦合即时更新的粗颗粒并行迭代方法,包括以下步骤:
步骤S100、将集成电路层间耦合的迭代计算划分为并行计算颗粒,并依据并行计算颗粒的加权CPU时间将并行计算颗粒合并为两类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;
步骤S200、集成电路总计为N+1层,各层编号为
Figure 973904DEST_PATH_IMAGE001
,当考虑集成电路的第m层电流源时,称该层为第m源层,且设置第m源层的作用层
Figure 658088DEST_PATH_IMAGE002
的初始值为除第m源层的其他N层集成电路,即
Figure 765722DEST_PATH_IMAGE003
,其中
Figure 692089DEST_PATH_IMAGE004
,第0层为底层;设置迭代次数
Figure 772041DEST_PATH_IMAGE005
步骤S300、设置集成电路的所有层的
Figure 187979DEST_PATH_IMAGE006
G lm 表示第l层对第m源层的影响,
Figure 81111DEST_PATH_IMAGE007
步骤S400、将当前迭代的所有计算任务按步骤S100所述的两类并行计算粗颗粒划分为不同的计算任务,并将其随机打乱,形成新的计算任务序列;
步骤S500、对空闲进程动态分配计算任务序列中的计算任务,直到所有计算任务分配完毕,记录集成电路各层电磁场的改变量dE m 和所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
步骤S600、如果
Figure 811169DEST_PATH_IMAGE008
,计算所有G lm 的最大值G max和最小值G min,计算并矢格林函数的有效影响值
Figure 807944DEST_PATH_IMAGE009
,这里thredshold为预先设定的并矢格林函数影响的舍弃阈值;
步骤700、如果
Figure 332466DEST_PATH_IMAGE010
Figure 853840DEST_PATH_IMAGE011
,迭代结束,输出各层电磁场和电流分布,其中
Figure 918748DEST_PATH_IMAGE012
为预先设定的迭代精度;
步骤S800、如果
Figure 707712DEST_PATH_IMAGE013
,计算满足
Figure 668715DEST_PATH_IMAGE014
条件的G lm 中距离层m最近的层l near ,将
Figure 238236DEST_PATH_IMAGE015
更新为
Figure 778939DEST_PATH_IMAGE016
步骤S900、设置
Figure 455033DEST_PATH_IMAGE017
,转入步骤S300。
进一步的,所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。
进一步的,所述步骤S400中,根据第一类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤S411、计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与xy有关,与z无关,电流密度分布仅为x, y的函数;
步骤S412、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:
Figure 118096DEST_PATH_IMAGE018
其中,
Figure 909334DEST_PATH_IMAGE019
为所述二维面S内的所述电流源在空间任意点(x,y,z)产生的场,
Figure 253728DEST_PATH_IMAGE020
为所述二维面S内任意位置(u,v)的所述点电流源在空间任意点(x,y,z)产生的场的表达式,
Figure 79602DEST_PATH_IMAGE021
表示二维面S内二维高斯积分对应的高斯积分点,p,q分别表示u,v方向的第p个,第q个高斯积分点,
Figure 618293DEST_PATH_IMAGE022
是对应高斯积分点的权重因子;
步骤S413、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;
步骤S414、再次基于所述场的线性叠加原理确定第l层在第m源层产生的电场G lm
步骤S415、计算所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
Figure 896827DEST_PATH_IMAGE023
进一步的,所述步骤S400中,根据第二类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤S421、如果
Figure 44912DEST_PATH_IMAGE024
,对第m层,记前一次迭代时作用层范围内的所有其他层对第m源层的影响总和为
Figure 725292DEST_PATH_IMAGE025
,如果前一次迭代时
Figure 933419DEST_PATH_IMAGE026
,则
Figure 200715DEST_PATH_IMAGE027
;记前一次迭代第l层对第m源层的影响为
Figure 886911DEST_PATH_IMAGE028
;依次利用并矢格林函数计算本次迭代中所有已经更新过电磁场和电流分布的第l层对第m源层的影响,记为G lm ,其中,
Figure 421798DEST_PATH_IMAGE029
;更新得到作用层范围内的所有其他层对第m源层的影响总和:
Figure 66406DEST_PATH_IMAGE030
步骤S422、如果iter>0, 将G m 作为第m源层的附加源加入到第m源层的源项中;
步骤S423、对第m源层施加二维有限元计算其电磁场分布从而更新该层的电磁场和电流分布,计算该层电磁场的改变量dE m
进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:
Figure 53953DEST_PATH_IMAGE031
式中:
Figure 95903DEST_PATH_IMAGE032
为第i个并行计算颗粒的加权CPU时间,T i 为第i个并行计算颗粒单次计算的CPU时间,
Figure 422980DEST_PATH_IMAGE033
为第i个并行计算颗粒执行的次数。
进一步的,在迭代过程中根据并矢格林函数的影响值G的大小确定能够忽略的层,自适应调节第m源层受到其临近的其他层影响的范围
Figure 238489DEST_PATH_IMAGE034
作为本申请的第二方面,本申请公开的一种集成电路层间耦合即时更新的粗颗粒并行迭代装置,包括并行计算颗粒划分模块,并行计算粗颗粒划分模块,并行计算粗颗粒运算模块;
所述并行计算颗粒划分模块用于将集成电路层间耦合的迭代计算划分为并行计算颗粒;
所述并行计算粗颗粒划分模块,基于一次完整的串行迭代计算,获取各并行计算颗粒的加权CPU时间和整体集成电路层间耦合即时更新的迭代方法的总CPU时间,依据所述加权CPU时间和所述总CPU时间的占比将所述并行计算颗粒合并为两类并行计算粗颗粒,且两类并行计算粗颗粒相互独立,其对应的计算任务序列可以随机打乱;
所述并行计算粗颗粒运算模块用于在执行所述并行计算粗颗粒的过程中,将两类并行计算粗颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。
进一步的,两类并行计算粗颗粒包括第一类并行计算粗颗粒和第二类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。
进一步的,所述第一类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤a1、计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与xy有关,与z无关,电流密度分布仅为x, y的函数;
步骤a2、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:
Figure 978912DEST_PATH_IMAGE018
其中,
Figure 272490DEST_PATH_IMAGE019
为所述二维面S内的所述电流源在空间任意点(x,y,z)产生的场,
Figure 781969DEST_PATH_IMAGE020
为所述二维面S内任意位置(u,v)的所述点电流源在空间任意点(x,y,z)产生的场的表达式,
Figure 738685DEST_PATH_IMAGE021
表示二维面S内二维高斯积分对应的高斯积分点,p,q分别表示u,v方向的第p个,第q个高斯积分点,
Figure 700825DEST_PATH_IMAGE022
是对应高斯积分点的权重因子;
步骤a3、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;
步骤a4、再次基于所述场的线性叠加原理确定第l层在第m源层产生的电场G lm
步骤a5、计算所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
Figure 594832DEST_PATH_IMAGE035
进一步的,所述第二类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤b1、如果
Figure 958817DEST_PATH_IMAGE036
,对第m层,记前一次迭代时作用层范围内的所有其他层对第m源层的影响总和为
Figure 584971DEST_PATH_IMAGE037
,如果前一次迭代时
Figure 535871DEST_PATH_IMAGE038
,则
Figure 233569DEST_PATH_IMAGE039
;记前一次迭代第l层对第m源层的影响为
Figure 186481DEST_PATH_IMAGE037
;依次利用并矢格林函数计算本次迭代中所有已经更新过电磁场和电流分布的第l层对第m源层的影响,记为G lm ,其中,
Figure 249115DEST_PATH_IMAGE040
;更新得到作用层范围内的所有其他层对第m源层的影响总和:
Figure 687312DEST_PATH_IMAGE042
步骤b2、如果
Figure 923121DEST_PATH_IMAGE043
, 将G m 作为第m源层的附加源加入到第m源层的源项中;
步骤b3、对第m源层施加二维有限元计算其电磁场分布从而更新该层的电磁场和电流分布,计算该层电磁场的改变量dE m
进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:
Figure 199382DEST_PATH_IMAGE031
式中:
Figure 229655DEST_PATH_IMAGE032
为第i个并行计算颗粒的加权CPU时间,
Figure 653683DEST_PATH_IMAGE044
为第i个并行计算颗粒单次计算的CPU时间,
Figure 929069DEST_PATH_IMAGE033
为第i个并行计算颗粒执行的次数。
(三)有益效果
本发明提供的一种集成电路层间耦合即时更新的迭代求解方法及装置,在本发明中每次迭代更新每层的电磁场分布和电流分布,而不是主动计算源层对其他层的影响。在计算每层的电磁场分布和电流分布时,确定该层的源项为外部电路对应的激励源和其他层对它的影响对应的源项。同时极大程度减少进程之间的通信及因为同步而产生的等待时间,同时,由于采用计算任务随机动态分配方法,保证复杂度不对等的计算模型随机均匀分布在各计算节点,避免由于过高的峰值内存导致虚拟内存访问而造成的硬盘读写瓶颈。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。
图1是本发明的第一实施例的主要步骤框图;
图2是本发明的第一实施例的第一类并行计算粗颗粒进行的计算任务的具体步骤流程图;
图3是本发明的第一实施例的第二类并行计算粗颗粒进行的计算任务的具体步骤流程图;
图4是本发明的第二实施例的模块框图;
图5是本发明中点电流源在的场点产生的电场的分解示意图。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。
需要说明的是:在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,均仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
下面参考图1、2、3和5详细描述本发明提供的集成电路层间耦合即时更新的迭代求解方法及装置的第一实施例。本实施例提供的一种集成电路层间耦合即时更新的粗颗粒并行迭代方法,如图1所示,包括以下步骤:
步骤S100、将集成电路层间耦合的迭代计算划分为并行计算颗粒,并依据并行计算颗粒的加权CPU时间将并行计算颗粒合并为两类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;
在并行计算前,需人工确定进程数,并将其中一个进程作为主进程。
并行计算颗粒是根据问题运算特征定义的。对不同行业,问题运算特征各不相同。例如对于大规模集成电路电磁场分布计算,在进行某种结构的多层集成电路板及其外部电路进行场-路耦合时,其运算特征包括:点源对空间任意点的影响随着点源与该点的距离关系,相隔的介质层数,每层电磁场和电流分布,更新被影响层的电磁场分布和电流分布的时间点。
步骤S200、集成电路总计为N+1层,各层编号为
Figure 59836DEST_PATH_IMAGE045
,当考虑集成电路的第m层电流源时,称该层为第m源层,且设置第m源层的作用层
Figure 261010DEST_PATH_IMAGE046
的初始值为除第m源层的其他N层集成电路,即
Figure 906755DEST_PATH_IMAGE047
,其中
Figure 579307DEST_PATH_IMAGE048
,第0层为底层;设置迭代次数
Figure 830160DEST_PATH_IMAGE049
步骤S300、设置集成电路的所有层的G lm =0;G lm 表示第l层对第m源层的影响,
Figure 467815DEST_PATH_IMAGE050
步骤S400、将当前迭代的所有计算任务按步骤S100所述的两类并行计算粗颗粒划分为不同的计算任务,并将其随机打乱,形成新的计算任务序列;
具体的,随机打乱运算任务序列的方式为:
首先将运算任务的序列
Figure 804118DEST_PATH_IMAGE051
,对应生成随机数序列
Figure 686886DEST_PATH_IMAGE052
m=1,2,3,…,M。然后对序列
Figure 792245DEST_PATH_IMAGE052
从小到大排序,排序后的序列为
Figure 600801DEST_PATH_IMAGE053
。最后生成新的不重复的运算任务序列
Figure 955559DEST_PATH_IMAGE054
Figure 78236DEST_PATH_IMAGE055
Figure 805145DEST_PATH_IMAGE056
Figure 519024DEST_PATH_IMAGE057
中的位置。
其关键在于将并行颗粒中所有运算任务的序列
Figure 892236DEST_PATH_IMAGE058
随机打乱,产生新的不重复的运算任务序列
Figure 553025DEST_PATH_IMAGE059
,然后按照该序列顺序分配运算任务,即等效为对原始运算任务进行随机分配,该随机分配策略特征在于随机分配方案能彻底打乱所有运算任务的分配顺序,从而实现各运算节点同时运算的任务占用的峰值内存总和由进程数和所有模型(计算颗粒)占用峰值内存的平均值而非最高值决定。
主进程按照形成新的计算任务序列将该并行计算颗粒所需执行的所有运算任务分配到包含主进程的所有进程中,并完成并行计算颗粒执行的所有运算任务的并行运算。
另外,若并行计算颗粒中某运算任务被分配到一进程中,则生成该运算任务的用于表明该运算任务已经被分配标志文件;另一进程在申请分配某一运算任务时,将尝试生成该运算任务的标志文件,并在标志文件存在的情况下使另一进程自动尝试申请分配下一运算任务。
在多进程并行运算过程中,各个进程分配到某个运算任务的机会是均等的,如果不采取任何措施,可能导致多个进程被分配到同一运算任务,造成运算资源的浪费,因此必须采取某种措施,使得所有运算任务被唯一分配到某个进程。达到这一目的最简单也最直观的措施是分配任务及时标记,即任务被分配到某一进程的同时即将该任务进行标记,这样其他进程不再分配该任务。但由于并行运算时各进程的变量一般情况下相互独立,且运算任务不对称,各进程运算状态不同,任何进程通过变量标记任务被分配的信息无法立即被传递到其他进程,因此必须采用一种外在显式的标记方法使得运算任务一旦被标记,所有进程都能获得这个信息。因此,若并行计算颗粒中运算任务被分配到进程中,马上生成运算任务的标志文件;某一进程在申请分配某一运算任务时,将试图生成该运算任务的标志文件,如果该标志文件存在,则表明该运算任务已经被分配,该进程将自动尝试申请分配下一个运算任务。
利用标志文件来实现正确分配运算任务的具体实现步骤为:
步骤A1、一进程申请分配第i个运算任务;
步骤A2、判断第i个运算任务的标志文件Fi是否存在,若存在则跳至步骤A8,若不存在则跳至步骤A3;
步骤A3、判断标志文件Fi是否被锁定,若被锁定则跳至步骤A8,若未被锁定则跳至步骤A4;
步骤A4、锁定标志文件Fi
步骤A5、生成标志文件Fi
步骤A6、标志文件Fi解锁;
步骤A7、完成第i个运算任务的运算;
步骤A8、判断并行计算颗粒中的所有运算任务是否全部完成,若未完成则ii+1,并返回步骤A1,若已完成则跳至步骤A9;
该并行计算颗粒所需执行的所有计算任务全部分配到所有进程中,该并行计算颗粒的分配结束;其返回执行其他并行计算颗粒分配其各自所需执行的所有计算任务。
步骤S500、对空闲进程动态分配计算任务序列中的计算任务,直到所有计算任务分配完毕,记录集成电路各层电磁场的改变量dE m 和所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
步骤S600、如果
Figure 429714DEST_PATH_IMAGE060
,计算所有G lm 的最大值G max和最小值G min,计算并矢格林函数的有效影响值
Figure 296518DEST_PATH_IMAGE061
,这里thredshold为预先设定的并矢格林函数影响的舍弃阈值;
步骤700、如果
Figure 891448DEST_PATH_IMAGE060
Figure 621506DEST_PATH_IMAGE062
,迭代结束,输出各层电磁场和电流分布,其中
Figure 290385DEST_PATH_IMAGE063
为预先设定的迭代精度;
步骤S800、如果
Figure 877224DEST_PATH_IMAGE060
,计算满足
Figure 897133DEST_PATH_IMAGE014
条件的G lm 中距离层m最近的层l near ,将
Figure 666768DEST_PATH_IMAGE015
更新为
Figure 518049DEST_PATH_IMAGE016
;在迭代过程中根据并矢格林函数的影响值G的大小确定能够忽略的层,自适应调节第m源层受到其临近的其他层影响的范围
Figure 213473DEST_PATH_IMAGE015
步骤S900、设置
Figure 517415DEST_PATH_IMAGE017
,转入步骤S300。
进一步的,所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。
进一步的,如图2所示,所述步骤S400中,根据第一类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤S411、如图5所示,计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述解析表达式如下:针对多层集成电路版图的频域电磁场,采用并矢格林函数计算点源在任意层场点产生的电场强度,可通过下式求解多层集成电路版图任一层的任一点的九个方位的电场强度来表示,即为求解所述点源对场点的电场表达式:
所述点电流源在的场点产生的电场表达式为:
Figure 323697DEST_PATH_IMAGE065
Figure 498326DEST_PATH_IMAGE066
Figure 662854DEST_PATH_IMAGE067
Figure 657355DEST_PATH_IMAGE069
Figure 267328DEST_PATH_IMAGE070
Figure 93201DEST_PATH_IMAGE071
Figure 864848DEST_PATH_IMAGE072
Figure 503902DEST_PATH_IMAGE073
其中,
Figure 448724DEST_PATH_IMAGE075
Figure 66787DEST_PATH_IMAGE077
Figure 540494DEST_PATH_IMAGE079
Figure 807790DEST_PATH_IMAGE081
Figure 493986DEST_PATH_IMAGE083
Figure 294452DEST_PATH_IMAGE085
i为虚数单位,i 2=-1;
Figure 204639DEST_PATH_IMAGE086
表示0阶贝塞尔函数;
Figure 395449DEST_PATH_IMAGE087
表示1阶贝塞尔函数;
Figure 449118DEST_PATH_IMAGE088
表示为贝塞尔积分系数,
Figure 838511DEST_PATH_IMAGE089
x,y,z表示场点坐标,
Figure 388441DEST_PATH_IMAGE090
,
Figure 128864DEST_PATH_IMAGE091
,
Figure 156862DEST_PATH_IMAGE092
表示源点坐标;角频率
Figure 902227DEST_PATH_IMAGE093
Figure 685375DEST_PATH_IMAGE094
表示频率;
Figure 850777DEST_PATH_IMAGE095
表示所述场点在第
Figure 479205DEST_PATH_IMAGE095
层,
Figure 344655DEST_PATH_IMAGE096
为第
Figure 236387DEST_PATH_IMAGE095
层分界面的z坐标;
Figure 951402DEST_PATH_IMAGE097
,
Figure 321204DEST_PATH_IMAGE098
分别表示第
Figure 805275DEST_PATH_IMAGE095
层水平和垂向的复波数;
Figure 867909DEST_PATH_IMAGE099
分别表示第
Figure 294387DEST_PATH_IMAGE095
层水平介电常数、垂向介电常数;
Figure 733459DEST_PATH_IMAGE100
,
Figure 72036DEST_PATH_IMAGE101
分别表示第l层水平磁导率、垂向磁导率;
Figure 305571DEST_PATH_IMAGE102
表示第l层的各向异性系数;
Figure 729599DEST_PATH_IMAGE103
,
Figure 942668DEST_PATH_IMAGE104
分别表示第l层水平和垂向的复波数的积分系数;
Figure 401331DEST_PATH_IMAGE105
分别表示第l层的待定系数,A l , B l 由以下线性方程求解得出:
Figure 805768DEST_PATH_IMAGE106
T1为2n×2n的复数矩阵,
Figure 717092DEST_PATH_IMAGE107
为长度为2n的复向量;
Figure 232387DEST_PATH_IMAGE109
Figure 47022DEST_PATH_IMAGE110
Figure 887939DEST_PATH_IMAGE111
Figure 224242DEST_PATH_IMAGE112
Figure 605545DEST_PATH_IMAGE113
由以下线性方程求解得出:
Figure 976483DEST_PATH_IMAGE114
T2为2n×2n的复数矩阵,
Figure 722722DEST_PATH_IMAGE115
为长度为2n的复向量;
Figure 844524DEST_PATH_IMAGE117
Figure 967201DEST_PATH_IMAGE118
Figure 192646DEST_PATH_IMAGE119
Figure 172104DEST_PATH_IMAGE120
由以下线性方程求解得出:
Figure 482999DEST_PATH_IMAGE121
T3为2n×2n的复数矩阵,
Figure 409367DEST_PATH_IMAGE122
为长度为2n的复向量;
Figure 787521DEST_PATH_IMAGE124
Figure 141142DEST_PATH_IMAGE125
Figure 736071DEST_PATH_IMAGE126
Figure 200551DEST_PATH_IMAGE128
Figure 135009DEST_PATH_IMAGE129
表示x方向的电偶极子在位于第l层的所述场点产生的所述电场的x分量;
Figure 721848DEST_PATH_IMAGE130
表示x方向的电偶极子在位于第l层的所述场点产生的所述电场的y分量;
Figure 977642DEST_PATH_IMAGE131
表示x方向的电偶极子在位于第l层的所述场点产生的所述电场的z分量;
Figure 42550DEST_PATH_IMAGE132
表示y方向的电偶极子在位于第l层的所述场点产生的所述电场的x分量;
Figure 893831DEST_PATH_IMAGE133
表示y方向的电偶极子在位于第l层的所述场点产生的所述电场的y分量;
Figure 120413DEST_PATH_IMAGE134
表示y方向的电偶极子在位于第l层的所述场点产生的所述电场的z分量;
Figure 627618DEST_PATH_IMAGE135
表示z方向的电偶极子在位于第l层的所述场点产生的所述电场的x分量;
Figure 732102DEST_PATH_IMAGE136
表示z方向的电偶极子在位于第l层的所述场点产生的所述电场的y分量;
Figure 437890DEST_PATH_IMAGE137
表示z方向的电偶极子在位于第l层的所述场点产生的所述电场的z分量。
所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与xy轴方向有关,与z轴方向无关,电流密度分布仅为x, y的函数。
步骤S412、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:
Figure 304215DEST_PATH_IMAGE139
其中,E(x,y,z)为所述二维面S内的电流源在空间任意点(x,y,z)产生的场,
Figure 829874DEST_PATH_IMAGE140
为所述二维面S内任意位置(u,v)的点电流源在空间任意点(x,y,z)产生的场的并矢格林函数的表达式,
Figure 3629DEST_PATH_IMAGE141
表示二维面S内二维高斯积分对应的高斯积分点,p,q分别表示u,v方向的第p个,第q个高斯积分点,
Figure 563923DEST_PATH_IMAGE022
是对应高斯积分点的权重因子;
步骤S413、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;
步骤S414、再次基于所述场的线性叠加原理确定第l层在第m源层产生的电场G lm
步骤S415、计算所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
Figure 132308DEST_PATH_IMAGE023
进一步的,所述步骤S400中,如图3所示,根据第二类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤S421、如果
Figure 614105DEST_PATH_IMAGE024
,对第m层,记前一次迭代时作用层范围内的所有其他层对第m源层的影响总和为
Figure 824506DEST_PATH_IMAGE025
,如果前一次迭代时
Figure 752491DEST_PATH_IMAGE026
,则
Figure 695039DEST_PATH_IMAGE027
;记前一次迭代第l层对第m源层的影响为
Figure 195290DEST_PATH_IMAGE028
;依次利用并矢格林函数计算本次迭代中所有已经更新过电磁场和电流分布的第l层对第m源层的影响,记为G lm ,其中,
Figure 209383DEST_PATH_IMAGE029
;更新得到作用层范围内的所有其他层对第m源层的影响总和:
Figure 980155DEST_PATH_IMAGE142
步骤S422、如果
Figure 359184DEST_PATH_IMAGE143
, 将G m 作为第m源层的附加源加入到第m源层的源项中;
步骤S423、对第m源层施加二维有限元计算其电磁场分布从而更新该层的电磁场和电流分布,计算该层电磁场的改变量dE m
进一步的,所述二维有限元计算具体方法为:
对于直流电场模型,所述多层集成电路的三维模型是指直流电场模型中电导率
Figure 612310DEST_PATH_IMAGE144
、电位u的分布均为三维空间坐标(x,y,z)的函数,即:
Figure 102198DEST_PATH_IMAGE145
Figure 960432DEST_PATH_IMAGE146
,该三维模型的函数满足以下方程(1):
Figure 307100DEST_PATH_IMAGE147
方程(1),
及边界条件(2):
Figure 283408DEST_PATH_IMAGE148
式中
Figure 373724DEST_PATH_IMAGE149
为第一类边界,n为第二类边界的法向,
Figure 820886DEST_PATH_IMAGE150
表示电位u在第一类边界
Figure 604034DEST_PATH_IMAGE149
上的值,用
Figure 769436DEST_PATH_IMAGE151
表示,
Figure 696066DEST_PATH_IMAGE152
为外部电路的体电流密度;
多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层的厚度,将多层集成电路的三维直流场问题简化为二维直流场问题;
所述对二维模型采用有限元法建立的场域求解方程组为方程组(3):
Figure 122369DEST_PATH_IMAGE154
式中,所述I(u)为泛函,t为金属层的厚度,
Figure 312304DEST_PATH_IMAGE155
为网格单元e的电导率,
Figure 761740DEST_PATH_IMAGE156
为网格单元e的电位,
Figure 193858DEST_PATH_IMAGE157
为网格单元e的面积,
Figure 615612DEST_PATH_IMAGE158
为表面电流密度,
Figure 242028DEST_PATH_IMAGE159
表示网格单元e的边;
对于交变电磁场模型,所述多层集成电路的三维模型是指多层超大规模集成电路频域仿真中电磁响应特征的三维模型中介电常数
Figure 116443DEST_PATH_IMAGE160
、磁导率
Figure 352252DEST_PATH_IMAGE161
、电场强度E、磁场强度H的分布均为三维空间坐标(x,y,z)的函数,即:
Figure 894092DEST_PATH_IMAGE162
,
Figure 127627DEST_PATH_IMAGE163
,
Figure 551655DEST_PATH_IMAGE164
Figure 30303DEST_PATH_IMAGE165
,该三维模型的函数满足以下方程:
Figure 692229DEST_PATH_IMAGE166
式中J为外加的电流密度分布,
Figure 158982DEST_PATH_IMAGE167
为集成电路仿真的角频率,
Figure 742410DEST_PATH_IMAGE168
表示磁场强度H的旋度,
Figure 585601DEST_PATH_IMAGE169
表示电场强度E的旋度,j为虚数单位,j 2=-1;
多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层间距,将多层超大规模集成电路频域仿真中的电磁响应特征的三维模型简化为二维模型,此时模型中介电常数
Figure 836454DEST_PATH_IMAGE160
、磁导率
Figure 975574DEST_PATH_IMAGE161
、电场强度E、磁场强度H的分布均为二维平面坐标(x,y)的函数,即:
Figure 843036DEST_PATH_IMAGE170
Figure 162021DEST_PATH_IMAGE171
Figure 329698DEST_PATH_IMAGE172
Figure 362420DEST_PATH_IMAGE173
,其分布与z无关,且场域中的电位u和表面电流密度J s满足:
Figure 186020DEST_PATH_IMAGE174
式中,
Figure 105434DEST_PATH_IMAGE175
分别表示x, y, z方向的单位矢量,E z为电场强度的z方向分量,H xH y分别为磁场强度的xy方向分量,h为金属层间距;
经过三维模型到二维模型的简化,得到该二维模型对应的二维有限元泛函极值公式为:
Figure 330879DEST_PATH_IMAGE176
式中,
Figure 44757DEST_PATH_IMAGE178
为泛函,
Figure 653856DEST_PATH_IMAGE179
表示对泛函取极值,
Figure 314644DEST_PATH_IMAGE180
为网格单元i的表面导纳,
Figure 191333DEST_PATH_IMAGE181
为边界
Figure 341692DEST_PATH_IMAGE182
的开口边界条件,u k为边界
Figure 874304DEST_PATH_IMAGE183
上的电位分布,
Figure 902565DEST_PATH_IMAGE184
表示边界右侧且无限接近边界的位置,
Figure 837023DEST_PATH_IMAGE185
表示边界左侧且无限接近边界的位置,
Figure 361546DEST_PATH_IMAGE186
表示网格单元i的区域,
Figure 443771DEST_PATH_IMAGE187
为网格单元i的电流密度,
Figure 711941DEST_PATH_IMAGE188
为网格单元i的表面阻抗,
Figure 766485DEST_PATH_IMAGE189
为网格单元i的电位,k是指第k个边界。
进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:
Figure 760111DEST_PATH_IMAGE031
式中:
Figure 267316DEST_PATH_IMAGE032
为第i个并行计算颗粒的加权CPU时间,T i 为第i个并行计算颗粒单次计算的CPU时间,
Figure 339177DEST_PATH_IMAGE033
为第i个并行计算颗粒执行的次数;所述整个计算过程的总CPU时间的计算公式为:
Figure 44965DEST_PATH_IMAGE190
,其中,T为整个计算过程的总CPU时间,m为整个计算程序被划分的并行计算颗粒数,
Figure 911290DEST_PATH_IMAGE032
为第i个并行计算颗粒的加权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为并行计算粗颗粒。
对并行计算颗粒进行分类,同类并行计算颗粒相互独立,其对应的计算任务序列可以随机打乱,在执行所述并行计算颗粒的过程中,将同类并行计算颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。
从以上迭代步骤中可以看出每次迭代更新每层的电磁场分布和电流分布,而不是主动计算源层对其他层的影响。在计算每层的电磁场分布和电流分布时,确定该层的源项为外部电路对应的激励源和其他层对它的影响对应的源项。可根据电磁场、电磁波在空间中的衰减规律确定需要计算多少其他层对它的影响。同时迭代过程中根据各层并矢格林函数的影响值的大小,自适应调节每源层对其他层施加影响的范围。
特别的,当分析集成电路的电源层的电压降和电流分布时,其工作频率为低频,采用直流场模型进行分析,此时集成电路层间无空间耦合,只存在物理耦合,即集成电路层间通过过孔、外部电路相互连接的层之间相互耦合,此时,集成电路各层之间的相互影响层是确定的,不需要迭代对影响范围
Figure 905791DEST_PATH_IMAGE191
进行修正
下面参考图4和5详细描述本发明提供的集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置的第二实施例。如图4所示,本实施例提供的一种集成电路层间耦合即时更新的粗颗粒并行迭代装置,包括并行计算颗粒划分模块,并行计算粗颗粒划分模块,并行计算粗颗粒运算模块;
所述并行计算颗粒划分模块用于将集成电路层间耦合的迭代计算划分为并行计算颗粒;
所述并行计算粗颗粒划分模块,基于一次完整的串行迭代计算,获取各并行计算颗粒的加权CPU时间和整体集成电路层间耦合即时更新的迭代方法的总CPU时间,依据所述加权CPU时间和所述总CPU时间的占比将所述并行计算颗粒合并为两类并行计算粗颗粒,且两类并行计算粗颗粒相互独立,其对应的计算任务序列可以随机打乱;
进一步的,所述并行计算颗粒的加权CPU时间的计算公式为:
Figure 79545DEST_PATH_IMAGE031
式中:
Figure 577523DEST_PATH_IMAGE032
为第i个并行计算颗粒的加权CPU时间,
Figure 880328DEST_PATH_IMAGE044
为第i个并行计算颗粒单次计算的CPU时间,
Figure 158863DEST_PATH_IMAGE033
为第i个并行计算颗粒执行的次数;所述整个计算过程的总CPU时间的计算公式为:
Figure 306947DEST_PATH_IMAGE190
,其中,T为整个计算过程的总CPU时间,m为整个计算程序被划分的并行计算颗粒数,
Figure 987327DEST_PATH_IMAGE032
为第i个并行计算颗粒的加权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为并行计算粗颗粒。
对并行计算颗粒进行分类,同类并行计算颗粒相互独立,其对应的计算任务序列可以随机打乱,在执行所述并行计算颗粒的过程中,将同类并行计算颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。
所述并行计算粗颗粒运算模块用于在执行所述并行计算粗颗粒的过程中,将两类并行计算粗颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算。
具体的,随机打乱运算任务序列的方式为:
首先将运算任务的序列
Figure 962499DEST_PATH_IMAGE051
,对应生成随机数序列
Figure 666013DEST_PATH_IMAGE052
m=1,2,3,…,M。然后对序列
Figure 680105DEST_PATH_IMAGE052
从小到大排序,排序后的序列为
Figure 152675DEST_PATH_IMAGE053
。最后生成新的不重复的运算任务序列
Figure 594020DEST_PATH_IMAGE054
Figure 50409DEST_PATH_IMAGE055
Figure 41761DEST_PATH_IMAGE056
Figure 696734DEST_PATH_IMAGE057
中的位置。
其关键在于将并行颗粒中所有运算任务的序列
Figure 246664DEST_PATH_IMAGE058
随机打乱,产生新的不重复的运算任务序列
Figure 924770DEST_PATH_IMAGE059
,然后按照该序列顺序分配运算任务,即等效为对原始运算任务进行随机分配,该随机分配策略特征在于随机分配方案能彻底打乱所有运算任务的分配顺序,从而实现各运算节点同时运算的任务占用的峰值内存总和由进程数和所有模型(计算颗粒)占用峰值内存的平均值而非最高值决定。
主进程按照形成新的计算任务序列将该并行计算颗粒所需执行的所有运算任务分配到包含主进程的所有进程中,并完成并行计算颗粒执行的所有运算任务的并行运算。
另外,若并行计算颗粒中某运算任务被分配到一进程中,则生成该运算任务的用于表明该运算任务已经被分配标志文件;另一进程在申请分配某一运算任务时,将尝试生成该运算任务的标志文件,并在标志文件存在的情况下使另一进程自动尝试申请分配下一运算任务。
在多进程并行运算过程中,各个进程分配到某个运算任务的机会是均等的,如果不采取任何措施,可能导致多个进程被分配到同一运算任务,造成运算资源的浪费,因此必须采取某种措施,使得所有运算任务被唯一分配到某个进程。达到这一目的最简单也最直观的措施是分配任务及时标记,即任务被分配到某一进程的同时即将该任务进行标记,这样其他进程不再分配该任务。但由于并行运算时各进程的变量一般情况下相互独立,且运算任务不对称,各进程运算状态不同,任何进程通过变量标记任务被分配的信息无法立即被传递到其他进程,因此必须采用一种外在显式的标记方法使得运算任务一旦被标记,所有进程都能获得这个信息。因此,若并行计算颗粒中运算任务被分配到进程中,马上生成运算任务的标志文件;某一进程在申请分配某一运算任务时,将试图生成该运算任务的标志文件,如果该标志文件存在,则表明该运算任务已经被分配,该进程将自动尝试申请分配下一个运算任务。
利用标志文件来实现正确分配运算任务的具体实现步骤为:
步骤A1、一进程申请分配第i个运算任务;
步骤A2、判断第i个运算任务的标志文件Fi是否存在,若存在则跳至步骤A8,若不存在则跳至步骤A3;
步骤A3、判断标志文件Fi是否被锁定,若被锁定则跳至步骤A8,若未被锁定则跳至步骤A4;
步骤A4、锁定标志文件Fi
步骤A5、生成标志文件Fi
步骤A6、标志文件Fi解锁;
步骤A7、完成第i个运算任务的运算;
步骤A8、判断并行计算颗粒中的所有运算任务是否全部完成,若未完成则ii+1,并返回步骤A1,若已完成则跳至步骤A9;
该并行计算颗粒所需执行的所有计算任务全部分配到所有进程中,该并行计算颗粒的分配结束;其返回执行其他并行计算颗粒分配其各自所需执行的所有计算任务。
进一步的,两类并行计算粗颗粒包括第一类并行计算粗颗粒和第二类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。
进一步的,所述第一类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤a1、如图5所示,计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,所述解析表达式如下:针对多层集成电路版图的频域电磁场,采用并矢格林函数计算点源在任意层场点产生的电场强度,可通过下式求解多层集成电路版图任一层的任一点的九个方位的电场强度来表示,即为求解所述点源对场点的电场表达式:
所述点电流源在的场点产生的电场表达式为:
Figure 280665DEST_PATH_IMAGE193
Figure 993406DEST_PATH_IMAGE066
Figure 215702DEST_PATH_IMAGE067
Figure 177842DEST_PATH_IMAGE195
Figure 275111DEST_PATH_IMAGE070
Figure 842358DEST_PATH_IMAGE071
Figure 796408DEST_PATH_IMAGE072
Figure 449106DEST_PATH_IMAGE073
其中,
Figure 597670DEST_PATH_IMAGE196
Figure 81741DEST_PATH_IMAGE197
Figure 409954DEST_PATH_IMAGE198
Figure 284370DEST_PATH_IMAGE199
Figure 520179DEST_PATH_IMAGE200
Figure 796439DEST_PATH_IMAGE084
i为虚数单位,i 2=-1;
Figure 797019DEST_PATH_IMAGE086
表示0阶贝塞尔函数;
Figure 955468DEST_PATH_IMAGE087
表示1阶贝塞尔函数;
Figure 729388DEST_PATH_IMAGE088
表示为贝塞尔积分系数,
Figure 656893DEST_PATH_IMAGE089
x, y, z表示场点坐标,
Figure 359532DEST_PATH_IMAGE090
,
Figure 270856DEST_PATH_IMAGE091
,
Figure 51731DEST_PATH_IMAGE092
表示源点坐标;角频率
Figure 833742DEST_PATH_IMAGE093
Figure 504020DEST_PATH_IMAGE094
表示频率;
Figure 637061DEST_PATH_IMAGE095
表示所述场点在第
Figure 378883DEST_PATH_IMAGE095
层,
Figure 77718DEST_PATH_IMAGE096
为第
Figure 151853DEST_PATH_IMAGE095
层分界面的z坐标;
Figure 273655DEST_PATH_IMAGE097
,
Figure 927490DEST_PATH_IMAGE098
分别表示第
Figure 480831DEST_PATH_IMAGE201
层水平和垂向的复波数;
Figure 663551DEST_PATH_IMAGE099
分别表示第
Figure 7070DEST_PATH_IMAGE201
层水平介电常数、垂向介电常数;
Figure 933438DEST_PATH_IMAGE100
,
Figure 75706DEST_PATH_IMAGE101
分别表示第l层水平磁导率、垂向磁导率;
Figure 163748DEST_PATH_IMAGE102
表示第l层的各向异性系数;
Figure 758677DEST_PATH_IMAGE103
,
Figure 724621DEST_PATH_IMAGE104
分别表示第l层水平和垂向的复波数的积分系数;
Figure 721396DEST_PATH_IMAGE105
分别表示第l层的待定系数,A l ,B l 由以下线性方程求解得出:
Figure 980339DEST_PATH_IMAGE106
T1为2n×2n的复数矩阵,
Figure 62565DEST_PATH_IMAGE107
为长度为2n的复向量;
Figure DEST_PATH_IMAGE202
Figure 617219DEST_PATH_IMAGE110
Figure 468500DEST_PATH_IMAGE111
Figure 163924DEST_PATH_IMAGE112
Figure 733445DEST_PATH_IMAGE113
由以下线性方程求解得出:
Figure 70886DEST_PATH_IMAGE114
T2为2n×2n的复数矩阵,
Figure 481401DEST_PATH_IMAGE115
为长度为2n的复向量;
Figure 144463DEST_PATH_IMAGE203
Figure 138964DEST_PATH_IMAGE118
Figure 280095DEST_PATH_IMAGE119
Figure 105969DEST_PATH_IMAGE120
由以下线性方程求解得出:
Figure 644660DEST_PATH_IMAGE121
T3为2n×2n的复数矩阵,
Figure 923194DEST_PATH_IMAGE122
为长度为2n的复向量;
Figure DEST_PATH_IMAGE204
Figure 602437DEST_PATH_IMAGE125
Figure 282818DEST_PATH_IMAGE126
Figure 490945DEST_PATH_IMAGE205
Figure 758241DEST_PATH_IMAGE129
表示x方向的电偶极子在位于第l层的所述场点产生的所述电场的x分量;
Figure 710016DEST_PATH_IMAGE130
表示x方向的电偶极子在位于第l层的所述场点产生的所述电场的y分量;
Figure 448165DEST_PATH_IMAGE131
表示x方向的电偶极子在位于第l层的所述场点产生的所述电场的z分量;
Figure 889511DEST_PATH_IMAGE132
表示y方向的电偶极子在位于第l层的所述场点产生的所述电场的x分量;
Figure 80320DEST_PATH_IMAGE133
表示y方向的电偶极子在位于第l层的所述场点产生的所述电场的y分量;
Figure 835787DEST_PATH_IMAGE134
表示y方向的电偶极子在位于第l层的所述场点产生的所述电场的z分量;
Figure 726645DEST_PATH_IMAGE135
表示z方向的电偶极子在位于第l层的所述场点产生的所述电场的x分量;
Figure 276575DEST_PATH_IMAGE136
表示z方向的电偶极子在位于第l层的所述场点产生的所述电场的y分量;
Figure 16998DEST_PATH_IMAGE137
表示z方向的电偶极子在位于第l层的所述场点产生的所述电场的z分量。
所述多层集成电路的电流源为层状分布,即在所述复杂形状的集成电路版图的每个金属层上分布的电流密度只与xy轴方向有关,与z轴方向无关,电流密度分布仅为x, y的函数。
步骤a2、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:
Figure DEST_PATH_IMAGE206
其中,E(x,y,z)为所述二维面S内的电流源在空间任意点(x,y,z)产生的场,
Figure 841734DEST_PATH_IMAGE140
为所述二维面S内任意位置(u,v)的点电流源在空间任意点(x,y,z)产生的场的并矢格林函数的表达式,
Figure 852678DEST_PATH_IMAGE141
表示二维面S内二维高斯积分对应的高斯积分点,p,q分别表示u,v方向的第p个,第q个高斯积分点,
Figure 307930DEST_PATH_IMAGE022
是对应高斯积分点的权重因子;
步骤a3、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;
步骤a4、再次基于所述场的线性叠加原理确定第l层在第m源层产生的电场G lm
步骤a5、计算所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
Figure 535649DEST_PATH_IMAGE023
进一步的,所述第二类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤b1、如果
Figure 367339DEST_PATH_IMAGE024
,对第m层,记前一次迭代时作用层范围内的所有其他层对第m源层的影响总和为
Figure 996903DEST_PATH_IMAGE025
,如果前一次迭代时
Figure 888636DEST_PATH_IMAGE026
,则
Figure 42799DEST_PATH_IMAGE027
;记前一次迭代第l层对第m源层的影响为
Figure 740496DEST_PATH_IMAGE028
;依次利用并矢格林函数计算本次迭代中所有已经更新过电磁场和电流分布的第l层对第m源层的影响,记为G lm ,其中,
Figure 896671DEST_PATH_IMAGE029
;更新得到作用层范围内的所有其他层对第m源层的影响总和:
Figure 224884DEST_PATH_IMAGE207
步骤b2、如果iter>0, 将G m 作为第m源层的附加源加入到第m源层的源项中;
步骤b3、对第m源层施加二维有限元计算其电磁场分布从而更新该层的电磁场和电流分布,计算该层电磁场的改变量dE m
进一步的,所述二维有限元计算具体方法为:
对于直流电场模型,所述多层集成电路的三维模型是指直流电场模型中电导率
Figure 161616DEST_PATH_IMAGE144
、电位u的分布均为三维空间坐标(x,y,z)的函数,即:
Figure 600688DEST_PATH_IMAGE145
Figure 440730DEST_PATH_IMAGE146
,该三维模型的函数满足以下方程(1):
Figure DEST_PATH_IMAGE208
方程(1),
及边界条件(2):
Figure 205424DEST_PATH_IMAGE209
式中
Figure 629452DEST_PATH_IMAGE149
为第一类边界,n为第二类边界的法向,
Figure 872215DEST_PATH_IMAGE150
表示电位u在第一类边界
Figure 2982DEST_PATH_IMAGE149
上的值,用
Figure 982919DEST_PATH_IMAGE151
表示,
Figure 97505DEST_PATH_IMAGE152
为外部电路的体电流密度;
多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层的厚度,将多层集成电路的三维直流场问题简化为二维直流场问题;
所述对二维模型采用有限元法建立的场域求解方程组为方程组(3):
Figure DEST_PATH_IMAGE210
式中,所述I(u)为泛函,t为金属层的厚度,
Figure 143959DEST_PATH_IMAGE155
为网格单元e的电导率,
Figure 457128DEST_PATH_IMAGE156
为网格单元e的电位,
Figure 32466DEST_PATH_IMAGE157
为网格单元e的面积,
Figure 932551DEST_PATH_IMAGE158
为表面电流密度,
Figure 517116DEST_PATH_IMAGE159
表示网格单元e的边;
对于交变电磁场模型,所述多层集成电路的三维模型是指多层超大规模集成电路频域仿真中电磁响应特征的三维模型中介电常数
Figure 622476DEST_PATH_IMAGE160
、磁导率
Figure 431032DEST_PATH_IMAGE161
、电场强度E、磁场强度H的分布均为三维空间坐标(x,y,z)的函数,即:
Figure 254631DEST_PATH_IMAGE162
,
Figure 377308DEST_PATH_IMAGE211
,
Figure DEST_PATH_IMAGE212
Figure 166535DEST_PATH_IMAGE213
,该三维模型的函数满足以下方程:
Figure 145992DEST_PATH_IMAGE166
式中J为外加的电流密度分布,
Figure 456888DEST_PATH_IMAGE167
为集成电路仿真的角频率,
Figure 179993DEST_PATH_IMAGE168
表示磁场强度H的旋度,
Figure 292568DEST_PATH_IMAGE169
表示电场强度E的旋度,j为虚数单位,j 2=-1;
多层超大规模集成电路中实际PCB板或芯片封装的板尺寸远大于金属层间距,将多层超大规模集成电路频域仿真中的电磁响应特征的三维模型简化为二维模型,此时模型中介电常数
Figure 646189DEST_PATH_IMAGE160
、磁导率
Figure 241118DEST_PATH_IMAGE161
、电场强度E、磁场强度H的分布均为二维平面坐标(x,y)的函数,即:
Figure DEST_PATH_IMAGE214
Figure 190751DEST_PATH_IMAGE215
Figure DEST_PATH_IMAGE216
Figure 187525DEST_PATH_IMAGE217
,其分布与z无关,且场域中的电位u和表面电流密度J s满足:
Figure 10250DEST_PATH_IMAGE174
式中,
Figure 30159DEST_PATH_IMAGE175
分别表示x, y, z方向的单位矢量,E z为电场强度的z方向分量,H xH y分别为磁场强度的xy方向分量,h为金属层间距;
经过三维模型到二维模型的简化,得到该二维模型对应的二维有限元泛函极值公式为:
Figure 95067DEST_PATH_IMAGE176
式中,
Figure 884031DEST_PATH_IMAGE219
为泛函,
Figure 641772DEST_PATH_IMAGE179
表示对泛函取极值,
Figure 181600DEST_PATH_IMAGE180
为网格单元i的表面导纳,
Figure 987882DEST_PATH_IMAGE181
为边界
Figure 959249DEST_PATH_IMAGE182
的开口边界条件,u k为边界
Figure 356732DEST_PATH_IMAGE183
上的电位分布,
Figure 351233DEST_PATH_IMAGE184
表示边界右侧且无限接近边界的位置,
Figure 993829DEST_PATH_IMAGE185
表示边界左侧且无限接近边界的位置,
Figure 554123DEST_PATH_IMAGE186
表示网格单元i的区域,
Figure 122508DEST_PATH_IMAGE187
为网格单元i的电流密度,
Figure 401043DEST_PATH_IMAGE188
为网格单元i的表面阻抗,
Figure 101190DEST_PATH_IMAGE189
为网格单元i的电位,k是指第k个边界。
从以上迭代步骤中可以看出每次迭代更新每层的电磁场分布和电流分布,而不是主动计算源层对其他层的影响。在计算每层的电磁场分布和电流分布时,确定该层的源项为外部电路对应的激励源和其他层对它的影响对应的源项。可根据电磁场、电磁波在空间中的衰减规律确定需要计算多少其他层对它的影响。同时迭代过程中根据各层并矢格林函数的影响值的大小,自适应调节每源层对其他层施加影响的范围。
特别的,当分析集成电路的电源层的电压降和电流分布时,其工作频率为低频,采用直流场模型进行分析,此时集成电路层间无空间耦合,只存在物理耦合,即集成电路层间通过过孔、外部电路相互连接的层之间相互耦合,此时,集成电路各层之间的相互影响层是确定的,不需要迭代对影响范围
Figure 515991DEST_PATH_IMAGE191
进行修正。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种集成电路层间耦合即时更新的粗颗粒并行迭代方法,其特征在于,包括以下步骤:
步骤S100、将集成电路层间耦合的迭代计算划分为并行计算颗粒,并依据并行计算颗粒的加权CPU时间将并行计算颗粒合并为两类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;
步骤S200、集成电路总计为N+1层,各层编号为
Figure DEST_PATH_IMAGE001
,当考虑集成电路的第m层电流源时,称该层为第m源层,且设置第m源层的作用层
Figure 468177DEST_PATH_IMAGE002
的初始值为除第m源层的其他N层集成电路的层数,即
Figure DEST_PATH_IMAGE003
,其中
Figure 328817DEST_PATH_IMAGE004
,第0层为底层;设置已迭代次数
Figure DEST_PATH_IMAGE005
步骤S300、设置集成电路的所有层的
Figure 779521DEST_PATH_IMAGE006
G lm 表示第l层对第m源层并矢格林函数的影响值,
Figure DEST_PATH_IMAGE007
步骤S400、将当前迭代的所有计算任务按步骤S100所述的两类并行计算粗颗粒划分为不同的计算任务,并将其随机打乱,形成新的计算任务序列;
步骤S500、对空闲进程动态分配计算任务序列中的计算任务,直到所有计算任务分配完毕,记录集成电路各层电磁场的改变量dE m 和所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
步骤S600、如果
Figure 925944DEST_PATH_IMAGE008
,计算所有G lm 的最大值G max和最小值G min,计算并矢格林函数的有效影响值
Figure DEST_PATH_IMAGE009
,这里thredshold为预先设定的并矢格林函数影响的舍弃阈值;
步骤S700、如果
Figure 854717DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
,迭代结束,输出各层电磁场和电流分布,其中
Figure DEST_PATH_IMAGE013
为预先设定的迭代精度;
步骤S800、如果
Figure 304284DEST_PATH_IMAGE014
,计算满足
Figure DEST_PATH_IMAGE015
条件的G lm 中距离层m最近的层l near ,将
Figure 863572DEST_PATH_IMAGE016
更新为
Figure DEST_PATH_IMAGE017
步骤S900、设置
Figure 294029DEST_PATH_IMAGE018
,转入步骤S300。
2.根据权利要求1所述的集成电路层间耦合即时更新的粗颗粒并行迭代方法,其特征在于,所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。
3.根据权利要求1所述的集成电路层间耦合即时更新的粗颗粒并行迭代方法,其特征在于,所述步骤S400中,根据第一类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤S411、计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,多层集成电路的电流源为层状分布,即在复杂形状的集成电路版图的每个金属层上分布的电流密度只与xy有关,与z无关,电流密度分布仅为x, y的函数,所述x,y,z为空间任意点的坐标;
步骤S412、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:
Figure DEST_PATH_IMAGE019
其中,
Figure 26493DEST_PATH_IMAGE020
为所述二维面S内的所述电流源在空间任意点(x,y,z)产生的场,
Figure DEST_PATH_IMAGE021
为所述二维面S内任意位置(u,v)的所述点电流源在空间任意点(x,y,z)产生的场的表达式,
Figure 471512DEST_PATH_IMAGE022
表示二维面S内二维高斯积分对应的高斯积分点,p,q分别表示u,v方向的第p个,第q个高斯积分点,
Figure DEST_PATH_IMAGE023
是对应高斯积分点的权重因子;
步骤S413、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;
步骤S414、再次基于所述场的线性叠加原理确定第l层在第m源层产生的并矢格林函数的影响值G lm
步骤S415、计算所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
Figure 995510DEST_PATH_IMAGE024
4.根据权利要求1所述的集成电路层间耦合即时更新的粗颗粒并行迭代方法,其特征在于,所述步骤S400中,根据第二类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤S421、如果
Figure DEST_PATH_IMAGE025
,对第m层,记前一次迭代时作用层范围内的所有其他层对第m源层的影响总和为
Figure 650613DEST_PATH_IMAGE026
,如果前一次迭代时
Figure DEST_PATH_IMAGE027
,则
Figure 717926DEST_PATH_IMAGE028
;记前一次迭代第l层对第m源层的影响为
Figure DEST_PATH_IMAGE029
;依次利用并矢格林函数计算本次迭代中所有已经更新过电磁场和电流分布的第l层对第m源层的影响,记为G lm ,其中,
Figure 142085DEST_PATH_IMAGE030
;更新得到作用层范围内的所有其他层对第m源层的影响总和:
Figure 167810DEST_PATH_IMAGE032
步骤S422、如果
Figure DEST_PATH_IMAGE033
, 将G m 作为第m源层的附加源加入到第m源层的源项中;
步骤S423、对第m源层施加二维有限元计算其电磁场分布从而更新该层的电磁场和电流分布,计算该层电磁场的改变量dE m
5.根据权利要求1所述的集成电路层间耦合即时更新的粗颗粒并行迭代方法,其特征在于,所述并行计算颗粒的加权CPU时间的计算公式为:
Figure 776122DEST_PATH_IMAGE034
式中:
Figure DEST_PATH_IMAGE035
为第i个并行计算颗粒的加权CPU时间,
Figure 850388DEST_PATH_IMAGE036
为第i个并行计算颗粒单次计算的CPU时间,
Figure DEST_PATH_IMAGE037
为第i个并行计算颗粒执行的次数。
6.一种集成电路层间耦合即时更新的粗颗粒并行迭代装置,其特征在于,包括并行计算颗粒划分模块,并行计算粗颗粒划分模块,并行计算粗颗粒运算模块;
所述并行计算颗粒划分模块用于将集成电路层间耦合的迭代计算划分为并行计算颗粒;
所述并行计算粗颗粒划分模块,基于一次完整的串行迭代计算,获取各并行计算颗粒的加权CPU时间和整体集成电路层间耦合即时更新的迭代方法的总CPU时间,依据所述加权CPU时间和所述总CPU时间的占比将所述并行计算颗粒合并为两类并行计算粗颗粒,且两类并行计算粗颗粒相互独立,其对应的计算任务序列可以随机打乱;
所述并行计算粗颗粒运算模块用于在执行所述并行计算粗颗粒的过程中,将两类并行计算粗颗粒执行的所有计算任务的序列随机打乱,形成新的计算任务序列,并按照所述新的计算任务序列动态分配到不同计算进程,完成计算任务的并行计算;
其中,第一类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤a1、计算点电流源在场点产生的电场,所述点电流源在场点产生的电场表达式为根据集成电路分层的特殊结构形成的特殊的解析表达式,多层集成电路的电流源为层状分布,即在复杂形状的集成电路版图的每个金属层上分布的电流密度只与xy有关,与z无关,电流密度分布仅为x, y的函数,所述x,y,z为空间任意点的坐标;
步骤a2、将所述点电流源在场点产生的电场表达式作为二维高斯积分的被积函数,基于场的线性叠加原理计算简单形状多边形的面电流源在相同位置产生的场,包括:二维面S内的电流源在空间任意点产生的场可通过所述二维高斯积分计算:
Figure 129054DEST_PATH_IMAGE019
其中,
Figure 325680DEST_PATH_IMAGE020
为所述二维面S内的所述电流源在空间任意点(x,y,z)产生的场,
Figure 38200DEST_PATH_IMAGE021
为所述二维面S内任意位置(u,v)的所述点电流源在空间任意点(x,y,z)产生的场的表达式,
Figure 712895DEST_PATH_IMAGE022
表示二维面S内二维高斯积分对应的高斯积分点,p,q分别表示u,v方向的第p个,第q个高斯积分点,
Figure 173963DEST_PATH_IMAGE023
是对应高斯积分点的权重因子;
步骤a3、计算所述简单形状多边形上的所述电流在集成电路其他层不同位置产生的场,基于所述场的线性叠加原理确定简单形状多边形上的所述电流在集成电路其他层版图上分割的简单形状多边形上产生的场;
步骤a4、再次基于所述场的线性叠加原理确定第l层在第m源层产生的并矢格林函数的影响值G lm
步骤a5、计算所有第l层对第m层并矢格林函数的影响值G lm 的最大值G max和最小值G min
Figure 541491DEST_PATH_IMAGE038
7.根据权利要求6所述的集成电路层间耦合即时更新的粗颗粒并行迭代装置,其特征在于,两类并行计算粗颗粒包括第一类并行计算粗颗粒和第二类并行计算粗颗粒,第一类并行计算粗颗粒为计算集成电路的层-层的相互影响;第二类并行计算粗颗粒为根据累加的其他层对源层的影响,计算源层的电磁场和电流分布;所述第一类并行计算粗颗粒和第二类并行计算粗颗粒为相互独立的并行计算颗粒,在计算任何一类并行计算粗颗粒构成的计算任务时,不必等待其他计算任务的执行结果,计算过程中,每个计算任务均分配一个计算进程。
8.根据权利要求7所述的集成电路层间耦合即时更新的粗颗粒并行迭代装置,其特征在于,所述第二类并行计算粗颗粒进行的计算任务的具体步骤包括:
步骤b1、如果已迭代次数
Figure DEST_PATH_IMAGE039
,对第m层,记前一次迭代时作用层范围内的所有其他层对第m源层的影响总和为
Figure 596166DEST_PATH_IMAGE040
,如果前一次迭代时
Figure DEST_PATH_IMAGE041
,则
Figure 946988DEST_PATH_IMAGE042
;记前一次迭代第l层对第m源层的影响为
Figure DEST_PATH_IMAGE043
;依次利用并矢格林函数计算本次迭代中所有已经更新过电磁场和电流分布的第l层对第m源层的影响,记为G lm ,其中,
Figure 465825DEST_PATH_IMAGE044
;设置第m源层的作用层
Figure DEST_PATH_IMAGE045
的初始值为除第m源层的其他N层集成电路的层数,即
Figure 473096DEST_PATH_IMAGE046
,其中
Figure DEST_PATH_IMAGE047
,第0层为底层;更新得到作用层范围内的所有其他层对第m源层的影响总和:
Figure DEST_PATH_IMAGE049
步骤b2、如果
Figure 15066DEST_PATH_IMAGE050
, 将G m 作为第m源层的附加源加入到第m源层的源项中;
步骤b3、对第m源层施加二维有限元计算其电磁场分布从而更新该层的电磁场和电流分布,计算该层电磁场的改变量dE m
9.根据权利要求6所述的集成电路层间耦合即时更新的粗颗粒并行迭代装置,其特征在于,所述并行计算颗粒的加权CPU时间的计算公式为:
Figure 763055DEST_PATH_IMAGE034
式中:
Figure 198716DEST_PATH_IMAGE035
为第i个并行计算颗粒的加权CPU时间,
Figure 642466DEST_PATH_IMAGE036
为第i个并行计算颗粒单次计算的CPU时间,
Figure 796367DEST_PATH_IMAGE037
为第i个并行计算颗粒执行的次数。
CN202110424331.8A 2021-04-20 2021-04-20 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置 Active CN112989675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110424331.8A CN112989675B (zh) 2021-04-20 2021-04-20 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110424331.8A CN112989675B (zh) 2021-04-20 2021-04-20 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置

Publications (2)

Publication Number Publication Date
CN112989675A CN112989675A (zh) 2021-06-18
CN112989675B true CN112989675B (zh) 2021-09-14

Family

ID=76341281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110424331.8A Active CN112989675B (zh) 2021-04-20 2021-04-20 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置

Country Status (1)

Country Link
CN (1) CN112989675B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881641A (zh) * 2020-06-08 2020-11-03 北京智芯仿真科技有限公司 多进程自适应分配的多层超大规模集成电路场路耦合方法
CN111881643A (zh) * 2020-06-08 2020-11-03 北京智芯仿真科技有限公司 进程自启停的基于频域电磁响应的集成电路版图优化方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253920B (zh) * 2011-06-08 2013-03-27 清华大学 一种全互联路由结构动态可重构数据处理方法及处理器
US8828625B2 (en) * 2012-08-06 2014-09-09 Taiwan Semiconductor Manufacturing Company, Ltd. Extreme ultraviolet lithography mask and multilayer deposition method for fabricating same
CN104156545B (zh) * 2014-08-29 2017-08-25 武汉大学 表征太赫兹量子级联激光器多模效应的电路建模仿真方法
CN106095574B (zh) * 2016-06-13 2019-01-08 北京唯智佳辰科技发展有限责任公司 海量计算粗颗粒并行实现及计算任务随机动态分配方法
CN106055401B (zh) * 2016-06-13 2019-02-26 北京唯智佳辰科技发展有限责任公司 海量计算粗颗粒并行的自动启停及计算任务动态分配方法
US11556691B2 (en) * 2018-09-28 2023-01-17 Taiwan Semiconductor Manufacturing Company, Ltd. Track-based fill (TBF) method for metal patterning
CN111898331A (zh) * 2020-06-08 2020-11-06 北京智芯仿真科技有限公司 超大规模集成电路频域仿真计算任务随机动态分配方法
CN112330456A (zh) * 2020-11-27 2021-02-05 上海特高信息技术有限公司 一种超低延时硬件加速行情数据流解析系统
CN112232002B (zh) * 2020-12-09 2021-03-16 北京智芯仿真科技有限公司 一种基于误差估计的集成电路的电磁响应确定方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881641A (zh) * 2020-06-08 2020-11-03 北京智芯仿真科技有限公司 多进程自适应分配的多层超大规模集成电路场路耦合方法
CN111881643A (zh) * 2020-06-08 2020-11-03 北京智芯仿真科技有限公司 进程自启停的基于频域电磁响应的集成电路版图优化方法

Also Published As

Publication number Publication date
CN112989675A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN111881641A (zh) 多进程自适应分配的多层超大规模集成电路场路耦合方法
CN111898330A (zh) 基于多层次并行策略的集成电路电磁响应计算方法及装置
CN111898331A (zh) 超大规模集成电路频域仿真计算任务随机动态分配方法
US8423328B2 (en) Method of distributing a random variable using statistically correct spatial interpolation continuously with spatially inhomogeneous statistical correlation versus distance, standard deviation, and mean
CN112989677B (zh) 大规模集成电路层间耦合部分累加计算的迭代方法及装置
Gurel et al. Hierarchical parallelization of the multilevel fast multipole algorithm (MLFMA)
US20090171636A1 (en) High-speed operation method for coupled equations based on finite element method and boundary element method
CN111898332A (zh) 超大规模集成电路频域仿真自适应频点提取与计算方法
CN112818585B (zh) 集成电路层间耦合的迭代计算并行颗粒的划分方法及装置
CN112989675B (zh) 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置
CN112989678B (zh) 集成电路层间耦合部分累加的粗颗粒并行迭代方法及装置
CN112232001B (zh) 一种集成电路超宽频谐振响应的自适应确定方法及系统
CN112989756B (zh) 集成电路层间耦合动态施加的粗颗粒并行迭代方法及装置
CN115630599B (zh) 用于版图处理的方法、设备和介质
CN112818633B (zh) 层间耦合动态施加的集成电路电流分布的迭代方法及装置
CN116776695A (zh) 基于超高阶有限元技术的一维电磁计算方法、系统及设备
Peckerar et al. Sub-0.1 μ electron-beam lithography for nanostructure development
CN112989676B (zh) 层间耦合即时更新的集成电路电流分布的迭代方法及装置
CN112989735B (zh) 多层超大规模集成电路层间耦合的迭代求解方法及装置
Říha et al. Hybrid parallelization of the total FETI solver
Navarro‐García et al. High‐order discontinuous Galerkin method for time‐domain electromagnetics on geometry‐independent Cartesian meshes
Lavaei et al. Topology optimization of continuum structures using element free Galerkin method on irregular nodal distribution
Cai et al. Parallel multilevel methods with adaptivity on unstructured grids
Kirsch Cylindrical and nonconformal material interfaces in the finite integration technique
Roux et al. FETI methods

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