一种利用牵连关系图优化静态功耗的方法与流程

文档序号:19187692发布日期:2019-11-20 01:40阅读:287来源:国知局
一种利用牵连关系图优化静态功耗的方法与流程

本发明涉及芯片功耗设计,时序分析,信号串扰,以及利用多阈值电压单元分配来优化芯片漏电流功耗等领域。



背景技术:

随着半导体工艺和电子设计自动化(eda)的进步,集成电路的工艺特征尺寸越来越小,工作频率越来越高,芯片的功耗日益增大。漏电流功耗作为芯片总功耗的一个重要组成部分,其所占比重也随之快速上升,如何降低芯片漏功耗,已然成为芯片设计领域内的一个重要的不可忽视的环节。

漏电流功耗是由电路中的漏电流而引起的静态功耗。cmos管多阈值电压技术是解决漏电流功耗的一种非常有效的方法。cmos管的阈值电压,可以通过在cmos管栅极上覆盖高或低阈值属性的掩膜层,而实现从标准阈值(standardvt)向高阈值(highvt)或低阈值(lowvt)的转变。高阈值电压会使cmos管产生更低的漏电流,但会导致cmos管的本征延时的增加;低阈值电压的效果与此相反。多阈值电压分配技术正是利用了不同阈值电压cmos单元具有不同的漏电流与本征延时特性,对电路中关键路径上的cmos器件分配低阈值电压,以优化其性能;对非关键路径上的cmos器件分配高阈值电压,以优化其漏功耗。如何合理分配高、低阈值电压,最大限度的对漏功耗进行优化,同时兼顾电路性能,是该技术领域内的一个难题。

与此同时,在集成工艺进入超深亚微米之后,布局延时、布线延时以及串扰延时(crosstalkdelay)对电路延时的影响逐渐增大,在55nm工艺下,这些延时在总延时中所占的比例已经超过50%,这些延时会导致电路时序一致性的降低,电路中任意一个微小的调整,都有可能导致电路布线延时、串扰延时的显著变化。所谓窜扰,是指邻近的布线之间由于寄生的电容,电阻而导致的布线上信号的完整性发生变化,这种信号完整性的变化,直观上会体现为信号翻转斜率以及信号传输延时的变化,由窜扰导致的延时变化称为窜扰延时。对窜扰延时的计算,一般采用时间窗的方式,即通过反复的迭代,推算相邻布线上信号产生重叠的时间窗,并根据重叠时间窗口的大小,估算窜扰的影响以及窜扰延时。之前的多电压阈值分配技术及方法大多仅仅考虑cmos器件本身在阈值电压变化后本征延时的变化,而忽略了阈值分配这一过程中串扰延时的变化,从而导致理论的时序变化预期与阈值电压真正调整之后的包含串扰分析的时序结果之间相差巨大。以高阈值电压分配为例,该调整会使cmos器件漏功耗显著减小,但与此同时此cmos器件的驱动能力、负载能力及各种寄生电气参数均会发生变化,这些变化会直接导致与此器件相连的或相关的电路上的布线延时的改变;cmos器件本身的延时会增大,这会导致穿过该器件的信号的用以计算串扰延时的时间窗(timingwindow)参量的变化,从而直接引起串扰延时的变化。很多情况下,这些变化会对电路时序造成严重的影响,使得漏功耗优化与时序性能无法同时兼顾,甚至导致时序严重恶化。



技术实现要素:

为了在多电压阈值分配的过程中,降低芯片漏电流功耗的同时,避免串扰延时及布线延时对芯片整体时序性能恶化的影响,本发明提出了一种能够快速精确评估串扰延时及布线延时影响的利用牵连关系图优化静态功耗的方法。

本发明解决其技术问题所采用的技术方案是:

一种利用牵连关系图优化静态功耗的方法,将电路结构转化为牵连关系连接图;每一个标准单元映射为牵连关系连接图中的节点;标准单元之间的连接映射为牵连关系连接图中相应的边,其方向由输出指向输入;耦合寄生电容映射为从干扰布线所对应的边的起始节点指向受扰布线所对应的边的终结节点的边;每一个节点被标注两个权值,分别代表该节点所对应的标准单元的上升延时和下降延时;

所述方法过程如下:从提取全电路的rc寄生参数开始,提取过程包含耦合电容、电阻寄生参数的提取,之后结合电路网表进行静态时序分析,获得电路各个部分的时序特性参量,生成牵连关系连接图,通过分解、简化得到弱牵连单元,实施多阈值电压的分配。

进一步,在牵连关系连接图中引入了强牵连单元的定义,强牵连单元是牵连关系连接图的一个子集,该子集中的两节点之间存在双向的有向通路;强牵连单元代表电路中节点之间存在紧密的时序关系,处于这一关系中的任意节点的阈值电压变化都会给其他节点引入难以量化估算的时序变化。

