一种快速估算功耗和延迟的算法
摘要:本文在概率估算和Logical Effort延迟模型基础上提出了门级电路的功耗估计算法和延迟算法,利用此算法能够快速地估算出电路的功耗和时间延迟。
关键词:功耗;算法;延迟
1.引言
微电子技术发展到今天,电路对性能的要求越来越高。为了能够有效地设计出高性能的电路,需要快速估算出电路的功耗和延。估算方法主要有两种,一种是在已知输入信号的情况下利用软件对电路进行模拟,另一种采用概率参数对门级电路进行估算。软件测量的结果和输入信号的数目及电路的复杂层度有关,因此,对大量输入信号的电路,用此估计方法是非常耗时的,而基于概率的估算则简单快速。
本文在概率估算和Logical Effort延迟模型的基础上提出了门级电路的功耗估计算法和延迟算法算出功耗,利用此算法能够快速地估算出电路的功耗和时间延迟。
2.理论背景
2.1定义
CMOS电路因其功耗较低在数字电路中应用广泛,其功耗主要由动态功耗决定,而动态功耗取决于信号在反转的过程中对输出电容充放电的情况。把CMOS电路动态功耗用表达式表示为[1]:
(1)
其中,vdd是供电电压,fclk是时钟频率,cl是输出负载电容,swi是节点i在一个周期内输出信号的平均反转次数,称为开关活动率。从式(1)可看出平均动態功耗与开关活动率存在线性关系,因此,估算动态平均功耗可等效为估算电路中不同节点的开关活动率。为估算电路的开关活动率,引入以下定义。
定义1信号置1概率 假设把电路动作认为是0-1过程g(t),那么就可以用跳变率和信号置1概率来表示数字电路的活动特性。在时间(-T,T)内,将信号置1概率表示为[2]:
(2)
定义2信号跳变率 ng(T)是在一个周期内的反转次数,跳变率定义为:
(3)
则置1概率为P的信号的跳变率为2×P×(1-P)。由此,随机信号的置1概率为1/2,跳变率为1/2。
定义3置1概率的输出特性 我们将门电路输入信号的置1概率表示为输出信号的置1概率。二输入逻辑门的信号置1概率的输出特性在在文献[2]中已给出,例如:如果二输入的与门输入置1概率分别为P1和P2,那么它的输出置1概率为P1×P2;而对于二输入的或门,其输出的置1概率为1-(1-P1)×(1-P2)。
3.建议的功耗和延迟估算算法
3.1 功耗估算算法
根据定义1、定义2和定义3提出了电路的功耗估算算法,其步骤如下:
第一步:根据定义1计算出各输入信号的概率;
第二步:计算电路内部各节点(一个门的输出定义为一个节点)信号的置1概率,这步可由定义3计算得到;
第三步:把各节点信号的置1概率代入定义2中的2×P×(1-P)式子中可计算出各节点的开关活动率;电路的总开关活动率就是把各节点的开关活动率进行累加。
根据上述步骤即可实现对任意门级电路进行功耗估算,下面以4位行波进位进位链(如图1所示)为例来演示上述算法的应用。
由图1可知,进位链的输入信号分别为c0、pi和gi,它们的概率分别用P[0]、Pi [i]和Pg [i]表示,其中pi表示进位传播信号,gi表示进位产生信号,i=1,2,3,4(以下i同)。
1)计算P[0]、Pi [i]和Pg [i]
设最低进位c0=0,故可根据信号置1概率的定义得出其概率P[0]=0;
如图2所示,进位传播信号pi经一个或门产生,进位产生信号gi经一个与门产生,假设输入信号ai和bi是随机输入的,它们的概率分别用Pa [i]和Pb [i]来表示。对于随机输入信号,它们置1的概率和置0的概率是相等的,因此有Pa [i]=0.5,Pb [i]=0.5;
由定义3可知:Pg [i]=Pa [i]×Pb [i]=0.25,Pi [i]=1-(1-Pa [i])× (1-Pb [i])=0.75。
2)计算进位信号ci和内部节点信号Ni的概率,分别用P[i]和P[Ni]来表示
由图1可知,每个进位输出都是经由一个与门和一个或门的串联而实现的,因此可得到进位输出信号ci及内部节点信号Ni的概率递推式。
;
;
进而可得出:
,;
,;
,;
,;
3)将计算出的概率代入开关活动率的公式,可得到进位信号的总开关活动率sw1及内部节点信号的总开关活动率sw2。
;
因此,进位链的总开关活动率为:
3.2 延迟时间的估算
在多位加法器中,关键路径是进位链中进位信号的计算路径,因此有效地估算进位链的延迟时间是估算加法器延迟时间的关键。本文采用了Logical Effort原理提供的延迟模型对电路的延迟时间进行估算,为此,有必要介绍Logical Effort延迟模型。
3.2.1 Logical Effort延迟模型
Logical Effort延迟模型[3]中总延迟可以表示成:
(4)
式中f和p都是无单位的延迟,τ是由工艺参数决定的延迟。LE(Logical Effort)取决于捕捉逻辑门的拓扑结构,它和MOS管的大小没有关系。输出端负载电容Cout和输入电容Cin的之比说明了门的带负载能力,它是由电路中晶体管的大小决定的。从式(4)看出,Logical Effort延迟模型与逻辑门的电路结构和放大倍数有关,而与寄生参数无关;在Logical Effort理论里,LE=1(反相器)。
由Logical Effort延迟模型可看出LE等于逻辑门与反相器的输入电容比,因此可以计算出非门、与非门和或非门延迟的LE参数,对应的电路如图3(a)、(b)和(c)所示。需要说明的是,图中的数字均表示相应晶体管的宽度,宽度的大小取决于门中管子的堆栈深度,其原理是参照反相器的尺寸来调整逻辑门的尺寸,使其与反相器具有相同的输出电流。
如图3(b)所示,与非门电路中的两个NMOS管是串联的,导致电阻增大一倍,输出电流减小一倍。为了与反相器输出电流相等,必须使 NMOS管的宽度增大一倍。而两个PMOS管并联,对电流并不产生影响,因此与非门的尺寸Wp=2, Wn=2。同理也可得到或非门的尺寸Wp=4, Wn=1,其中Wp表示PMOS管的宽度,Wn表示NMOS管的宽度。
对于反相器而言:输入电容Cin=Wp+Wn=2+1=3,LE=1;
对于二输入与非门:
输入电容Cin=Wp+Wn=2+2=4,
;
对于二输入或非门:
输入电容Cin=Wp+Wn=4+1=5,
;
3.2.2 延迟时间估算
计算电路的延迟时间,即估算信号通过一个与非门需要的Delay。
根据3.2.1中的内容可知,对于2输入的与非门来说,LE=4/3,p=2,Cout/ Cin =(5+3)/4=2,τ=20ps(在0.25um工艺下)
由式(4)可得
同理对于任何门级电路,其延迟时间都可按照这个原理计算。
4.结束语
本文在信号跳变率和Logical Effort延迟模型基础上提出了门级电路的功耗估计算法和延迟算法,利用此算法能够快速地估算出电路的功耗和时间延迟。
参考文献:
[1]赵四化,王琪,袁慧.开关电源静态泄漏和动态功率建模与分析[J].微电子学,2012,42(6):842-845.
[2]徐勇军,韩银和,李华伟,等.组合电路功耗敏感性统计分析[J].计算机辅助设计与图形学学报,2005,17(1):122-128.