一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种集成电路版图电流密度超标区域标定方法及系统与流程

2022-03-23 07:20:15 来源:中国专利 TAG:


1.本技术属于集成电路电磁场分析技术领域,具体涉及一种集成电路版图电流密度超标区域标定方法及系统。


背景技术:

2.随着通信技术的发展,超大规模集成电路的研究与发展已逐渐展开。为了提高电子设备的性能,缩小体积,降低成本,当下生产现状是将晶体管与其他元器件以及线路都集成在一小块半导体基片上。为了实现更多的功能,目前超大规模集成电路有几层到上百层结构,每层结构极其复杂,并集成数千万甚至数亿的晶体管,且都具有从厘米级到目前最新的纳米级多尺度结构。如此复杂的结构,也给其电磁场分析带来了难题。
3.由于集成电路中有数千万到数亿个晶体管同时工作,其消耗的功率急剧增加,这个增加的功率可通过提高输入电压或输入电流来实现,但由于晶体管密度增加,晶体管的p-n节间距随之减小,从而晶体管的耐压值也随之降低,因此,随着超大规模集成电路的晶体管数量的增加,对集成电路的输入电压逐渐下降,但提供给集成电路的电流却是急剧增加。这个电流可达数十安培到上百安培,这个大电流通常由几百到上千个引脚来供电。由于有数百到上千个引脚分摊上百安培的大电流,因此每个引脚的电流得到了有效的降低,然而,这个上百安培的大电流需要通过各层的集成电路版图从电源输入端传输到工作的芯片,因此集成电路版图电源层上的电流密度是一个需要重点关注的问题。
4.针对具有多尺度结构的集成电路版图,需要采用电磁场数值计算方法计算其电流密度分布,然后,根据具体制备工艺对应的版图上允许承载的最大电流密度,根据计算的电流密度分布标定出电流密度超标的区域,最终基于超标区域对集成电路版图设计进行优化和整改,直到设计的版图达到工作要求。
5.目前,针对集成电路版图上电流密度超标区域的标定通常为矩形区域标定,这种标定方法针对早期结构简单的版图形状是有效的,能够从标定的区域很快识别出电流密度超标位置,从而对设计的版图进行优化和整改,但随着集成电路版图形状越来越复杂,原来的标定方法不再有效,具体表现在,存在大量的弯曲的带状版图多边形,如果这种多边形上的电流密度超标,按照传统的标定方法,则将包括整个带状版图多边形的超标的矩形区域都包括进来,这个矩形区域内部还包含了大量不超标的版图多边形,因此这个标定基本是无效的,并不能从标定的区域精准获取有用信息。


技术实现要素:

6.为解决现有技术中的不足,本技术提出了一种集成电路版图电流密度超标区域标定方法及系统。
7.第一方面,本技术提出一种集成电路版图电流密度超标区域标定方法,包括如下步骤:对集成电路版图进行网格剖分,采用电磁场数值计算方法,计算每层版图中网格
单元的电流密度;基于每层版图中网格单元的电流密度,标识出电流密度超标的网格单元;基于标识的电流密度超标的网格单元,采用邻居搜索方法标识出连通的网格单元,形成连通的网格单元区域,同时针对每个连通的网格单元区域,设置没有邻居网格单元的网格单元对应的边作为所述连通的网格单元区域的边界。
8.所述对集成电路版图进行网格剖分,采用电磁场数值计算方法,计算每层版图中网格单元的电流密度,包括如下步骤:将多层集成电路直流电场的三维模型简化为多层直流电场二维模型,并对多层直流电场二维模型的各层集成电路版图进行网格剖分;对所述多层直流电场二维模型形成的微分方程对应的泛函在剖分的网格单元上进行离散,取极值并令极值为零得到有限元刚度矩阵方程组,对所述有限元刚度矩阵方程组进行求解,得到集成电路每层平板上的电位分布;根据所述集成电路每层平板上的电位分布,计算场域的电流密度分布,即每层版图中网格单元的电流密度。
9.所述将多层集成电路直流电场的三维模型简化为多层直流电场二维模型,具体计算如下:多层集成电路直流电场的三维模型是指所述多层直流电场二维模型中电导率、电位u的分布均为三维空间坐标(x,y,z)的函数,即:,,其满足以下方程(1)及边界条件(2):
ꢀꢀꢀꢀꢀ
(1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)式(2)中,为第一类边界,n为第二类边界的法向,为电位u在第一类边界上的值,用表示,为外部电路的体电流密度。
10.针对所述多层集成电路直流电场的三维模型,建立各层集成电路直流电场二维模型的泛函:(3)
式中,所述h为金属层的厚度,为网格单元e的电导率;为网格单元e的电位;为网格单元e的面,为外部激励产生的表面电流密度,所述i(u)为泛函,表示网格单元e的棱边;所述基于每层版图中网格单元的电流密度,标识出电流密度超标的网格单元;包括步骤如下:基于网格单元,利用场域的电流密度分布公式,计算得到所有层的每个网格单元的电流密度;对所有层的每个网格单元,判断其电流密度是否大于预设的电流密度阈值,如果大于所述阈值,则设置所述网格单元的热点状态为hot,如果小于等于所述阈值,则设置热点状态为cold。
11.所述采用邻居搜索方法标识出连通的网格单元,形成连通的网格单元区域包括如下步骤:步骤s3.1:设置当前处理的热点区域为i=1,设置当前热点区域集合h为空,当前外围网格单元集合f为空,设置当前处理层序号为layer=1;步骤s3.2:对当前第layer层的所有网格单元,计算各网格单元的邻居网格单元;设置当前处理的网格单元v=1,设置当前电流密度最大值j
max
为0;设置当前标定边界集合bi为空;设置当前第layer层的所有网格单元处理状态为fresh;步骤s3.3:检查第v个网格单元的状态;步骤s3.3.a:如果所述第v个网格单元的处理状态为done,或热点状态为cold,设置v=v 1,转入步骤s3.4;步骤s3.3.b:比较所述第v个网格单元的电流密度jv与当前电流密度最大值j
max
,jv》j
max
,则更新j
max
,使得j
max
=jv;jv《=j
max
,则j
max
不变;步骤s3.3.b.1:将所述第v个网格单元加入到当前外围网格单元集合f中去;步骤s3.3.b.2:判断集合f是否为空,如果集合f为空,将当前j
max
作为当前热点区域hi的最大电流密度,当前标定边界集合bi作为当前热点区域hi的标定边界,增加hi到集合h,重置当前电流密度最大值j
max
为0,设置i=i 1,设置当前标定边界集合bi为空,设置当前热点区域集合h为空,设置v=v 1,转入步骤s3.4;步骤s3.3.b.3:如果集合f不为空,取出集合f中的任一个网格单元p,并把所述网格单元p从集合f中删除;步骤s3.3.b.4:判断所述网格单元p的处理状态,如果所述网格单元p的处理状态为done,转入步骤s3.3.b.2;步骤s3.3.b.5:找到网格单元p的nbr个邻居网格单元p1,p2,pk,...p
nbr
,,k表示网格单元p的第k个棱边,nbr为网格单元p的棱边总个数,pk表示共用网格单元p的第k条棱边的邻居网格单元,设置所述网格单元p的处理状态为done,k=1;步骤s3.3.b.6:判断pk是否等于零,当pk等于零, 表示没有与所述网格单元p的第k条棱边共用棱边的网格单元,将所述网格单元p第k条棱边加入到当前标定边界集合bi中去,转入步骤s3.3.b.10;步骤s3.3.b.7:判断pk处理状态, 如果pk的处理状态为done,转入步骤s3.3.b.10;
步骤s3.3.b.8:判断pk的热点状态, 如果pk的热点状态为cold,将所述网格单元p的第k条棱边加入到当前标定边界集合bi中去,设定pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.9:将pk加入到当前外围网格单元集合f中去,比较pk的电流密度与当前电流密度最大值j
max
大小,如果pk的电流密度不大于当前电流密度最大值j
max
,j
max
不更新,如果pk的电流密度大于当前电流密度最大值j
max
,更新j
max
为pk的电流密度;步骤s3.3.b.10:设置k=k 1,判断k是否大于nbr,若k大于nbr则转入步骤s3.3.b.2,k若不大于nbr,则转到步骤s3.3.b.6;步骤s3.4:比较v与当前第layer层的网格单元数量的大小,如果v《当前第layer层的网格单元数量,转入步骤s3.3;步骤s3.5:设置layer=layer 1;步骤s3.6:比较layer与集成电路总层数的大小,如果layer《=集成电路总层数,转入步骤s3.2;步骤s3.7:退出流程,算法结束;所述网格单元为任一形状组成的单元。
12.第二方面,本技术提出一种集成电路版图电流密度超标区域标定系统,包括:电流密度计算模块、网格单元标识模块、超标区域边界标定模块, 所述电流密度计算模块、网格单元标识模块、超标区域边界标定模块依次顺序相连接;所述电流密度计算模块,用于对集成电路版图进行网格剖分,采用电磁场数值计算方法,计算每层版图中网格单元的电流密度;所述网格单元标识模块,用于基于每层版图中网格单元的电流密度,标识出电流密度超标的网格单元;所述超标区域边界标定模块,用于基于标识的电流密度超标的网格单元,采用邻居搜索方法标识出连通的网格单元,形成连通的网格单元区域,同时针对每个连通的网格单元区域,设置没有邻居网格单元的网格单元对应的边作为所述连通的网格单元区域的边界。
13.所述电流密度计算模块,包括电场模型简化单元、电位计算单元、电流密度计算单元,各单元依次连接;所述电场模型简化单元用于将多层集成电路直流电场的三维模型简化为多层直流电场二维模型,并对多层直流电场二维模型的各层集成电路版图进行网格剖分;所述电位计算单元用于对所述多层直流电场二维模型形成的微分方程对应的泛函在剖分的网格单元上进行离散,取极值并令极值为零得到有限元刚度矩阵方程组,对所述有限元刚度矩阵方程组进行求解,得到集成电路每层平板上的电位分布;所述电流密度计算单元用于根据所述集成电路每层平板上的电位分布,计算场域的电流密度分布,即每层版图中网格单元的电流密度。
14.所述网格单元标识模块,包括网格单元电流密度计算单元、网格单元状态判定单元;所述网格单元电流密度计算单元、网格单元状态判定单元依次顺序相连接;所述网格单元电流密度计算单元用于基于网格单元,利用场域的电流密度分布公式,计算得到所有层的每个网格单元的电流密度:
所述网格单元状态判定单元用于对所有层的每个网格单元,判断其电流密度是否大于预设的电流密度阈值,如果大于所述阈值,则设置所述网格单元的热点状态为hot,如果小于等于所述阈值,则设置热点状态为cold。
15.所述超标区域边界标定模块,包括邻居搜索算法单元;所述邻居搜索算法单元是通过如下步骤进行边界标定的:步骤s3.1:设置当前处理的热点区域为i=1,设置当前热点区域集合h为空,当前外围网格单元集合f为空,设置当前处理层序号为layer=1;步骤s3.2:对当前第layer层的所有网格单元,计算各网格单元的邻居网格单元;设置当前处理的网格单元v=1,设置当前电流密度最大值j
max
为0;设置当前标定边界集合bi为空;设置当前第layer层的所有网格单元处理状态为fresh;步骤s3.3:检查第v个网格单元的状态;步骤s3.3.a:如果所述第v个网格单元的处理状态为done,或热点状态为cold,设置v=v 1,转入步骤s3.4;步骤s3.3.b:比较所述第v个网格单元的电流密度j
v 与当前电流密度最大值j
max
,jv》j
max
,则更新j
max
,使得j
max
=jv;jv《=j
max
,则j
max
不变;步骤s3.3.b.1:将所述第v个网格单元加入到当前外围网格单元集合f中去;步骤s3.3.b.2:判断集合f是否为空,如果集合f为空,将当前j
max
作为当前热点区域hi的最大电流密度,当前标定边界集合bi作为当前热点区域hi的标定边界,增加hi到集合h,重置当前电流密度最大值j
max
为0,设置i=i 1,设置当前标定边界集合bi为空,设置当前热点区域集合h为空,设置v=v 1,转入步骤s3.4;步骤s3.3.b.3:如果集合f不为空,取出集合f中的任一个网格单元p,并把所述网格单元p从集合f中删除;步骤s3.3.b.4:判断所述网格单元p的处理状态,如果所述网格单元p的处理状态为done,转入步骤s3.3.b.2;步骤s3.3.b.5:找到网格单元p的nbr个邻居网格单元p1,p2,pk,...p
nbr
,,k表示网格单元p的第k个棱边,nbr为网格单元p的棱边总个数,pk表示共用网格单元p的第k条棱边的邻居网格单元,设置所述网格单元p的处理状态为done,k=1;步骤s3.3.b.6:判断pk是否等于零,当pk等于零, 表示没有与所述网格单元p的第k条棱边共用棱边的网格单元,将所述网格单元p第k条棱边加入到当前标定边界集合bi中去,转入步骤s3.3.b.10;步骤s3.3.b.7:判断pk处理状态, 如果pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.8:判断pk的热点状态,如果pk的热点状态为cold,将所述网格单元p的第k条棱边加入到当前标定边界集合bi中去,设定pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.9:将pk加入到当前外围网格单元集合f中去,比较pk的电流密度与当前电流密度最大值j
max
大小,如果pk的电流密度不大于当前电流密度最大值j
max
,j
max
不更新,如果pk的电流密度大于当前电流密度最大值j
max
,更新j
max
为pk的电流密度;步骤s3.3.b.10:设置k=k 1,判断k是否大于nbr,若k大于nbr则转入步骤s3.3.b.2,k若不大于nbr,则转到步骤s3.3.b.6;
步骤s3.4:比较v与当前第layer层的网格单元数量的大小,如果v《当前第layer层的网格单元数量,转入步骤s3.3;步骤s3.5:设置layer=layer 1;步骤s3.6:比较layer与集成电路总层数的大小,如果layer《=集成电路总层数,转入步骤s3.2;步骤s3.7:退出流程,算法结束。
16.本技术所达到的有益效果:本技术解决了集成电路版图形状复杂时,传统电流密度标定方法不再有效,电流密度超标区域不能精确标定问题,有助于大规模集成电路版图优化和整改。
附图说明
17.图1为本技术实施例的一种集成电路版图电流密度超标区域标定方法流程图;图2为本技术实施例的计算每层版图中网格单元的电流密度流程图;图3为本技术实施例的标识出电流密度超标的网格单元流程图;图4(a)为边界流程图中a区域图;图4(b)为边界流程图中b区域图;图4(c)为边界流程图中c区域图;图5为本技术实施例的集成电路版图某层的局部网格剖分与热点三角形单元分布图;图6热点区域采用传统标定方法标定效果图;图7热点区域采用本发明精确标定方法的标定效果图;图8为本技术实施例的一种集成电路版图电流密度超标区域标定系统原理框图。
具体实施方式
18.下面结合附图对本技术作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本技术的保护范围。
19.第一方面,本技术提出一种集成电路版图电流密度超标区域标定方法,如图1所示,包括如下步骤:步骤s1:对集成电路版图进行网格剖分,采用电磁场数值计算方法,计算每层版图中网格单元的电流密度;步骤s2:基于每层版图中网格单元的电流密度,标识出电流密度超标的网格单元;步骤s3:基于标识的电流密度超标的网格单元,采用邻居搜索方法标识出连通的网格单元,形成连通的网格单元区域,同时针对每个连通的网格单元区域,设置没有邻居网格单元的网格单元对应的边作为所述连通的网格单元区域的边界,所述连通的网格单元区域即为超标区域。
20.考虑到多层集成电路封装的板尺寸远大于板的厚度和板间距,可以认为,直流电场在板的厚度方向是不变的,由此将所述多层集成电路直流电场的三维模型简化为多层直流电场二维模型;所述多层集成电路也可包括多层超大规模集成电路。
21.所述步骤s1中计算每层版图中网格单元的电流密度,如图2所示,主要包括以下步骤:
步骤s1.1:将多层集成电路直流电场的三维模型简化为多层直流电场二维模型,并对多层直流电场二维模型的各层集成电路版图进行网格剖分;多层集成电路直流电场的三维模型是指所述多层直流电场二维模型中电导率、电位u的分布均为三维空间坐标(x,y,z)的函数,即:,,其满足以下方程(1)及边界条件(2):
ꢀꢀ
(1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)式(2)中,为第一类边界,n为第二类边界的法向,为电位u在第一类边界上的值,用表示,为外部电路的体电流密度。
22.针对所述多层集成电路直流电场的三维模型,建立各层集成电路直流电场二维模型的泛函:(3)式中,所述h为金属层的厚度,为网格单元e的电导率;为网格单元e的电位;为网格单元e的面,为外部激励产生的表面电流密度,所述i(u)为泛函,表示网格单元e的棱边;步骤s1.2:对所述多层直流电场二维模型形成的微分方程对应的泛函在剖分的网格单元上进行离散,取极值并令极值为零得到有限元刚度矩阵方程组,对所述有限元刚度矩阵方程组进行求解,得到集成电路每层平板上的电位分布;步骤s1.3:根据所述集成电路每层平板上的电位分布,计算场域的电流密度分布,即每层版图中网格单元的电流密度:
ꢀꢀꢀꢀ
(4)式中,j为电流密度,e为电场强度,为电导率,为梯度算子,u为求解的电位场;所述步骤s2中基于每层版图中网格单元的电流密度,标识出电流密度超标的网格单元,如图3所示,主要步骤如下:
步骤s2.1:基于网格单元,利用场域的电流密度分布公式,计算得到所有层的每个网格单元的电流密度;所述网格单元为包括三角形、凸四边形等任一形状组成的单元。
23.本领域技术人员通常采用三角形单元或者凸四边形单元作为网格单元进行实施,但以其它形状作为网格单元,是本技术技术人员自然能想到的,其它公式推导过程本技术不再赘述,故无论以何种形状作为网格单元均属于本技术的保护范围,现以三角形单元作为网格单元实施具体计算如下:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)式中,为第e个单元第m个顶点的电位,nm为网格单元的形状函数。其中,,为网格单元的面积,am, bm, cm为网格单元顶点坐标相关的系数。
24.式中,(x
m ym),m=1,2,3为网格单元三个顶点的坐标。
25.以凸四边形单元作为网格单元,其计算公式如下:对于凸四边形单元,首先,采用坐标变换,将任意凸四边形变换到4个顶点坐标分别为(ξ1,η1)=(-1,-1), (ξ2,η2)= (1,-1), (ξ3,η3)= (1,1), (ξ4,η4)= (-1,1)的标准矩形,其网格单元的电流密度计算公式如下:
ꢀꢀꢀꢀ
(6)式中,为第e个单元第m个顶点的电位,nm为四边形单元的形状函数,其中,jac为从坐标系(x,y)变换到坐标系(ξ,η)的坐标变换矩阵:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)(jac)-1
为jac的逆矩阵。
26.步骤s2.2:对所有层的每个网格单元,判断其电流密度是否大于预设的电流密度
阈值,如果大于所述阈值,则设置所述网格单元的热点状态为hot,如果小于等于所述阈值,则设置热点状态为cold。
27.所述步骤s3中为了标定当前电流密度超标的网格单元所组成热点区域的边界,设立规则为:记所有热点状态为hot的网格单元存入的集合为热点区域集合h,记当前热点区域集合h中,至少有一个邻居网格单元为0或邻居网格单元的热点状态为cold的网格单元组成的集合为外围网格单元集合f,记标定当前热点区域的边界形成的集合为边界集合b中,将连通的网格单元区域的电流密度最大值设置为j
max
,将每层版图的层序号设置为layer;网格单元t的第k个(k=1,2,

nbr)邻居网格单元定义为共用网格单元t第k个棱边的网格单元,通常先对当前层的所有网格单元进行编号(编号从1开始),则网格单元的邻居编号对应邻居网格单元编号。例如网格单元为三角形单元t情况下,若其编号为10,其周围三个三角形单元的编号分别为1、4、8,那么第10个三角形单元的三个邻居网格单元分别为1、4、8,且编号为1、4、8的三角形单元均有一个共同的邻居三角形单元10。如果三角形单元t第k个棱边不存在与之共用棱边的三角形单元,那么该三角形单元t的第k个邻居三角形单元定义为0。
28.由此所述步骤s3,具体包括如下步骤:步骤s3.1:设置当前处理的热点区域为i=1,设置当前热点区域集合h为空,当前外围网格单元集合f为空,设置当前处理层序号为layer=1;步骤s3.2:对当前第layer层的所有网格单元,计算各网格单元的邻居网格单元;设置当前处理的网格单元v=1,设置当前电流密度最大值j
max
为0;设置当前标定边界集合bi为空;设置当前第layer层的所有网格单元处理状态为fresh;步骤s3.3:检查第v个网格单元的状态;步骤s3.3.a:如果所述第v个网格单元的处理状态为done,或热点状态为cold,设置v=v 1,转入步骤s3.4;步骤s3.3.b:如果所述第v个网格单元的热点状态为hot,且所述网格单元的处理状态为fresh,比较所述第v个网格单元的电流密度j
v 与当前电流密度最大值j
max
,jv》j
max
,则更新j
max
,使得j
max
=jv;jv《=j
max
,则j
max
不变;步骤s3.3.b.1:将所述第v个网格单元加入到当前外围网格单元集合f中去;步骤s3.3.b.2:判断集合f是否为空,如果集合f为空,将当前j
max
作为当前热点区域hi的最大电流密度,当前标定边界集合bi作为当前热点区域hi的标定边界,增加hi到集合h,重置当前电流密度最大值j
max
为0,设置i=i 1,设置当前标定边界集合bi为空,设置当前热点区域集合h为空,设置v=v 1,转入步骤s3.4;步骤s3.3.b.3:如果集合f不为空,取出集合f中的任一个网格单元p,并把所述网格单元p从集合f中删除;步骤s3.3.b.4:判断所述网格单元p的处理状态,如果所述网格单元p的处理状态为done,转入步骤s3.3.b.2;步骤s3.3.b.5:找到网格单元p的nbr个邻居网格单元p1,p2,pk,...p
nbr
,,k表示网格单元p的第k个棱边,nbr为网格单元p的棱边总个数,pk表示共用网格单元p的第k条棱边的邻居网格单元,设置所述网格单元p的处理状态为done,k=1;步骤s3.3.b.6:判断pk是否等于零,当pk等于零, 表示没有与所述网格单元p的第k
条棱边共用棱边的网格单元,将所述网格单元p第k条棱边加入到当前标定边界集合bi中去,转入步骤s3.3.b.10;步骤s3.3.b.7:判断pk处理状态, 如果pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.8:判断pk的热点状态, 如果pk的热点状态为cold,将所述网格单元p的第k条棱边加入到当前标定边界集合bi中去,设定pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.9:将pk加入到当前外围网格单元集合f中去,比较pk的电流密度与当前电流密度最大值j
max
大小,如果pk的电流密度不大于当前电流密度最大值j
max
,j
max
不更新,如果pk的电流密度大于当前电流密度最大值j
max
,更新j
max
为pk的电流密度;步骤s3.3.b.10:设置k=k 1,判断k是否大于nbr,若k大于nbr则转入步骤s3.3.b.2,k若不大于nbr,则转到步骤s3.3.b.6;步骤s3.4:比较v与当前第layer层的网格单元数量的大小,如果v《当前第layer层的网格单元数量,转入步骤s3.3;步骤s3.5:设置layer=layer 1;步骤s3.6:比较layer与集成电路总层数的大小,如果layer《=集成电路总层数,转入步骤s3.2;步骤s3.7:退出流程,算法结束。
29.现以三角形单元作为网格单元,具体实施方法如下:首先设立规则为:记所有热点状态为hot的三角形单元存入的集合为热点区域集合h,记当前热点区域集合h中,至少有一个邻居三角形单元为0或邻居三角形单元的处理状态为fresh的三角形单元组成的集合为外围三角形单元集合f,记标定当前热点区域的边界形成的集合为边界集合b中,将连通的三角形单元区域的电流密度最大值设置为j
max
,将每层版图的层序号设置为layer;三角形单元t的第k个(k=1,2,3)邻居三角形单元定义为共用三角形单元t第k个棱边的三角形单元,通常先对当前层的所有三角形单元进行编号(编号从1开始),则三角形单元的邻居三角形单元编号对应邻居三角形单元编号,如三角形单元t的编号为10,其周围三个三角形单元的编号分别为1、4、8,那么第10个三角形单元的三个邻居三角形单元分别为1、4、8,且编号为1、4、8的三角形单元均有一个共同的邻居三角形单元10。如果三角形单元t第k个棱边不存在与之共用棱边的三角形单元,那么该三角形单元t的第k个邻居三角形单元定义为0。
30.由此所述步骤s3;如图4(a)、图4(b)、图4(c),因该流程图过大故将其分为三个部分,具体包括如下步骤:步骤s3.1:设置当前处理的热点区域为i=1,设置当前热点区域集合h为空,当前外围三角形单元集合f为空,设置当前处理层序号为layer=1;步骤s3.2:对当前第layer层的所有三角形单元,计算各三角形单元的邻居三角形单元;设置当前处理的三角形单元v=1,设置当前电流密度最大值j
max
为0;设置当前标定边界集合bi为空;设置当前第layer层的所有三角形单元处理状态为fresh;步骤s3.3:检查第v个三角形单元的状态;步骤s3.3.a:如果所述第v个三角形单元的处理状态为done,或热点状态为cold,设置v=v 1,转入步骤s3.4;
步骤s3.3.b:如果所述第v个三角形单元的热点状态为hot,且所述三角形单元的处理状态为fresh,比较所述第v个三角形单元的电流密度j
v 与当前电流密度最大值j
max
,jv》j
max
,则更新j
max
,使得j
max
=jv;jv《=j
max
,则j
max
不变;步骤s3.3.b.1:将所述第v个三角形单元加入到当前外围三角形单元集合f中去;步骤s3.3.b.2:判断集合f是否为空,如果集合f为空,将当前j
max
作为当前热点区域hi的最大电流密度,当前标定边界集合bi作为当前热点区域hi的标定边界,增加hi到集合h,重置当前电流密度最大值j
max
为0,设置i=i 1,设置当前标定边界集合bi为空,设置当前热点区域集合h为空,设置v=v 1,转入步骤s3.4;步骤s3.3.b.3:如果集合f不为空,取出集合f中的任一个三角形单元p,并把所述三角形单元p从集合f中删除;步骤s3.3.b.4:判断所述三角形单元p的处理状态,如果所述三角形单元p的处理状态为done,转入步骤s3.3.b.2;步骤s3.3.b.5:若所述三角形单元p的处理状态为fresh,找到三角形单元p的邻居三角形单元pk,设置k=1,k表示三角形单元p的第k个棱边,pk表示共用三角形单元p第k条棱边的邻居三角形单元,设置所述三角形单元p的处理状态为done;步骤s3.3.b.6:判断pk是否等于零,当pk等于零,表示没有与所述三角形单元p的第k条棱边共用棱边的三角形单元,将所述三角形单元p第k条棱边加入到当前标定边界集合bi中去,转入步骤s3.3.b.10;步骤s3.3.b.7:当pk不等于零,判断pk处理状态, 如果pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.8:若pk的处理状态为fresh,判断pk的热点状态, 如果pk的热点状态为cold,将所述三角形单元p的第k条棱边加入到当前标定边界集合bi中去,设定pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.9:如果pk热点状态为hot,将pk加入到当前外围三角形单元集合f中去,比较pk的电流密度与当前电流密度最大值j
max
大小,如果pk的电流密度不大于当前电流密度最大值j
max
,j
max
不更新,如果pk的电流密度大于当前电流密度最大值j
max
,更新j
max
为pk的电流密度;步骤s3.3.b.10:设置k=k 1,判断k是否大于3,若k大于3则转入步骤s3.3.b.2,k若不大于3,则转到步骤s3.3.b.6;步骤s3.4:比较v与当前第layer层的三角形单元数量的大小,如果v《当前第layer层的三角形单元数量,转入步骤s3.3;步骤s3.5:如果v=当前第layer层的三角形单元数量,设置layer=layer 1;步骤s3.6:比较layer与集成电路总层数的大小,如果layer《=集成电路总层数,转入步骤s3.2;步骤s3.7:如果layer》集成电路总层数,退出流程,算法结束。
31.采用如上所述的方法进行标定,得到结果如图5所示的一个集成电路版图某层的局部网格剖分示意图,阴影部分的三角形单元的状态为hot,没有阴影的三角形单元的状态为cold,作为对比图图6为常规的采用矩形方框标定的电流密度超标区域,从图6中可以看出,采用常规标定方法包括了许多cold区域,其标定结果是不准确的。图7为采用本技术的
方法标定的电流密度超标的区域,从图7中能够准确标定电流密度超标区域。
32.第二方面,本技术提出一种集成电路版图电流密度超标区域标定系统,如图8所示,包括:电流密度计算模块、网格单元标识模块、超标区域边界标定模块; 所述电流密度计算模块、网格单元标识模块、超标区域边界标定模块依次顺序相连接;所述电流密度计算模块,用于对集成电路版图进行网格剖分,采用电磁场数值计算方法,计算每层版图中网格单元的电流密度;所述网格单元标识模块,用于基于每层版图中网格单元的电流密度,标识出电流密度超标的网格单元;所述超标区域边界标定模块,用于基于标识的电流密度超标的网格单元,采用邻居搜索方法标识出连通的网格单元,形成连通的网格单元区域,同时针对每个连通的网格单元区域,设置没有邻居网格单元的网格单元对应的边作为所述连通的网格单元区域的边界。
33.所述电流密度计算模块,包括电场模型简化单元、电位计算单元、电流密度计算单元;各单元依次连接;所述电场模型简化单元用于将多层集成电路直流电场的三维模型简化为多层直流电场二维模型,并对多层直流电场二维模型的各层集成电路版图进行网格剖分;所述电位计算单元用于对所述多层直流电场二维模型形成的微分方程对应的泛函在剖分的网格单元上进行离散,取极值并令极值为零得到有限元刚度矩阵方程组,对所述有限元刚度矩阵方程组进行求解,得到集成电路每层平板上的电位分布;所述电流密度计算单元用于根据所述集成电路每层平板上的电位分布,计算场域的电流密度分布,即每层版图中网格单元的电流密度。
34.所述网格单元标识模块,包括网格单元电流密度计算单元、网格单元状态判定单元;所述网格单元电流密度计算单元、网格单元状态判定单元依次顺序相连接;所述网格单元电流密度计算单元用于基于网格单元,利用场域的电流密度分布公式,计算得到所有层的每个网格单元的电流密度;所述网格单元状态判定单元用于对所有层的每个网格单元,判断其电流密度是否大于预设的电流密度阈值,如果大于所述阈值,则设置所述网格单元的热点状态为hot,如果小于等于所述阈值,则设置热点状态为cold。
35.所述超标区域边界标定模块,包括邻居搜索算法单元;所述邻居搜索算法单元是通过如下步骤进行边界标定的:步骤s3.1:设置当前处理的热点区域为i=1,设置当前热点区域集合h为空,当前外围网格单元集合f为空,设置当前处理层序号为layer=1;步骤s3.2:对当前第layer层的所有网格单元,计算各网格单元的邻居网格单元;设置当前处理的网格单元v=1,设置当前电流密度最大值j
max
为0;设置当前标定边界集合bi为空;设置当前第layer层的所有网格单元处理状态为fresh;步骤s3.3:检查第v个网格单元的状态;步骤s3.3.a:如果所述第v个网格单元的处理状态为done,或热点状态为cold,设置v=v 1,转入步骤s3.4;步骤s3.3.b:如果所述第v个网格单元的热点状态为hot,且所述网格单元的处理
状态为fresh,比较所述第v个网格单元的电流密度j
v 与当前电流密度最大值j
max
,jv》j
max
,则更新j
max
,使得j
max
=jv;jv《=j
max
,则j
max
不变;步骤s3.3.b.1:将所述第v个网格单元加入到当前外围网格单元集合f中去;步骤s3.3.b.2:判断集合f是否为空,如果集合f为空,将当前j
max
作为当前热点区域hi的最大电流密度,当前标定边界集合bi作为当前热点区域hi的标定边界,增加hi到集合h,重置当前电流密度最大值j
max
为0,设置i=i 1,设置当前标定边界集合bi为空,设置当前热点区域集合h为空,设置v=v 1,转入步骤s3.4;步骤s3.3.b.3:如果集合f不为空,取出集合f中的任一个网格单元p,并把所述网格单元p从集合f中删除;步骤s3.3.b.4:判断所述网格单元p的处理状态,如果所述网格单元p的处理状态为done,转入步骤s3.3.b.2;步骤s3.3.b.5:找到网格单元p的nbr个邻居网格单元p1,p2,pk,...p
nbr
,,k表示网格单元p的第k个棱边,nbr为网格单元p的棱边总个数,pk表示共用网格单元p的第k条棱边的邻居网格单元,设置所述网格单元p的处理状态为done,k=1;步骤s3.3.b.6:判断pk是否等于零,当pk等于零,表示没有与所述网格单元p的第k条棱边共用棱边的网格单元,将所述网格单元p第k条棱边加入到当前标定边界集合bi中去,转入步骤s3.3.b.10;步骤s3.3.b.7:判断pk处理状态, 如果pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.8:判断pk的热点状态, 如果pk的热点状态为cold,将所述网格单元p的第k条棱边加入到当前标定边界集合bi中去,设定pk的处理状态为done,转入步骤s3.3.b.10;步骤s3.3.b.9:将pk加入到当前外围网格单元集合f中去,比较pk的电流密度与当前电流密度最大值j
max
大小,如果pk的电流密度不大于当前电流密度最大值j
max
,j
max
不更新,如果pk的电流密度大于当前电流密度最大值j
max
,更新j
max
为pk的电流密度;步骤s3.3.b.10:设置k=k 1,判断k是否大于nbr,若k大于nbr则转入步骤s3.3.b.2,k若不大于nbr,则转到步骤s3.3.b.6;步骤s3.4:比较v与当前第layer层的网格单元数量的大小,如果v《当前第layer层的网格单元数量,转入步骤s3.3;步骤s3.5:设置layer=layer 1;步骤s3.6:比较layer与集成电路总层数的大小,如果layer《=集成电路总层数,转入步骤s3.2;步骤s3.7:退出流程,算法结束。
36.显然,本发明的上述实例仅仅是为清楚地说明本发明所做的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献