CN102663166A - 一种片上供电网络仿真方法及系统 - Google Patents

一种片上供电网络仿真方法及系统 Download PDF

Info

Publication number
CN102663166A
CN102663166A CN2012100731722A CN201210073172A CN102663166A CN 102663166 A CN102663166 A CN 102663166A CN 2012100731722 A CN2012100731722 A CN 2012100731722A CN 201210073172 A CN201210073172 A CN 201210073172A CN 102663166 A CN102663166 A CN 102663166A
Authority
CN
China
Prior art keywords
supply network
alligatoring
operator
level
solution
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.)
Granted
Application number
CN2012100731722A
Other languages
English (en)
Other versions
CN102663166B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201210073172.2A priority Critical patent/CN102663166B/zh
Publication of CN102663166A publication Critical patent/CN102663166A/zh
Application granted granted Critical
Publication of CN102663166B publication Critical patent/CN102663166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种片上供电网络仿真方法及系统。该方法包括:步骤1,读入SPICE网表;步骤2,建立供电网络拓扑图;步骤3,建立矩阵方程Ax=b,其中A为n×n的电导矩阵,x为供电网络待求解的结点电压向量,b为电流,n为细网格点数;步骤4,利用网格点双重聚合算法求解粗化算子,并利用粗化算子求解矩阵方程。本发明提出一种更稳定、高效、占用内存更少、且具有线性复杂度的供电网络静态仿真方案,该方案可在在满足用户指定的求解精度情况下,以尽量少的运行时间、尽量少的内存消耗完成对指定SPICE网表格式的供电网络结点电压降分析。

Description

