用去耦合电容实现集成电路供电网络噪声优化的快速方法

文档序号:6898236阅读:315来源:国知局
专利名称:用去耦合电容实现集成电路供电网络噪声优化的快速方法
技术领域
用去耦合电容对集成电路供电网络进行噪声优化的方法属于VLSI物理设计领域,尤其是布局布线领域中RLC电源线/地线网络噪声优化的技术范畴。
背景技术
集成电路物理设计中的布线阶段可以分为两个部分特殊线网布线和信号线网布线。电源/地线网络设计就包含在特殊线网布线部分。随着超大规模集成电路集成度和工作频率的提高,其电源/地线网络的设计与优化问题变得越来越重要,它直接影响整个电路的性能。由于电源/地线网络的线宽比信号线大得多,并且可以变化,占用了很多芯片面积,因此,它在布线阶段被赋予了最高的优先级。
随着工艺的不断进步,超大规模集成电路的特征线宽在不断缩小,同时芯片的密度和工作频率也相应有大幅度的提高。从而使芯片的供电问题成为VLSI深亚微米(DSM)和超深亚微米(VDSM)集成电路设计中的一个重要问题。不适当的电源/地线网络设计会产生过大的电压降和电压波动,极大地影响电路的性能,甚至使电路失效,芯片无法正常工作。因此,对供电网络进行精确的分析并在此基础上做适当的优化就变得非常必要。
引起供电网络中电压波动的原因有线上电阻引起的IR电压降和线上电感引起的Ldi/dt电压降。供电网络和电路元器件中的寄生电容也会对网络中各节点的电压产生影响。传统的电源/地线网络分析主要考虑了供电网络中的电阻的影响,也就是将供电网络建模为电阻网络并对它进行直流分析。然而,随着工作频率和电路中电流的不断增大,供电网络中的电容和电感的影响日益显著。因此,我们需要对供电网络建立更精确的RLC模型,并对其进行瞬态分析,以获得电路中各节点上更准确的电压波动信息。
随着芯片的密度和工作频率的大幅度提高,供电网络的噪声阈值显著降低。供电网络上的噪声会降低器件的驱动能力,甚至使电路失效,芯片无法正常工作。因此,在供电网络瞬态分析的基础上我们必须对其进行优化,将各节点的电压噪声限定在允许的范围之内,并且使得供电网络占用的芯片面积资源尽可能少。
在标准单元布图模式下,电源/地线的拓扑结构一般采用网状(MESH)结构。在这种MESH的拓扑结构中,电源/地线可分为两种预布线和“供电加强总线”。如图1所示。其中,预布线包括外围电源总线,供电压焊块和供电轨道。单元被放置在单元行上,通过供电轨道对它们进行供电。由于电路的规模越来越大,单靠供电轨道已经远远不能满足供电要求,因此,供电加强总线的概念被提出来以增加供电的可靠性和性能。
首先,我们对电源/地线网络建立精确的RCL模型。如图2所示。考虑网络中的寄生电阻,电容和电感的影响,并将各电路模块的吸纳电流看作时变的电流源并将其分段线性表示(如图3和图4)。其次,我们将每个时钟周期分成若干个时间步长,在每个固定的时间点对网络进行求解,以得到每个节点的电压在时钟周期内的变化波形。上述过程就是对电源/地线网络进行瞬态分析的过程。针对基于标准单元设计的ASIC电路,考虑其电源网络的规整性特点,我们在先前的工作中构造并设计实现了精确、高效的基于等效电路的集成电路电源网络瞬态分析求解器,在不损失精确性与节约内存的前提下,大幅度提高了分析求解的速度,扩大了分析求解的芯片规模,对于处理大规模的芯片,得到迄今为止最好的结果。
在瞬态分析求解器的基础上,本发明中我们实现了一个通过添加去耦合电容对供电网络进行优化的快速算法。为了达到对供电网络进行优化的目的,目前应用最广泛的优化方法有三种。它们是网络拓扑结构的优化(topology optimization),线宽优化(wire sizing),和放置去耦合电容(decoupling capacitance deployment)。本发明着眼于在供电网络上添加去耦合电容这种降低供电网络中电压波动的有效方法。去耦合电容在供电网络中相当于局部的临时电压源,在器件的吸纳电流忽然增高或降低时,可以起到保持电压平稳的作用。由于去耦合电容占用了大量的芯片面积,因此还需要对去耦合电容的面积进行优化。
关于添加去耦合电容对供电网络进行优化,前人已经做了一些研究工作。有文献中提到添加去耦电容的电源/地线网络优化是一个电路模拟和调整布局的迭代过程。由于在芯片上添加去耦合电容需要占用芯片的面积,在很多情况下需要对已有的单元布局进行调整,为去耦电容腾出足够的放置空间。这样,优化过程就变成一个分析供电网络和调整芯片布局的迭代过程。有的工作中使用了电路灵敏度分析的方法确定去耦合电容的放置位置和大小,以此降低供电网络中的电压降。电路灵敏度分析可以分别在频域或时域中进行。频域的灵敏度分析避免了在各时间点上分别计算灵敏度,因此可以大大减少运算量,但时域到频域的转换及逆转换过程中会有精度的损失,所以频域分析的结果存在较大的误差。
基于不同的布图模式的特点,前人也做了很多工作。有文献提到,在BBL布图模式下,采用线性规划的方法确定去耦合电容的放置位置,并用启发式方法在已确定的布局中插入空白模块来为添加去耦电容获得空间。也有文献将添加去耦合电容的供电网络优化方法应用于标准单元布图模式下的专用集成电路的设计。文中运用了伴随网络的方法求解灵敏度,并使用二次规划的方法对问题进行迭代求解。
本领域前人已经做的工作中普遍存在一些问题,导致算法的时间和空间复杂度都较高,优化效果不尽人意,因此,不能应用于工业界实际的电源/地线网络优化工作。为了解决这些问题,本发明具有如下特点充分利用电源/地线网络结构上的特点,使用等效电路的方法,在求解节点电压方程的过程时降低了求解的规模,从而减少了运行时间和内存消耗,使时间和空间复杂度显著下降,同时优化质量也会提高。
罚函数法(Penalty Method)、等效电路(Equivalent Circuit)、共轭梯度法(Conjugate GradientMethod)和扩展特勒根伴随网络(Tellegen Adjoint Network)是本发明的四个主要组成部分。这四个方法有机的结合在一起,形成一个系统共同作用于电源/地线面积优化问题上,取得了很好的优化效果。
由于以上的特点,本发明具有优化大规模电路的能力并可以得到很好的优化效果。我们采用了工业界的实际电路作为测试实例。它可以在7.38个小时的时间内对具有超过一百万个节点的大电路进行优化。并且,优化后得到的放置去耦合电容的面积比启发式方法得到的面积小得多。