再进一步,在牵连关系连接图中引入了弱牵连单元的定义,弱牵连单元是牵连关系连接图的一个子集,该子集中的两节点之间只存在单向的有向通路;弱牵连单元代表电路中节点之间不存在紧密的时序关系,处于这一关系中的任意节点的阈值电压变化都不会对其他节点的时序产生多大的影响,或产生的影响很容易量化估算。

更进一步,通过将牵连关系连接图分解、简化算法,剔除强牵连单元,保留弱牵连单元。大大简化了多阈值电压分配这一问题的复杂度,降低了阈值分配与时序变化之间的相关性。

依据强牵连单元提取算法,将该牵连关系连接图中的强牵连单元予以剔除,保留弱牵连连接单元,对弱牵连连接单元进行权重赋值,并依据权重筛选可进行多阈值电压分配的cmos管子电路。

结合串扰延时快速估算模型,对筛选出的cmos管子电路的阈值电压进行分配。每一种阈值电压分配方案,都能够通过此串扰延时估算模型,快速的评估出其相应的布线延时、串扰延时及器件延时的相应变化,在可能的多种方案里,选出对漏功耗优化最大,而对电路时序影响最小的阈值电压分配方案。

建立了串扰延时快速估算模型,这一模型放弃了串扰延时以往基于时间窗的冗长、繁杂的推算方法,能够将阈值电压变化对串扰延时的影响进行快速的量化估计,解决了以往多阈值分配方法只考虑器件本征延时,而忽略布线及串扰延时的问题。

本发明的技术构思为:基于图论对电路网表进行分解和简化,通过这一分解简化过程将能够进行多电压阈值调整的cmos管目标电路从繁杂的电路网表中提取出来进行优化,而对那些具有强牵连连接关系(stronglyconnected)的电路结构予以忽略。所谓强牵连连接关系,是指处于这一连接关系的所有cmos管之间在延时上具有非常紧密的相互联系,任意cmos管阈值电压的调整,都有可能导致处于这一关系中的所有cmos管及相关连线的延时发生显著的变化,从而使得整体电路时序的变化非常难于估计或需花费大量的时间进行仿真,反复迭代重新计算时间窗变化。对处于这一关系中的cmos管进行阈值电压的调整,以期实现电路漏功耗的优化将会是一个非常耗时、复杂甚至反复的过程。另一方面,对提取出来的目标电路,亦即处于弱牵连连接关系(non-stronglyconnected)的电路,通过衡量其潜在的漏功耗优化空间的大小,而对其赋予相应的权值,并以这一权值作为优先级标准对相应电路中的cmos管进行阈值电压的调整。

通过将提取出的电路牵连关系连接图简化、分解,而将对串扰延时影响敏感,难以优化的子电路从全电路中提出,剩余子电路通过快速的串扰延时估算模型,快速的评估阈值电压转变对电路时序的影响,筛选出兼顾电路时序与漏功耗优化的阈值分配方案。

本发明的有益效果主要表现在:最大限度的对芯片漏功耗优化的同时,保证了电路的时序性能。并实现了在多阈值电压分配过程中,对串扰延时、布线延时变化影响的快速估计,避免了传统方法中,由于只考虑cmos器件本征延时变化,忽略布线延时及串扰延时影响,而产生的多阈值电压分配对电路时序性能造成严重恶化的问题。

附图说明

图1是一种利用牵连关系图优化静态功耗的方法的流程框图。

图2是关键路径与关键牵连网络示意图。

图3是牵连关系连接图示例。

图4是强牵连单元示意图。

图5是从牵连关系连接图中提取scc的示意图。

图6是弱牵连单元集合示意图。

图7是串扰延时的产生示意图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图7,一种,利用牵连关系图优化静态功耗的方法,流程从提取全电路的rc寄生参数开始,这一提取过程包含耦合电容、电阻寄生参数的提取(couplingrc),之后结合电路网表进行静态时序分析,获得电路各个部分的时序特性参量,生成牵连关系连接图。关于牵连关系连接图,首先要从同步数字电路的一些特点说起。在同步数字电路的设计中,一条典型的时序路径通常定义为从一个时钟控制存储器(flip-flop或memory)或输入端开始到另一个时钟控制存储器或输出端结束,中间经过相关组合逻辑的信号传输路径。从另一个角度看,我们可以认为时序路径是由一组节点所分割的具有相对独立性的电路网表,这里将电路中的时钟控制存储器或输入、输出端定义为节点。因此对于组合逻辑中的某一单元,我们如果按照信号的传输路径向输入方向或输出方向进行追溯,最终一定会找到一组节点结束整个追溯过程。同理,如果对静态时序分析所得全部时序路径中的组合逻辑单元按照上述方法进行追溯,最终一定可以获得一个全电路的拓展连接网络,节点将网络分割为多个相对独立的区域,这些区域定义为牵连网络。注意,在这一网络的拓展过程中,需要将产生串扰效应并且电容值大于某一设定值的耦合寄生电容也作为电路连接的一部分进行拓展,所以按照这一方式提取出的牵连网络中的某些部分之间可能并没有直接的逻辑关系,而是由于耦合电容的存在而产生了一种“牵连”关系。图2展示了一个牵连网络的示意图,由于它是从电路的关键路径(criticalpath)上的组合逻辑单元向前、向后追溯拓展而成的,所以这一网络也叫关键牵连网络(criticalnetwork),图中黑色粗线所示路径即为关键路径,红色框内的网络结构即为牵连网络,可以看到由于耦合电容的作用,使得没有逻辑关系的电路也融合进了这一牵连网络。