一种片上供电网络仿真方法及系统
技术领域
本发明涉及集成电路设计领域,尤其涉及一种片上供电网络仿真方法及系统。
背景技术
在超大规模集成电路中,各元器件正常工作的一个重要前提是其能得到正常的供电电压。而实际上,随着集成电路工艺尺寸的不断降低,平面工艺设计下的集成电路供电系统的网络阻抗显得越来越大,供电系统的金属走线上的电压降已经变得不可忽略,即元器件上得到的实际供电电压会小于外部的电源电压。如果供电网络上的电压降过大,就可能使元器件上得到的供电电压过低,导致元器件的时延增加,影响芯片性能,严重时还会引起逻辑错误。
随着集成电路设计要求与工艺制造能力的发展,供电网络的设计面临着越来越严峻的挑战,这主要体现在:一、芯片制造工艺尺寸不断降低,集成度越来越高,也即是芯片功率密度越来越大,对供电系统的能力提出了越来越高的要求;二、由于低功耗设计和散热方面的考虑,芯片供电电压越来越低,使得供电电压降阈值越来越低;三、由于晶体管的工作电压不断降低,使得其噪声容限变得越来越低,对供电电压降的波动更加敏感;四、供电系统的金属走线也越来越窄,进而使得单位长度上的电阻电容等寄生效应更加显著。因此,供电网络的性能已经成为集成电路设计与优化的一个重要瓶颈,日益受到学术界和工业界的重视。
高效、精确的供电网络分析方法,对供电网络的设计与优化有着重要的意义。在供电网络的设计过程中,仿真可以尽早地发现供电网络潜在的问题并进行调整,避免在设计后期再调整时带来很大的设计成本。而目前供电网络的优化流程一般都是迭代地进行的,即在当前设计的基础上根据仿真分析的结果进行调整,得到下一步的设计,重复这样的流程直到得到一个合理的设计结果,这种重复的仿真分析往往是设计过程中比较耗时的部分。因此,一个快速高效的供电网络仿真器则成为供电网络设计与优化的核心。
目前广泛使用的供电网络的拓扑结构是一个网格状的拓扑结构,供电网络的静态仿真分析是针对一个纯电阻网络模型,采用经典的结点分析方法,建立一个大规模的线性方程组,通过求解这个线性方程组得到所有结点的电压值,从而可以进一步分析各结点的电压降以及检查电流密度等。供电网络的瞬态分析通常是针对包含电阻、电容和电感的模型,将储能元件电容和电感进行离散化,离散化后的电容和电感元件都可以等效为一个常数电阻并联一个电流源,电流源的大小可以根据上一个时间点的仿真结果得到,通过求解每个时间点上的电路结点电压响应,即可得到供电网络结点电压的动态变化,因此供电网络的瞬态仿真即是一系列的静态仿真,实质上就是求解一系列的线性方程组。基于此,本发明只关注如何对供电网络进行快速的静态仿真分析。
供电网络可以看作由供电金属走线形成的电阻支路和金属走线交叉点形成的结点组成的网络,通过基尔霍夫电压定律和基尔霍夫电流定律,整个网络的电学特性满足一系列的线性方程组,此线性方程组可以形式化为矩阵方程,通过稀疏线性系统求解技术可以快速地得到该线性系统的待求向量,也即是供电网络中的结点电压向量。对于目前的高端数字芯片来说,其供电网络系统规模很大,一般在数十兆到数百兆之间,因此对求解器的性能有着很高的要求。传统的方法是采用SPICE仿真器,该仿真器采用LU分解技术对线性系统方程进行直接求解,对于目前数百万结点规模的供电网络仿真来说,其对内存的消耗是极为巨大的,无法对大规模的供电网络进行分析。供电网络系统形式化出来的矩阵方程的系数矩阵具有稀疏、对称、正定以及对角占优等良好性质,目前已有的供电网络分析方法包括多重网格方法、预条件共轭梯度法、层次化方法和随机行走等,但由于设计规模很大,上述方法仍然不能很好地满足实际设计需求。因此,工业界需要研发更高精度、更快速收敛而且更加稳定的供电网络仿真器。
发明内容
针对现有技术中存在的上述问题,本发明提供了一种片上供电网络仿真方法及系统。
本发明提供了一种片上供电网络仿真方法,包括:
步骤1,读入SPICE网表;
步骤2,建立供电网络拓扑图;
步骤3,建立矩阵方程Ax=b,其中A为n×n的电导矩阵,x为供电网络待求解的结点电压向量,b为电流,n为细网格点数;
步骤4,利用网格点双重聚合算法求解粗化算子,并利用粗化算子求解矩阵方程。
在一个示例中,网格点双重聚合算法包括:
步骤41,利用网格点单次聚合算法PWA(A,β)求得不相交集合Gi,其中i=1,...,n,nc为粗网格点数;
步骤42,求得不相交集合
Figure BDA0000144552530000031
并在代数层次上进行网格点聚合之后得到粗化层次k时的集合
Figure BDA0000144552530000032
其中i=1,2,...,
Figure BDA0000144552530000033
G 1 ( 2 ) , . . . , G n c 1 ( 2 ) = PWA ( A ( 1 ) , β ) , a ij ( 1 ) = Σ k ∈ G i ( 1 ) Σ l ∈ G j ( 1 ) a kl , G 1 ( 1 ) , . . . , G n c 1 ( 1 ) = PWA ( A , β ) , β为强连接耦合因子; A ( 1 ) = Σ k ∈ G i ( 1 ) Σ l ∈ G j ( 1 ) a kl ;
步骤43,计算粗化算子 P ij k = 1 ifi ∈ G j k , 0 otherwise , i=1,...,nk;j=1,...,
Figure BDA0000144552530000039
在一个示例中,利用粗化算子求解矩阵方程包括:
步骤44,按照下述公式迭代求解矩阵方程:
α k = r k T z k p k T Ap k ;
xk+1=xkkpk
rk+1=rkkApk
如果rk+1<ε则终止迭代并输出供电网络待求解的结点电压向量xk+1,否则继续迭代,ε为预设值;
步骤45,按照下述公式更变参数:
zk+1=AMGprcond(rk+1);
β k = z k + 1 T r k + 1 z k T r k ;
pk+1=zk+1kpk
k=k+1;
其中,在粗化层次k上的残差向量rk、结点电压向量zk和粗化算子pk的初始化值分别为:r0=b-Ax0,z0=AMGprcond(r0),p0=z0;粗化层次k的初始化值为k=0;
AMGprecond(rk,k)为代数多重网格,用于在粗化层次k上对残差向量rk进行预处理。
在一个示例中,zk=vk+yk+wk,其中Akvk=rk
Figure BDA0000144552530000042
Figure BDA0000144552530000043
Ak-1yk-1=rk-1,yk-1=AMGprecond(rk-1,k-1),yk=Pkyk-1
Figure BDA0000144552530000044
Ak为粗化层次k上的系数矩阵。
在一个示例中,该方法还包括:
步骤5,打印求解后的结点电压向量到指定文件中;
步骤6,利用测试实例测试的运行时间和内存消耗情况;
步骤7,利用测试实例测试的运行时间和内存消耗情况随问题规模增长而增长的趋势。
本发明提供了一种片上供电网络仿真系统,包括:
SPICE网表解析器,用于读入SPICE网表;
电路构建器,用于建立供电网络拓扑图;
线性系统求解器,用于建立矩阵方程Ax=b,其中A为n×n的电导矩阵,x为供电网络待求解的结点电压向量,b为电流,n为细网格点数;利用网格点双重聚合算法求解粗化算子,并利用粗化算子求解矩阵方程。
在一个示例中,
线性系统求解器,用于利用网格点单次聚合算法PWA(A,β)求得不相交集合Gi,其中i=1,....,nc,nc为粗网格点数;用于求得不相交集合并在代数层次上进行网格点聚合之后得到粗化层次k时的集合
Figure BDA0000144552530000052
其中i=1,2,...,
Figure BDA0000144552530000053
G 1 ( 2 ) , . . . , G n c 1 ( 2 ) = PWA ( A ( 1 ) , β ) , a ij ( 1 ) = Σ k ∈ G i ( 1 ) Σ l ∈ G j ( 1 ) a kl , G 1 ( 1 ) , . . . , G n c 1 ( 1 ) = PWA ( A , β ) , β为强连接耦合因子; A ( 1 ) = Σ k ∈ G i ( 1 ) Σ l ∈ G j ( 1 ) a kl ; 用于计算粗化算子 P ij k = 1 ifi ∈ G j k , 0 otherwise , i = 1 , . . . , n k ; j = 1 , . . . , n c k .
在一个示例中,线性系统求解器按照下述公式迭代求解矩阵方程:
α k = r k T z k p k T Ap k ;
xk+1=xkkpk
rk+1=rkkApk
如果rk+1<ε则终止迭代并输出供电网络待求解的结点电压向量xk+1,否则继续迭代;
按照下述公式更变参数:
zk+1=AMGprcond(rk+1);
β k = z k + 1 T r k + 1 z k T r k ;
pk+1=zk+1kpk
k=k+1;
其中,在粗化层次k上的残差向量rk、结点电压向量zk和粗化算子pk的初始化值分别为:r0=b-Ax0,z0=AMGprcond(r0),p0=z0粗化层次k的初始化值为k=0,ε为预设值;
AMGprecond(rk,k)为代数多重网格作为预处理子,用于在粗化层次k上对残差向量rk进行预处理。
在一个示例中,zk=vk+yk+wk,其中Akvk=rk
Figure BDA00001445525300000511
Figure BDA00001445525300000512
Ak-1yk-1=rk-1,yk-1=AMGprecond(yk-1,k-1),yk=Pkyk-1
Figure BDA0000144552530000061
Ak为粗化层次k上的系数矩阵。
在一个示例中,该仿真系统还包括:
打印模块,打印求解后的结点电压向量到指定文件中;
运行时间和内存消耗测试模块,用于利用测试实例测试的运行时间和内存消耗情况;以及利用测试实例测试的运行时间和内存消耗情况随问题规模增长而增长的趋势。
本发明提出一种更稳定、高效、占用内存更少、且具有线性复杂度的供电网络静态仿真方案,该方案可在在满足用户指定的求解精度情况下,以尽量少的运行时间、尽量少的内存消耗完成对指定SPICE网表格式的供电网络结点电压降分析。
附图说明
下面结合附图来对本发明作进一步详细说明,其中:
图1是本发明的仿真流程示意图;
图2是本发明的AMG-PCG算法流程示意图;
图3是本发明的网格聚合示意图;
图4是本发明的K-Cycle多重网格策略示意图;
图5是测试电路ibmpg3-bmpgnew1的运行时间和内存消耗示意图
图6和图7是本发明的测试电路thupg1-thupg10运行时间和内存消耗随求解问题规模的增长而增长的趋势示意图。
具体实施方式
本发明提供了一个具有线性复杂度的片上供电网络仿真系统,其中包括一个高效的SPICE网表解析器,一个高效的电路构建器,以及一个快速的线性系统求解器。利用这个仿真系统,可以对SPICE网表格式的供电网络进行快速精确的静态电压降分析,并且具有很好的收敛稳定性。该供电网络仿真系统首先读取SPICE格式的网表,将供电网络中的电学元件以及结点信息存储到数据结构中,然后将供电网络建立成仿真矩阵以及右端电流向量,最后采用一个基于代数多网格作为预处理子的共轭梯度算法求解供电网络结点电压向量,并将其输出。
下面参照附图对本发明进行详细描述。
本发明提供的片上供电网络仿真方法如图1所示,包括:
步骤1,读入SPICE网表;通过扫描SPICE网表,将电路中的电阻与结点建立起邻接表的关系。
步骤2,建立供电网络拓扑图;首先处理电路中的诸如结点短路或者是通孔电阻过小的情况,采用并查集的技术将上述结点进行等效,然后将每个等效后的结点所代表的原始结点上挂载的吸纳电流源进行合并,再将等效后的结点与未被忽略的电阻建立成连接拓扑图,最后识别出该图中的所有连通分支并将此子图作为独立子电路的连接拓扑图。
步骤3,建立矩阵方程;根据结点分析方法将供电网络形式化为一个矩阵方程,其系数矩阵A是一个稀疏、对称、正定的矩阵。如果gij定义了结点i与结点j之间的电导值,也即gij=gji,因此系数矩阵A具有对称性,而其对角元素
Figure BDA0000144552530000071
其中Ni={j|gij≠0}表示与结点i相连接的结点的集合。同时,根据吸纳电流源与供电PAD电压源形成了右端项b,其中挂载有电流源的节点对应的分量直接从网表中可以取出,与PAD相连的节点对应的向量通过诺顿等效之后可以得到相应的电流值。如果记供电网络待求解的结点电压向量x,则供电网络的分析即是求解矩阵方程Ax=b。
步骤4,求解矩阵方程,具体包括:
步骤4.1,构建多重网格映射的粗化因子;
步骤4.2,进行基于网格点聚合的代数多重网格隐式预处理子到共轭梯度过程。
步骤4.1包括:步骤4.1.1,网格点聚合,以及步骤4.1.2,形成粗化算子。
网格点聚合是一种网格粗化的方法,也即是将网格点划分为若干个不相交集合,构造相应的映射矩阵因子,方便于每次网格映射操作。网格点聚合的原则是将具有强连接的结点划分为同一个集合内,划分后的子集作为粗网格的一个网格点,粗化映射矩阵定义了粗网格与细网格之间的映射关系,也叫做粗化算子,记为P。
粗化原则是根据电路的连接性强弱,对于两个结点来说,它们之间的电导值越大,连接性越强,比如对于结点i,选取与它相连的结点中与它之间的电导值aij最大的那个结点j进行合并,定义一个强连接耦合因子β,定义集合为Si结点i的强连接集合
S i = { j &NotEqual; i | a ij < - &beta; max a ik < 0 | a ik | }
将与结点i相连的满足上述强连接条件的结点放入集合Si,如果没有这种结点,则结点i自己被划为一个单独子集。上述粗化处理相当于选取了那些对相邻结点影响大的结点作为粗网格的代表结点,在误差消除的角度上可以实现快速消除误差。
步骤4.1.1中,首先进行网格点单次聚合算法,具体如下:
算法:网格点单次聚合算法PWA(An×n,β);
输入:n×n规模的电导矩阵An×n
强连接耦合因子β,默认时β=0.25;
输出:划分后的不相交集合Gi,其中i=1,...,nc,对于任意i≠j,
Figure BDA0000144552530000082
定义:对于所有的i,满足 S i = { j &NotEqual; i | a ij < - &beta; max a ik < 0 | a ik | } , 其中aij表示矩阵A的第i行第j列的元素,
初始化:未被标记的结点集合记作U=[1,n],其中n为网格粗化的层数;
nc=0;
对于所有的i,mi=|{j∈U|i∈Si}|;
算法流程:
Figure BDA0000144552530000084
时,执行:
选取具有最小mi的结点i∈U;
nc=nc+1;
选取满足
Figure BDA0000144552530000085
的结点j∈U;
如果j∈Si,那么 G n c = { i , j } ;
否则 G n c = { i } ;
从集合U中去除掉集合
对所有的
Figure BDA0000144552530000094
如果l∈Sk则更新ml=ml-1;
结束。
在进行上述聚合过程之后,形成了每个层次网格之间的映射算子P,记细网格的网格点数为n,粗网格的网格点数为nc,那么P就是一个n×nc的每行只有一个非零元的0-1布尔矩阵,并且细化后的网格对应的电导矩阵与原始细网格对应的电导矩阵具有同样的稀疏性。
如果将电导矩阵G记作细网格矩阵Af,按照Galerkin原理,粗网格的电导矩阵即是
Ac=RAfP=PTAfP
其中Ac可以通过如下方式进行构造
( A c ) ij = &Sigma; k &Element; G i &Sigma; l &Element; G j a kl
也就是说,粗网格电导矩阵中的元素是由其对应的细网格格点子集内的格点对应的元素求和来形成的,因此粗化后的网格矩阵Ac与原始矩阵Af有着相同的稀疏性。如图3所示,9个网格点被聚合为四个独立的子集G1,G2,G3,G4,其粗化算子
P T = 1 2 3 4 5 6 7 8 9 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 &LeftArrow; G 1 &LeftArrow; G 2 &LeftArrow; G 3 &LeftArrow; G 4
原始网格电导矩阵为
g 12 + g 14 - g 12 0 - g 14 0 0 0 0 0 - g 12 g 12 + g 23 + g 25 - g 23 0 - g 25 0 0 0 0 0 - g 23 g 23 + g 36 0 0 - g 36 0 0 0 - g 14 0 0 g 14 + g 45 + g 47 - g 45 0 - g 47 0 0 0 - g 25 0 - g 45 g 25 + g 45 + g 56 + g 58 - g 56 0 - g 58 0 0 0 - g 36 0 - g 56 g 36 + g 56 + g 69 0 0 - g 69 0 0 0 - g 47 0 0 g 47 + g 78 - g 78 0 0 0 0 0 - g 58 0 - g 78 g 58 + g 79 + g 89 - g 89 0 0 0 0 0 - g 69 0 - g 89 g 69 + g 89
粗化后的电导矩阵变为
A c = P T AP = g 14 + g 25 + g 23 - g 14 - g 25 0 - g 23 - g 14 - g 25 g 14 + g 25 + g 47 + g 58 + g 56 - g 47 - g 58 - g 56 0 - g 47 - g 58 g 47 + g 58 + g 89 - g 89 - g 23 - g 56 - g 89 g 23 + g 56 + g 89
实际应用中,上述网格聚合算法的效率仍然不够快,本发明采用网格点双重聚合算法来对网格粗化进行加速,其具体实现过程如下:
算法:网格点双重聚合算法;
输入:An×n=(aij);
强连接耦合因子β=0.25;
输出:划分后的不相交集合Gi,其中i=1,...,nc,对于任意i≠j,
Figure BDA0000144552530000102
算法流程:
Figure BDA0000144552530000103
即调用网格点单次聚合算法;
计算 A n c 1 &times; n c 1 ( 1 ) : a ij ( 1 ) = &Sigma; k &Element; G i ( 1 ) &Sigma; l &Element; G j ( 1 ) a kl ;
G 1 ( 2 ) , . . . , G n c 1 ( 2 ) = PWA ( A ( 1 ) , &beta; ) ;
对于所有的i=1,...,nc,执行
G i = &cup; j &Element; G i ( 2 ) G j ( 1 ) ;
结束。
对形式化出来的电导矩阵在代数层次上进行网格点聚合之后,形成了一系列不同的不相交集合,记层次k时的集合系列为
Figure BDA0000144552530000107
其中i=1,2,...,
Figure BDA0000144552530000108
Figure BDA0000144552530000109
Figure BDA00001445525300001010
指的是首次聚合形成的子集,指的是第二次聚合形成的子集。A(1)为第二次聚合时的矩阵。
上述网格点的双重聚合算法可以实现一次最多聚合四个结点,加快了网格粗化的效率。上述网格粗化算法进行回溯,即可得到所有网格层次粗化时的映射算子。
步骤4.1.2中,根据上述一系列不同的不相交集合
Figure BDA00001445525300001012
其中i=1,2,...,
Figure BDA00001445525300001013
按照下述方法形成粗化算子Pk
P ij k = 1 ifi &Element; G j k , 0 otherwise , i = 1 , . . . , n k ; j = 1 , . . . , n c k ;
进行如下迭代算法:
算法:基于网格点聚合的代数多重网格预处理的共轭梯度算法;
输入:电导矩阵A,右端项b,残差阈值ε;
输出:结点电压向量x;
算法流程:
r0=b-Ax0
z0=AMGprcond(r0);
p0=z0
k=0;
执行循环:
&alpha; k = r k T z k p k T Ap k ;
xk+1=xkkpk
rk+1=rkkApk
如果rk+1<ε则终止循环并输出向量xk+1,否则继续如下过程:
zk+1=AMGprcond(rk+1);
&beta; k = z k + 1 T r k + 1 z k T r k ;
pk+1=zk+1kpk
k=k+1;
结束循环;
输出向量xk+1
其中隐式的预处理过程为如下K-Cycle的代数多重网格方法,如图4所示。
算法:AMGprecond(rk,k),代数多重网格作为预处理子,在粗化层次k上对残差向量rk进行预处理;
输入:粗化层次k上的系数矩阵Ak,残差向量rk以及粗化算子Pk
输出:预处理后的向量zk
算法流程:
对于Akvk=rk通过很少步的迭代,将残差向量rk转换为向量vk
计算残差向量
Figure BDA0000144552530000121
并将其映射到k-1层次的粗网格上 r k - 1 = P k T r ~ k ;
在粗网格k-1层次上近似求解Ak-1yk-1=rk-1,其实现过程是通过回溯的方法进行yk-1=AMGprecond(rk-1,k-1)直至k-1;
通过内插算子来计算yk=Pkyk-1,并求出新的残差向量
Figure BDA0000144552530000123
对于
Figure BDA0000144552530000124
通过很少步的迭代,将残差向量
Figure BDA0000144552530000125
转换为向量wk
计算预处理后的向量zk=vk+yk+wk
结束。
步骤5,打印结点电压向量xk+1到指定文件中。
步骤6,分别测试电路ibmpg3-ibmpgnew1,其运行时间和内存消耗情况如图5所示。
步骤7,分别测试电路thupg1-thupg10,其运行时间和内存消耗情况随问题规模的增长而增长的趋势如图6和图7所示。
本发明的仿真器采用C++语言实现,在一台Intel Xeon E5506CPU2.13Hz和24GB内存的Linux服务器上进行测试,测试实例采用美国IBM公司提供的实际设计中的供电网络ibmpg1-ibmpg6以及thupg1-thupg10。对上述实例,在保证0.01mV的求解精度下,可以快速求解得到供电网络的结点电压,并且运行时间和消耗内存随着实例规模的增长呈现出线性的增长关系,因此具有很好的收敛率稳定性。
以上所述仅为本发明的优选实施方式,但本发明保护范围并不局限于此。任何本领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改变或变化都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种片上供电网络仿真方法,其特征在于,包括:
步骤1,读入SPICE网表;
步骤2,建立供电网络拓扑图;
步骤3,建立矩阵方程Ax=b,其中A为n×n的电导矩阵,x为供电网络待求解的结点电压向量,b为电流,n为细网格点数;
步骤4,利用网格点双重聚合算法求解粗化算子,并利用粗化算子求解矩阵方程。
2.如权利要求1所述的片上供电网络仿真方法,其特征在于,网格点双重聚合算法包括:
步骤41,利用网格点单次聚合算法PWA(A,β)求得不相交集合Gi,其中i=1,...,nc,nc为粗网格点数;
步骤42,求得不相交集合并在代数层次上进行网格点聚合之后得到粗化层次k时的集合
Figure FDA0000144552520000012
其中i=1,2,...,
Figure FDA0000144552520000013
G 1 ( 2 ) , . . . , G n c 1 ( 2 ) = PWA ( A ( 1 ) , &beta; ) , a ij ( 1 ) = &Sigma; k &Element; G i ( 1 ) &Sigma; l &Element; G j ( 1 ) a kl , G 1 ( 1 ) , . . . , G n c 1 ( 1 ) = PWA ( A , &beta; ) , β为强连接耦合因子; A ( 1 ) = &Sigma; k &Element; G i ( 1 ) &Sigma; l &Element; G j ( 1 ) a kl ;
步骤43,计算粗化算子 P ij k = 1 ifi &Element; G j k , 0 otherwise , i = 1 , . . . , n k ; j = 1 , . . . , n c k .
3.如权利要求1所述的片上供电网络仿真方法,其特征在于,利用粗化算子求解矩阵方程包括:
步骤44,按照下述公式迭代求解矩阵方程:
&alpha; k = r k T z k p k T Ap k ;
xk+1=xkkpk
rk+1=rkkApk
如果rk+1<ε则终止迭代并输出供电网络待求解的结点电压向量xk+1,否则继续迭代,ε为预设值;
步骤45,按照下述公式更变参数:
zk+1=AMGprcond(rk+1);
&beta; k = z k + 1 T r k + 1 z k T r k ;
pk+1=zk+1kpk
k=k+1;
其中,在粗化层次k上的残差向量rk、结点电压向量zk和粗化算子pk的初始化值分别为:r0=b-Ax0,z0=AMGprcond(r0),p0=z0;粗化层次k的初始化值为k=0;
AMGprecond(rk,k)为代数多重网格,用于在粗化层次k上对残差向量rk进行预处理。
4.如权利要求3所述的片上供电网络仿真方法,其特征在于,zk=vk+yk+wk,其中Akvk=rk
Figure FDA0000144552520000022
Figure FDA0000144552520000023
Ak-1yk-1=rk-1,yk-1=AMGprecond(rk-1,k-1),yk=Pkyk-1
Figure FDA0000144552520000024
Ak为粗化层次k上的系数矩阵。
5.如权利要求1至4任意一项所述的片上供电网络仿真方法,其特征在于,该方法还包括:
步骤5,打印求解后的结点电压向量到指定文件中;
步骤6,利用测试实例测试的运行时间和内存消耗情况;
步骤7,利用测试实例测试的运行时间和内存消耗情况随问题规模增长而增长的趋势。
6.一种片上供电网络仿真系统,其特征在于,包括:
SPICE网表解析器,用于读入SPICE网表;
电路构建器,用于建立供电网络拓扑图;
线性系统求解器,用于建立矩阵方程Ax=b,其中A为n×n的电导矩阵,x为供电网络待求解的结点电压向量,b为电流,n为细网格点数;利用网格点双重聚合算法求解粗化算子,并利用粗化算子求解矩阵方程。
7.如权利要求6所述的片上供电网络仿真系统,其特征在于,
线性系统求解器,用于利用网格点单次聚合算法PWA(A,β)求得不相交集合Gi,其中i=1,...,nc,nc为粗网格点数;用于求得不相交集合
Figure FDA0000144552520000031
并在代数层次上进行网格点聚合之后得到粗化层次k时的集合
Figure FDA0000144552520000032
其中i=1,2,...,
Figure FDA0000144552520000033
G 1 ( 2 ) , . . . , G n c 1 ( 2 ) = PWA ( A ( 1 ) , &beta; ) , a ij ( 1 ) = &Sigma; k &Element; G i ( 1 ) &Sigma; l &Element; G j ( 1 ) a kl , G 1 ( 1 ) , . . . , G n c 1 ( 1 ) = PWA ( A , &beta; ) , β为强连接耦合因子; A ( 1 ) = &Sigma; k &Element; G i ( 1 ) &Sigma; l &Element; G j ( 1 ) a kl ; 用于计算粗化算子 P ij k = 1 ifi &Element; G j k , 0 otherwise , i = 1 , . . . , n k ; j = 1 , . . . , n c k .
8.如权利要求7所述的片上供电网络仿真系统,其特征在于,线性系统求解器利用粗化算子求解矩阵方程,具体是按照下述公式迭代求解矩阵方程:
&alpha; k = r k T z k p k T Ap k ;
xk+1=xkkpk
rk+1=rkkApk
如果rk+1<ε则终止迭代并输出供电网络待求解的结点电压向量xk+1,否则继续迭代;
按照下述公式更变参数:
zk+1=AMGprcond(rk+1);
&beta; k = z k + 1 T r k + 1 z k T r k ;
pk+1=zk+1kpk
k=k+1;
其中,在粗化层次k上的残差向量rk、结点电压向量zk和粗化算子pk的初始化值分别为:r0=b-Ax0,z0=AMGprcond(r0),p0=z0;粗化层次k的初始化值为k=0,ε为预设值;
AMGprecond(rk,k)为代数多重网格作为预处理子,用于在粗化层次k上对残差向量rk进行预处理。
9.如权利要求8所述的片上供电网络仿真系统,其特征在于,zk=vk+yk+wk,其中Akvk=rk
Figure FDA0000144552520000041
Figure FDA0000144552520000042
Ak-1yk-1=rk-1,yk-1=AMGprecond(rk-1,k-1),yk=Pkyk-1
Figure FDA0000144552520000043
Ak为粗化层次k上的系数矩阵。
10.如权利要求6至9任意一项所述的片上供电网络仿真系统,其特征在于,该仿真系统还包括:
打印模块,打印求解后的结点电压向量到指定文件中;
运行时间和内存消耗测试模块,用于利用测试实例测试的运行时间和内存消耗情况;以及利用测试实例测试的运行时间和内存消耗情况随问题规模增长而增长的趋势。
CN201210073172.2A 2011-12-08 2012-03-19 一种片上供电网络仿真方法及系统 Active CN102663166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210073172.2A CN102663166B (zh) 2011-12-08 2012-03-19 一种片上供电网络仿真方法及系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110406919.7 2011-12-08
CN201110406919 2011-12-08
CN201210073172.2A CN102663166B (zh) 2011-12-08 2012-03-19 一种片上供电网络仿真方法及系统