发明内容
本发明设计了一种高效的集成电路电源网络优化算法,利用存在于标准单元布局之中的空白区域添加附加的片上去耦合电容,起到对供电网络进行优化的目的。非线性规划方法在解空间内搜索最优解;等效电路的方法通过合并供电网络中存在的大量中间节点,大大降低了电路求解的规模,使求解和优化的速度显著提高;扩展特勒根伴随网络法的应用使得在迭代的每一步,只需求解原始网络和扩展特勒根网络各一次就可获得罚函数关于电导向量的梯度,节省了大量的运行时间;共轭梯度法在众多无约束优化方法当中只需要很少的内存资源,而其收敛速度又比较快。本发明基于这四种方法实现的优化算法获得了很好的优化效果。
关于建立原网络的伴随网络做以下解释。算法过程中我们需要对原网络建立对应于所有违反约束点的一系列伴随网络。例如,i为一个违反电压降约束的节点,建立对应于i节点的伴随网络,即其他节点的电流源开路,i节点的电流源激励取Ei(t)(Ei(t)的定义参见说明书第七页)。求解该伴随网络得到各节点的电压值,从而可以求得i节点的电压值相对于所有去耦合电容的梯度值。其它违反约束点比如p,q节点等同理。这些梯度值再应用于求目标函数相对于各去耦合电容的梯度值。这样就需要求解多个伴随网络。我们通过对各节点的电流源激励做一些变换,使得求解一次伴随网络就可以得到目标函数相对于所有去耦电容的梯度值。关于伴随网络方法可以参考以下文献(1)L.O.Chua and P.M.Lin,Computer-Aided Analysis ofElectronic Circuits,Englewood ClifssPrentice-Hall,Inc.1975.(2)任艮、甘淑贞,“电路的计算机辅助分析与设计”,北京理工大学出版社,1989。
1.用去耦合电容实现集成电路供电网络噪声优化的快速方法,含有用放置去耦合电容于布图空白面积中以提高供电网络可靠性的步骤,其特征在于,它是一种利用计算机针对基于标准单元布图模式的专用集成电路(ASIC)的布图结构特点及其供电网络的结构特点,将用以保持节点电压平稳的去耦合电容的面积作为优化的目标,采用非线性规划的方法对供电网络噪声优化问题进行有效求解的方法,它把罚函数法、等效电路、共轭梯度法和扩展特勒根伴随网络的方法形成一个整体共同作用于电源/地线网络优化上,取得很好的优化效果;具体而言,它依次含有以下步骤
(1)计算机读入包含供电网络信息和单元布局信息的文件供电网络信息包括供电网络节点之间的关联结构;节点之间的电阻值、电感值、电感初始电压和电流值、片上固有去耦合电容值(单元模块静止时表现出的电容特性)、电容初始电压和电流值以及各个节点连接的单元模块随时间变化的吸纳电流波形(利用PWL表示),据此在计算机内建立电路的信息,并且标记所有中间点(Middle Node)和交汇点(Cross Node);单元布局信息包括每个单元行中的单元数目、单元坐标以及单元之间的相对位置关系,根据这些信息,我们可以得到单元之间的空白面积的信息和各单元行上空白面积的分布情况,附加的去耦合电容就添加在这些空白区域上;(2)利用输入的参数信息对供电网络进行基于等效电路的瞬态分析,得到每个节点的电压波形;(3)若各节点的电压没有违反约束的情况出现,则不需对供电网络做优化;否则执行以下步骤(4)将各节点的电压波形分段线性纪录,用于优化过程中梯度的计算;(5)确定优化的目标函数为添加的去耦电容的面积,在对应的约束条件下求最小值minA=Σj∈M(wj×H)------(1),]]>M是允许添加去耦合电容的节点集合,M={1,...,m),MN;N为供电网络中所有节点的集合,N={1,...,n};H是标准单元的高,wj是添加在节点j上的去耦电容cj的宽度;约束条件如下(5.1)电压降约束即各节点相对于电源电压的电压降,用能有效衡量电压降噪声的量值,即每个节点上低于电压阈值的电压部分的积分值Si表示si=∫0Tmax(Vmin-vi(t),0)dt=∫t1t2(Vmin-vi(t))dt------(2),]]>[t1,t2]为i节点违反电压降约束的时间区间,Vmin为电压阈值,vi(t)为i节点的电压值;(5.2)电迁移约束用[t’1,t’2]时间内,供电网络分支(p,q)两端节点电压差的绝对值和工艺允许的最大电流密度为σ时在分支长度lqp上的电压降之差的积分值来表示up,q=∫0Tmax[(|vp(t)-vq(t)|-ρlp,qσ),0]dt=∫t′1t′2(|vp(t)-vq(t)|-ρlp,qσ)dt------(3),]]>其中,vp和vq分别是电源分枝(P,q)两端节点的电压,vp-vq即该分枝上的电压差;ρ是方块电阻;lpq是分枝(p,q)的长度;(5.3)去耦电容面积约束即每单元行中,添加的去耦电容面积小于等于本单元行中的空白面积,而单元行的高度H是定值,因此可直接用宽度表示面积大小dwr=max(Σj∈ND(r)wr,y-rwr,0),r∈NR,-----(4),]]>NR是单元行的集合;ND(r)是第r行中去耦电容的位置集合;wr,y是指位于第r行y位置的去耦电容的宽度;rwr是第r行上的空白面积的总宽度;dwr是第r行上违反去耦电容面积约束的惩罚量,将在后面的罚函数法中应用;(5.4)去耦电容最大宽度约束在某单元行中添加的任意一个去耦电容的宽度小于或等于本行中最大空白面积的宽度;ewr,y=max(wr,y-rwr,0),r∈NR,y∈ND(r),——(5),ewr,y是第r行第y个位置上违反去耦电容最大宽度约束的惩罚量,将在后面的罚函数法中应用;(6)构造罚函数f,将非线性约束优化问题转化为无约束优化问题minf=A+pt]]>=A+α·(Σi∈Nsi2+Σ(p,q)∈Bupq2+Σr∈NRdwr2+Σr∈NR,y∈ND(r)ewr,y2),------(6),]]>其中,A是去耦电容总面积,B是电源网络中所有分枝的集合,Pt是罚项,α为罚因子;(7)设置罚因子α的初始值;每个可添加去耦电容的位置上的去耦电容初始值都设为允许的最小电容宽度,得到电容宽度向量作为下面无约束优化的初始解;另外给出误差限ε1>0(8)求解当前无约束优化问题,得到当前最优解电容宽度向量W(l);(8.1)设当前无约束优化问题的初始解为电容宽度向量W(0),误差限为ε2>0;(8.2)初始优化方向设为罚函数关于电容宽度向量W(0)的负梯度方向设初始优化方向为P(0),梯度方向为f(W(0)),得P(0)=-f(W(0))-(7),(8.3)用扩展的伴随网络法求罚函数相对于电容宽度向量的梯度▿f(W)=[∂f∂w1,∂f∂w2,···,∂f∂wj,···,∂f∂wm]T,j∈Ν------(8),]]>宽度为wj的电容cj连接在供电网络的节点j上,假设节点j位于第rj行的yj位置,则罚函数f相对于wj的偏导数可以表示为
∂f∂wj=H+2α(dwrj+ewrj,yj)+2α[Σi∈Nsi∂si∂wj+Σ(p,q)∈Bupq∂upq∂wj],---(9),]]>fj∈NR,yj∈ND(rj)根据电容大小和宽度的关系c=ϵoxTox×w×H------(10),]]>εox和Tox分别是门氧化层的介电常数和厚度;得∂f∂wj=H+2α(dwrj+ewrj,yj)+2αϵoxHTox[Σi∈Nsi∂si∂cj+Σ(p,q)∈Bupq∂upq∂cj]-----(11),]]>rj∈nr,yj∈ND(rj)通过对原电路网络建立对应电路中各节点的一系列伴随网络,并作电路灵敏度分析后,得到∂si∂cj=∫0Tvj,Ei′(t)×v.j(T-t)dt-----(12),]]>∂upq∂cj=∫0Tvj,tpq′(t)×v.j(T-t)dt-----(13),]]>=∫0T[vj,Ep′(t)-vj,Ep′(t)]×v.j(T-t)dt]]>其中,v.j(T-t)=dvj(T-t)dt]]>是原电路网络中j节点的电压对时间t的导数;v′j,Ei(t)是对应于节点i建立的伴随网络中j节点的电压(v′j,Ep(t),v′j,Eq(t)同理),它可以表示如下vj,Ei′(t)=Z(j)vEi′(t)=Z(j)G-1[Ei(t)+ECi(t)+ELi(t)]-----(14),]]>其中,Z(j)是一个位置选择向量,该向量除了j位置上的元素取值为1,其它元素全部为0,即Z(j)=
;G是节点电压方程组G*V=I中的关系矩阵;Ei(t)是电流源向量,它的值是除节点i对应的元素值之外,其余的元素值全部为0,节点i对应的元素值当该节点违反电压降约束时为-1,当该节点不违反约束时为0;EGi(t)和ELi(t)是对应于节点i建立的伴随网络中的电容和电感元素做等效后得到的电流源向量;于是得到
Σi∈Nsi∂si∂cj+Σ(p,q)∈Bupq∂upq∂cj]]>=Σi∈Nsi([∫0Tvj,Ei′(t)×v.j(T-t)dt)+Σ(p,q)∈Bupq(∫0T[vj,Ei′(t)-vj,Ei′(t)]×v.j(T-t)dt)----(15),]]>=∫0T{v.j(T-t)×{Σi∈N(si×vj,Ei′(t))+Σ(p,q)∈B{upq×[vj,Ep′(t)-vj,Ep′(t)]}}}dt]]>依据式(14),(15)得到Σi∈Nsi∂si∂cj+Σ(p,q)∈Bupq∂upq∂cj=Z(j)G-1Itotal(t)------(16),]]>其中Itotal=Inew(t)+EC(t)+EL(t) ——(17),Inew(t)=Σi∈N[si×Ei(t)]+Σ(p,q)∈B{upq×[Ep(t)-Eq(t)]}----(18),]]>其中,EC(t)和EL(t)是将Inew作为伴随网络的电流激励时,电容和电感元素做等效后得到的电流源向量;从而得到∂f∂wj=H+2α(dwrj+ewrj,yj)+2αϵoxHTox∫0T{[Z(j)×G-1×Itotal(t)]×v.j(T-t)}dt----(19),]]>rj∈NR,yj∈ND(rj),j∈M(8.4)设迭代已经进行到了第k步,当前电容宽度向量和优化方向分别是为w(k)和P(k),沿P(k)进行一维搜索,找到非负一维搜索因子λk,使罚函数在P(k)方向上达到最优,即f(W(k)+λkP(k))=minf(W(k)+λP(k)) ——(20),(8.5)根据下式更新电容宽度向量W(k+l)W(k+1)=W(k)+λkP(k)——(21),(8.6)如果‖f(W(k+1))‖<ε2,本次无约束优化结束退出,转步骤9;否则设电容宽度向量的维数是m,如果k=m,则W(0)=W(k+1),f(G(0))=f(G(k+1)),转向步骤8.2;如果k<m,根据下式更新优化方向,回到步骤8.4继续优化; (9)根据优化结果计算罚项的值,如果pt<ε1,当前电容宽度向量即是所求最优解,算法结束退出;否则更新罚因子α,设l=l+1,回到步骤8继续优化;
(10)由于实际可以添加的去耦电容值不是连续的,具有最小单位数值的限制,我们对最终得到的优化结果进行调整;若某位置添加的去耦电容值小于最小数值则将其合并到邻近的节点上,以形成较大的电容,并将这些电容调整为最小单位数值的倍数;其中,i节点代表网络中违反电压降约束的任意节点。p,q节点代表违反电流密度约束的分支的两端节点。j节点代表网络中可以添加去耦合电容的任意节点。我们在计算目标函数相对于j节点上添加的去耦合电容大小的梯度值时,由于目标函数与si和tpq有关,所以计算梯度时需要用到i,p,q节点的电压等参数。j节点的位置与i,p,q节点的位置没有关系。
将整个供电网络中的节点进行编号,共有n个节点。去耦合电容cj位于供电网络的j节点位置,j∈M.M是允许添加去耦合电容的节点集合,M={1,...,m},MN;N为供电网络中所有节点的集合,N={1,...,n};同时j节点又位于供电网络中第rj行的yj位置,其中,yj是rj行内的节点编号,与j不同。
在描述去耦电容面积约束条件时,用r行y位置表示了所有添加了去耦合电容的位置,是一种表示方法,不特指某一个去耦合电容的位置。而rj行yj位置是添加在节点j上的去耦电容cj的确切位置。
实验证明,本发明所提出的方法优化速度快,优化结果优,并且节省计算机的内存,具有优化大规模电路的能力。