将牵连网络按照如下规则映射为牵连关系连接图:每一个标准单元映射为牵连关系连接图中的节点;标准单元之间的连接映射为牵连关系连接图中相应的边,其方向由输出指向输入;耦合寄生电容映射为从干扰布线(aggressivenet)所对应的边的起始节点指向受干扰布线(victimnet)所对应的边的终结节点的边。每一个节点被标注两个权值,分别代表该节点所对应的标准单元的上升延时和下降延时。这样获得的有向图称为牵连关系连接图,一个牵连关系连接图的示例如图3

获得电路的牵连关系连接图之后,需将牵连关系连接图进行分解简化。这一简化的主要目的是:通过分解将具有强牵连关系的电路结构,从图中剔除,降低电路的复杂度。首先,对强牵连单元与弱牵连单元做如下定义:

强牵连单元(stronglyconnectedcomponent,scc)对于有向图g(v,e),如果其节点集合的子集中的任意两个节点u与v之间,存在从u指向v的有向路径,同时存在从v指向u的有向路径,即任意两个节点u、v之间存在有向通路,则将这样的一个最大集c定义为图g的一个强牵连单元scc。

弱牵连单元(non-stronglyconnectedcomponent,nscc)对于有向图g(v,e),如果其节点集合的子集中的任意两个节点u与v之间,只存在从u指向v或者从v指向u的有向路径中的一条,则将这样的一个集合c定义为图g的一个弱牵连单元nscc。

将上述定义与牵连网络相联系,可以看到scc实际上代表电路中a、b两个单元在时序上有着非常紧密的相互影响和相互联系。单元a的时序变化,会直接导致单元b的时序产生变化,这一变化的方向是很难通过简单的估算予以确定的,在很多情况下,这一变化可能造成时序的进一步恶化,图4中展示了这样的一个具体例子。

图4中存在a→b、c→b、a→c的通路,由于耦合寄生电容的影响,在其相应的牵连关系连接图中可以找b→a、b→c、c→a的通路,所以a、b、c三个单元构成了一个强牵连单元。当对这三个单元进行多阈值电压分配时,任意单元的cmos管在阈值电压调整之后都会导致电路节点电容的变化,以及各单元输出信号斜率(signaltransition)的变化,单元本征延时的变化,又进一步波及到电路中每一节点时间窗产生变化,时间窗的变化直接导致b、a之间的耦合寄生电容的串扰延时的变化,这一变化难以估算,需要通过繁杂的计算和反复的迭代仿真,获得各种信号时间窗交叠,并对各种交叠状况的串扰延时进行计算,才能筛选出最差情况的串扰延时变化。另一方面,处于强牵连单元中的电路,由于其钳制因素众多,其通过多阈值分配所能实现的功耗优化往往也十分有限。所以在牵连关系连接图分解简化这一环节,将具有强牵连关系的电路结构从电路中剔除,从而能够极大的降低问题的复杂度。

从有向图g(v,e)中提取强牵连单元scc的算法如下

1.对有向图g进行深度优先搜索,计算图中每一个节点u的遍历次数f[u].

2.获得有向图g的转置图gt

3.对gt进行深度优先搜索,在主遍历循环中,对步骤1中获得的f[u]按照降序进行优先级排列

4.形成深度优先遍历树,输出每一个树的节点,获得各个独立的强牵连单元.上诉算法的时间复杂度为o(v+e)。图3所示的牵连关系连接图提取scc所得结果如图5所示,灰色区域即为提取的scc。

将强牵连单元及其相关的边从牵连关系连接图中删除,从而得到弱牵连单元的集合,这些弱牵连单元即为可实施多阈值电压分配的电路。从图3中,经分解简化后得到的弱牵连单元的示意图如图6所示。