Publications (2)

Publication Number Publication Date
CN102663166A true CN102663166A (zh) 2012-09-12
CN102663166B CN102663166B (zh) 2015-10-28

Family

ID=46772657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210073172.2A Active CN102663166B (zh) 2011-12-08 2012-03-19 一种片上供电网络仿真方法及系统

Country Status (1)

Country Link
CN (1) CN102663166B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207941A (zh) * 2013-04-27 2013-07-17 清华大学 集成电路供电网络全参数模型下瞬态分析方法及系统
CN103886155A (zh) * 2014-03-28 2014-06-25 清华大学 一种多电压三维专用片上网络芯片的层划分方法
CN105451445A (zh) * 2014-08-29 2016-03-30 展讯通信(上海)有限公司 一种印刷电路板供电网络的设计方法
CN107169528A (zh) * 2017-06-06 2017-09-15 成都锐开云科技有限公司 一种基于机器学习的集成电路图像的通孔识别装置
CN107506526A (zh) * 2017-07-19 2017-12-22 清华大学 一种片上供电网络优化方法
CN110955942A (zh) * 2019-12-02 2020-04-03 南京九芯电子科技有限公司 一种半导体器件阈值电压仿真方法
CN112513861A (zh) * 2018-06-01 2021-03-16 Icee解决方案有限公司 使用并行处理进行层次电路模拟的方法和系统
CN113111619A (zh) * 2021-04-16 2021-07-13 清华大学 基于谱图稀疏化的供电网络仿真方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564321A (zh) * 2004-03-26 2005-01-12 清华大学 可处理vlsi中树网混合供电结构的高速高精度瞬态仿真方法
CN1799053A (zh) * 2003-05-30 2006-07-05 加利福尼亚大学董事会 使用代数多重网格方法的电路网络分析
CN101908087A (zh) * 2010-07-16 2010-12-08 清华大学 基于gpu的集成电路电源地线网络的并行仿真方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1799053A (zh) * 2003-05-30 2006-07-05 加利福尼亚大学董事会 使用代数多重网格方法的电路网络分析
CN1564321A (zh) * 2004-03-26 2005-01-12 清华大学 可处理vlsi中树网混合供电结构的高速高精度瞬态仿真方法
CN101908087A (zh) * 2010-07-16 2010-12-08 清华大学 基于gpu的集成电路电源地线网络的并行仿真方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JOSEPH N.KOZHAYA,ET AL.: "A Multigrid-Like Technique for Power Grid Analysis", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 *
K. STUBEN: "Algebraic Multigrid (AMG): An Introduction with Applications", 《GMD-REPORT 70》 *
KAI WANG,ET AL.: "On-chip Power-Supply Network Optimization Using Multigrid-Based Technique", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 *
YOUSEF SAAD: "《Iterative Methods for Sparse Linear Systems (Second Edition)》", 31 December 2003 *
YVAN NOTAY: "AGGERGATION-BASED ALGEBRAIC MULTILEVEL PRECONDITIONING", 《SIAM J. MATRIX ANAL. APPL》 *
YVAN NOTAY: "AN AGGERGATION-BASED ALGEBRAIC MULTIGRID METHOD", 《ELECTRONIC TRANSACTIONS ON NUMERICAL ANALYSIS》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207941A (zh) * 2013-04-27 2013-07-17 清华大学 集成电路供电网络全参数模型下瞬态分析方法及系统
CN103886155A (zh) * 2014-03-28 2014-06-25 清华大学 一种多电压三维专用片上网络芯片的层划分方法
CN105451445A (zh) * 2014-08-29 2016-03-30 展讯通信(上海)有限公司 一种印刷电路板供电网络的设计方法
CN107169528A (zh) * 2017-06-06 2017-09-15 成都锐开云科技有限公司 一种基于机器学习的集成电路图像的通孔识别装置
CN107169528B (zh) * 2017-06-06 2020-01-07 成都芯云微电子有限公司 一种基于机器学习的集成电路图像的通孔识别装置
CN107506526A (zh) * 2017-07-19 2017-12-22 清华大学 一种片上供电网络优化方法
CN112513861A (zh) * 2018-06-01 2021-03-16 Icee解决方案有限公司 使用并行处理进行层次电路模拟的方法和系统
CN112513861B (zh) * 2018-06-01 2022-10-21 Icee解决方案有限公司 使用并行处理进行层次电路模拟的方法和系统
CN110955942A (zh) * 2019-12-02 2020-04-03 南京九芯电子科技有限公司 一种半导体器件阈值电压仿真方法
CN113111619A (zh) * 2021-04-16 2021-07-13 清华大学 基于谱图稀疏化的供电网络仿真方法及系统