图1集成电路的电源线网模型,1-供电环,2-供电加强总线,3-供电轨,4-标准单元模块(cell)。
图2电源线网络的RLC分析模型。
图3单元吸纳电流的时变电流源模型。
图4时变电流源的分段线性表示。
图5供电网络节点的电压波形以及违反约束的情况。
图6求罚函数相对电容宽度向量的梯度时,伴随网络中i节点上的电流激励。
图7添加去耦电容后的芯片布局,5-标准单元模块(cell),6-去耦合电容(deccp)。
图8本发明的主程序流程图。
图9本发明中用到的求解无约束优化问题的程序流程图。
图10对实例u_cnt100进行瞬态分析后得到的结果,存在91个违规点。图中的白色节点即违规点。
图11实例u_cnt100优化后最终得到的单元布局和去耦合电容分布情况。
具体实施例方式用工业界提供的def,1ef格式的测试电路例子u_cnt100做实例结合图8用本发明的方法进行添加去耦合电容的优化。
1.读入文件——包含库单元信息的u_cnt100.lef,包含单元互连信息的u_cnt100.def,参数文件power.params和包含吸纳电流信息的文件current.dat。根据读入的信息建立电路的结构;2.对建立的供电网络进行基于等效电路的瞬态分析,得到网络上806个节点的电压波形;3.对此供电网络进行瞬态分析的结果是存在91个违反约束点,如图10所示,需要对该网络进行添加去耦合电容的优化;4.将744个叶子节点上的电压波形分段线性记录,用于优化过程中梯度的计算;5.确定优化目标和约束条件;6.构造罚函数,将非线性约束优化问题转化为无约束优化问题;7.设置罚因子初始值为α=2;在每个可添加去耦合电容的位置上,也就是叶子节点的位置上将去耦合电容的初始值设为允许的最小电容宽度,在本例子中是最小单元宽度的三分之一,得到电容宽度向量作为初始解;给出误差限ε1=1e-6;8.设本次无约束优化问题的求解为第l次,求解当前无约束优化问题,得到当前最优解电容宽度向量W(l);8.1设初始解为W(0),误差限为ε2=1e-2;8.2初始优化方向设为罚函数关于电容宽度向量的负梯度方向;8.3建立原供电网络的伴随网络,具体方法是伴随网络的拓扑结构与原网络相同;各电阻、电容和电感支路保持不变;原有的独立电压源短路,独立电流源开路;各叶子节点上的电流激励如图6所示取值。对伴随网络进行瞬态求解,得到各节点上的电压波形,结合原网络求解得到的各节点电压波形,带入公式19中解出罚函数对于电容宽度向量的梯度;8.4沿所求的当前优化方向进行一维搜索,找到非负一维搜索因子,使罚函数的值在当前优化方向上达到最优;8.5根据公式21更新电容宽度向量;8.6如果‖f(W(k+1))‖<ε2,本次无约束优化结束推出,转步骤9;本例子中,电容宽度向量的维数m=744,如果k=744,则W(0)=W(k+1),f(G(0))=f(G(k+1)),转向步骤8.2;如果k<744,根据公式22更新优化方向,回到步骤8.4继续优化;
9.根据优化结果计算pt的值,如果pt<ε1,当前电容宽度向量即是所求最优解,算法结束退出;否则更新罚因子α,设l=l+1,回到步骤8继续优化;本实例中一共求解了13次无约束优化问题;10.最终进行电容数值调整;经过调整,优化后得到的744个去耦合电容最终调整为195个;11.适当调整每行中的单元布局,使添加的去耦合电容可以放置于布局的空白区域中,最后得到的单元布局和去耦合电容分布情况如图11所示。
本算法是在CPU 450M,内存2G的Sun Solaris V880工作站上实现并运行的,全部代码利用C语言和C++编写。
权利要求
1.用去耦合电容实现集成电路供电网络噪声优化的快速方法,含有用放置去耦合电容于布图空白面积中以提高供电网络可靠性的步骤,其特征在于,它是一种利用计算机针对基于标准单元布图模式的专用集成电路(ASIC)的布图结构特点及其供电网络的结构特点,将用以保持节点电压平稳的去耦合电容的面积作为优化的目标,采用非线性规划的方法对供电网络噪声优化问题进行有效求解的方法,它把罚函数法、等效电路、共轭梯度法和扩展特勒根伴随网络的方法形成一个整体共同作用于电源/地线网络优化上,取得很好的优化效果;具体而言,它依次含有以下步骤(1)计算机读入包含供电网络信息和单元布局信息的文件供电网络信息包括供电网络节点之间的关联结构;节点之间的电阻值、电感值、电感初始电压和电流值、片上固有去耦合电容值(单元模块静止时表现出的电容特性)、电容初始电压和电流值以及各个节点连接的单元模块随时间变化的吸纳电流波形(利用PWL表示),据此在计算机内建立电路的信息,并且标记所有中间点(Middle Node)和交汇点(Cross Node);单元布局信息包括每个单元行中的单元数目、单元坐标以及单元之间的相对位置关系,根据这些信息,我们可以得到单元之间的空白面积的信息和各单元行上空白面积的分布情况,附加的去耦合电容就添加在这些空白区域上;(2)利用输入的参数信息对供电网络进行基于等效电路的瞬态分析,得到每个节点的电压波形;(3)若各节点的电压没有违反约束的情况出现,则不需对供电网络做优化;否则执行以下步骤(4)将各节点的电压波形分段线性纪录,用于优化过程中梯度的计算;(5)确定优化的目标函数为添加的去耦电容的面积,在对应的约束条件下求最小值minA=Σj∈M(wj×H)--(1),]]>M是允许添加去耦合电容的节点集合,M={1,...,m},MN;N为供电网络中所有节点的集合,N={1,...,n};H是标准单元的高,wj是添加在节点j上的去耦电容cj的宽度;约束条件如下(5.1)电压降约束即各节点相对于电源电压的电压降,用能有效衡量电压降噪声的量值,即每个节点上低于电压阈值的电压部分的积分值Si表示si=∫0Tmax(Vmin-vi(t),0)dt=∫t1t2(Vmin-vi(t))dt--(2)]]>[t1,t2]为i节点违反电压降约束的时间区间,Vmin为电压闽值,vi(t)为i节点的电压值;(5.2)电迁移约束用[t’1,t’2]时间内,供电网络分支(p,q)两端节点电压差的绝对值和工艺允许的最大电流密度为σ时在分支长度lpq上的电压降之差的积分值来表示up,q=∫0Tmax[(|vp(t)-vq(t)|-ρlp,qσ),0]dt=∫t′1t′2(|vp(t)-vq(t)|-ρlp,qσ)dt--(3)]]>其中,vp和vq分别是电源分枝(p,q)两端节点的电压,vp-vq即该分枝上的电压差;ρ是方块电阻;lpq是分枝(p,q)的长度;(5.3)去耦电容面积约束即每单元行中,添加的去耦电容面积小于等于本单元行中的空白面积,而单元行的高度H是定值,因此可直接用宽度表示面积大小dwr=max(Σy∈ND(r)wr,y-rwr,0),r∈NR--(4)]]>NR是单元行的集合;ND(r)是第r行中去耦电容的位置集合;wr,y是指位于第r行y位置的去耦电容的宽度;rwr是第r行上的空白面积的总宽度;dwr是第r行上违反去耦电容面积约束的惩罚量,将在后面的罚函数法中应用;(5.4)去耦电容最大宽度约束在某单元行中添加的任意一个去耦电容的宽度小于或等于本行中最大空白面积的宽度;ewr,y=max(wr,y-rwr,0),r∈NR,y∈ND(r),——(5),ewr,y是第r行第y个位置上违反去耦电容最大宽度约束的惩罚量,将在后面的罚函数法中应用;(6)构造罚函数f,将非线性约束优化问题转化为无约束优化问题minf=A+pt]]>=A+α·(Σi∈Nsi2+Σ(p,q)∈Bupq2+Σr∈NRdwr2+Σr∈NR,y∈ND(r)ewr,y2),--(6),]]>其中,A是去耦电容总面积,B是电源网络中所有分枝的集合,Pt是罚项,α为罚因子;(7)设置罚因子α的初始值;每个可添加去耦电容的位置上的去耦电容初始值都设为允许的最小电容宽度,得到电容宽度向量作为下面无约束优化的初始解;另外给出误差限ε1>0;(8)求解当前无约束优化问题,得到当前最优解电容宽度向量W(1);(8.1)设当前无约束优化问题的初始解为电容宽度向量W(0),误差限为ε2>0;(8.2)初始优化方向设为罚函数关于电容宽度向量W(0)的负梯度方向设初始优化方向为P(0),梯度方向为f(W(0)),得P(0)=-f(W(0))—(7),(8.3)用扩展的伴随网络法求罚函数相对于电容宽度向量的梯度▿f(W)=[∂f∂w1,∂f∂w2,···,∂f∂wj,···,∂f∂wm]T,j∈M--(8),]]>宽度为wj的电容cj连接在供电网络的节点j上,假设节点j位于第rj行的yj位置,则罚函数f相对于wj的偏导数可以表示为∂f∂wj=H+2α(dwrj+ewrj,yj)+2α[Σi∈Nsi∂si∂wj+Σ(p,q)∈Bupq∂upq∂wj]--(9),]]>rj∈NR,yj∈ND(rj)根据电容大小和宽度的关系c=ϵoxTox×w×H---(10),]]>εox和Tox分别是门氧化层的介电常数和厚度;得∂f∂wj=H+2α(dwrj+ewrj,yj)+2αϵoxHTox[Σi∈Nsi∂si∂cj+Σ(p,q)∈Bupq∂upq∂cj]--(11),]]>rj∈NR,yj∈ND(rj)通过对原电路网络建立对应电路中各节点的一系列伴随网络,并作电路灵敏度分析后,得到∂si∂cj=∫0Tvj,Ei′(t)×v.j(T-t)dt--(12),]]>∂upq∂cj=∫0Tvj,tpq′(t)×v.j(T-t)dt--(13),]]>=∫0T[vj,Ep′(t)-vj,Eq′(t)]×v.j(T-t)dt]]>其中,v.j(T-t)=dvj(T-t)dt]]>是原电路网络中j节点的电压对时间t的导数;v′j,Ei(t)是对应于节点i建立的伴随网络中j节点的电压(v′j,Ep(t),v′j,Eq(t)同理),它可以表示如下vj,Ei′(t)=Z(j)vEi′(t)=Z(j)G-1[Ei(t)+ECi(t)+ELi(t)]--(14),]]>其中,Z(j)是一个位置选择向量,该向量除了j位置上的元素取值为1,其它元素全部为0,即Z(j)=
;G是节点电压方程组G*V=I中的关系矩阵;Ei(t)是电流源向量,它的值是除节点i对应的元素值之外,其余的元素值全部为0,节点i对应的元素值当该节点违反电压降约束时为-1,当该节点不违反约束时为0;ECi(t)和ELi(t)是对应于节点i建立的伴随网络中的电容和电感元素做等效后得到的电流源向量;于是得到Σi∈Nsi∂si∂cj+Σ(p,q)∈Bupq∂upq∂cj]]>=Σi∈Nsi(∫0Tvj,Ei′(t)×v.j(T-t)dt)+Σ(p,q)∈Bupq(∫0T[vj,Ep′(t)-vj,Eq′(t)]×v.j(T-t)dt)--(15),]]>=∫0T{v.j(T-t)×{Σi∈N(si×vj,Ei′(t))+Σ(p,q)∈B{upq×[vj,Ep′(t)-vj,Eq′(t)]}}}dt]]>依据式(14),(15)得到Σi∈Nsi∂si∂cj+Σ(p,q)∈Bupq∂upq∂cj=Z(j)G-1Itotal(t)--(16),]]>其中Itotal=Inew(t)+EC(t)+EL(t)——(17),Inew(t)=Σi∈N[si+Ei(t)]+Σ(p,q)∈B{upq×[Ep(t)-Eq(t)]}--(18),]]>其中,EC(t)和EL(t)是将Inew作为伴随网络的电流激励时,电容和电感元素做等效后得到的电流源向量;从而得到∂f∂wj=H+2α(dwrj+ewrj,yj)+2αϵoxHTox∫0T{[Z(j)×G-1×Itotal(t)]×v.j(T-t)}dt--(19),]]>rj∈NR,yj∈ND(rj),j∈M(8.4)设迭代已经进行到了第k步,当前电容宽度向量和优化方向分别是为W(k)和P(k),沿P(k)进行一维搜索,找到非负一维搜索因子λk,使罚函数在P(k)方向上达到最优,即f(W(k)+λkP(k))=minf(W(k)+λP(k)) ——(20),(8.5)根据下式更新电容宽度向量W(k+1)W(k+1)=W(k)+λkP(k)——(21),(8.6)如果‖f(W(k+1))‖<ε2,本次无约束优化结束退出,转步骤9;否则设电容宽度向量的维数是m,如果k=m,则W(0)=W(k+1),f(G(0))=f(G(k+1)),转向步骤8.2;如果k<m,根据下式更新优化方向,回到步骤8.4继续优化; (9)根据优化结果计算罚项的值,如果pt<ε1,当前电容宽度向量即是所求最优解,算法结束退出;否则更新罚因子α,设l=l+1,回到步骤8继续优化;(10)由于实际可以添加的去耦电容值不是连续的,具有最小单位数值的限制,我们对最终得到的优化结果进行调整;若某位置添加的去耦电容值小于最小数值则将其合并到邻近的节点上,以形成较大的电容,并将这些电容调整为最小单位数值的倍数。
全文摘要
用去耦合电容对集成电路供电网络进行噪声优化的方法属于VLSI物理设计领域,尤其是布局布线领域中RLC电源线/地线网络噪声优化的技术范畴。其特点在于它是一种利用计算机针对基于标准单元布图模式的专用集成电路(ASIC)的布图结构特点及其供电网络的结构特点,对供电网络的优化问题进行建模,并采用非线性规划方法对问题进行有效求解的过程。发明中,新颖之处是将去耦电容的面积作为优化的目标,使优化后得到的去耦电容面积尽可能小,为后面阶段的工作,例如插buffer,留下了充足的空白面积。求解过程中我们利用了以前工作中的优秀成果——等效电路的方法,使求解规模大大降低,很大提高了求解速度并且节省了大量的计算机内存。实验证明,本发明可以快速有效的对供电网络进行优化,并具有优化大规模集成电路供电网络的能力。
文档编号H01L27/00GK1523662SQ0315705
公开日2004年8月25日 申请日期2003年9月12日 优先权日2003年9月12日
发明者洪先龙, 蔡懿慈, 傅静静, 骆祖莹, 潘著, 谭向东 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1