通过简单的分析可以得到,nscc是有向图g的一个不存在环路的子图。所以nscc中至少存在一个输入度为0的节点和一个输出度为0的节点。将输入度为0的节点定义为根节点,将输出度为0的节点定义为叶子节点。对nscc中每一条从根节点出发以叶子节点结束的路径按照下述表达式计算其权值

式中,p代表电路通过sta分析所得到的最小时钟周期,i代表根节点,j代表叶子节点,rn和fn分别代表节点vn上所标注的两个权值,表征vn所表示的标准单元的上升和下降传输延时,vn表示从节点i到节点j的有向通路上的节点,从nscc中选择目标路径的算法描述如下:

目标路径选择算法(c)

1.找到图c中的所有根节点和叶子节点

2.

3.对于每一个根节点i进行如下操作

4.对于每一个叶子节点j进行如下操作

5.遍历图c,找到所有的路径pi→j.

6.计算每条路径pi→j的权重,选出权重最大的一条路径pi→j,max,如果它的权重值在wmin之上,则pselect=pi→j,max.

7.输出pselect.进入步骤6继续循环

其中,pi→j表示从节点i到节点j的有向通路,以i作为根节点,以j作为叶子节点。

在通过nscc选定目标路径之后,需将该路径重新映射为电路网表的形式,即将节点重新映射为标准单元,将边映射为对应的连线结构或寄生耦合电容,通过如上映射,可以得到一个子电路的门级网表描述。多阈值电压分配针对这一子电路展开,这一分配的原则是:当将某一cmos管的阈值电压转换为高阈值电压后,所产生的延时增大不会导致全芯片可运行的最小时钟周期的增大。如何快速准确的估算阈值电压变化之后传输延时的变化,是多阈值分配这一过程的核心。器件本身的本征延时的变化是很容易估算的,串扰延时的变化由于需要时间窗参量的多次迭代运算所以较难估计。串扰是由于相邻的两根金属布线之间的寄生耦合电容及电感的影响而造成的两根布线上传输信号之间的相互耦合干扰。串扰会对信号的完整性造成破坏,并有可能在信号的传输中引入额外的传输延时。如图7所示布线a中的信号由于受到与布线b之间的寄生耦合电容的影响,使得c端的信号波形相对于没有串扰时的理想波形产生严重的变形,从而导致o端的延时相对于没有串扰时的理想传输延时显著增大。

串扰延时的一般计算方法,是通过将串扰耦合电容乘以米勒系数转化为对地电容,通过计算rc网络的传输延时获得的。但是米勒系数的计算是一个十分复杂和反复的过程,其一般过程是设定米勒系数的初始值,通过静态时序分析生成对应电路节点的时间窗,产生新的米勒系数,重复上述过程,直至收敛。每一次阈值电压的调整,豆浆引起串扰延时的变化,定量计算这一变化,需要经历多次的重复循环仿真,非常的复杂耗时。针对这一问题,建立了一种串扰延时快速估算模型,这一模型设定米勒系数为一固定值,计算出传输延时的初始值,然后根据窜扰延时表达式,计算出电路窜扰耦合电容所引起的传输延时的补偿值,并对初始值进行修正,从而获得实际的传输延时。这一模型,因为取消了对米勒系数的循环仿真计算过程,而大大简化及缩减了窜扰延时的计算过程及耗时。

串扰延时表达式如下

上式中,ct_delay表示由于串扰而引起的传输延时;k的值由米勒系数的设定值与工艺参数共同决定;xi代表从电路节点i向下追溯所得的所有寄生耦合电容之和;ri代表从节点i向上追溯所得的所有电阻之和;ci代表电路节点i的所有电容;rii代表当把电容看做开路时,节点i的等效电阻;slew(vic)代表victimnet的信号斜率。

对选定子电路进行多阈值电压分配的过程如下

1.对于所有被选中的子电路中的单元按照单元面积进行降序排列,获得集合c

2.对于任意ci∈c,将ci替换为高门限电压阈值单元,

3.利用公式-1评估传输延时的变化,并将串扰延时一并考虑在内

4.计算最大的通过ci的路径延时如果则继续,否则将ci换回标准门限电压阈值单元.

上述过程中p代表电路可运行的最小时钟期,由于单元面积预期漏功耗之间具有等比例的单调递增函数关系,所以选择以单元面积作为优先级对单元进行阈值电压的分配。

这一新型的利用多阈值电压分配优化漏电流功耗的方法,能够有效的实现对电路漏功耗的优化,同时兼顾电路的时序性能。它通过一种基于图论的牵连关系连接图分解简化的方法而大大简化了多阈值电压分配这一问题的复杂度,降低了阈值分配与时序变化之间的相关性,将串扰的影响考虑在内,放弃了以往基于时间窗的冗长、繁杂的推算方法,采用了新型的延时估算模型,使得这一多阈值电压分配方法快速而有效。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1