Also Published As

Publication number Publication date
CN102663166B (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN102663166B (zh) 一种片上供电网络仿真方法及系统
Chiprout et al. Analysis of interconnect networks using complex frequency hopping (CFH)
CN103207941A (zh) 集成电路供电网络全参数模型下瞬态分析方法及系统
US6662149B1 (en) Method and apparatus for efficient computation of moments in interconnect circuits
Kahng et al. Efficient gate delay modeling for large interconnect loads
CN103473307A (zh) 跨媒体稀疏哈希索引方法
CN104765902A (zh) 使用考虑不同电路拓扑结构生成的输入波形特征化单元
CN111581899A (zh) 良率参数文件和门级网表的生成方法以及芯片的开发流程
Zhao et al. SAMG: Sparsified graph-theoretic algebraic multigrid for solving large symmetric diagonally dominant (SDD) matrices
CN101908087B (zh) 基于gpu的集成电路电源地线网络的并行仿真方法
CN104933252A (zh) 一种面向多抽象层次电路的可靠性评估方法
CN102915385B (zh) 一种基于时域梯形法差分的互连线模型降阶方法
CN112232019B (zh) 一种逻辑资源评估方法
CN102646143B (zh) 一种片上供电网络仿真中电导矩阵构造方法及系统
US7844438B1 (en) Method to analyze and correct dynamic power grid variations in ICs
CN113111619A (zh) 基于谱图稀疏化的供电网络仿真方法及系统
CN112513861B (zh) 使用并行处理进行层次电路模拟的方法和系统
US8924911B2 (en) Equation based transient circuit optimization
CN113408226B (zh) 一种基于深度学习的芯片供电网络凸快电流估算方法及系统
Zhao et al. Towards efficient SPICE-accurate nonlinear circuit simulation with on-the-fly support-circuit preconditioners
Li Power grid simulation via efficient sampling-based sensitivity analysis and hierarchical symbolic relaxation
CN103500284A (zh) 一种片上供电网络无向量验证方法及验证系统
Hall et al. Generation of synthetic XML for evaluation of hybrid XML systems
CN101794328A (zh) 针对门输出负载的快速且准确的估计
CN101901279A (zh) 集成电路电源地网络的分析方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant