静态时序分析中路径延时的计算
静态时序分析工具一般将电路½表看成一个拓扑图,图中的节点(node)代表电路中的引脚(pin)。
节点之间的边(edge)表示时序弧(timing
arc),有两种:
#
连线延时(net
delay)---驱动引脚(drive pin)和扇出(fanout)之间的连接
#
单元延时(cell
delay)---输入引脚(input pin)和输出引脚(output pin)之间的连接
延时计算就是计算每条时序弧的值,可½是单元延时也可½是连线延时。通过累计这些延时可
以计算时序路径(timing
delay)的上升延时(rise delay)或下降延时(fall delay)。
正½数时序弧(positive
unate timing arc):
将上升延时和上升延时相加,
下降延时和下降延时相加。
例如一个
AND
门单元延时和连线延时。
负½数时序弧(negative
unate timing arc):
将新得到的上升延时和原来的下降延时相加,而新得到的下降延时和原来的上升延时相加。例
如
NAND
门。
非½数时序弧(non-unate
timing arc):
将原来的延时和新得到的最差情况延时(worst-case
delay)相加。非½数时序弧出现在不½从输入
量的变化预测输出端逻辑值变化的地方,例如
XOR
门。
下图展示了一个电路逻辑½络是如½½化成一张时序图的:
非线性延时模型(nonlinear
delay model):
非线性模型是供应商以查表(lookup
table)½式在工艺库中提供的延时信息,
它和时序分析计算有
着紧密的联系。
总的延时包含了单元延时和连线延时:
Dtotal = Dcell + Dc
Dc
连线延时。它有两种计算方法,一是通过
operating_conditions
中的
tree_type
属性和
wire_load
模
型;二是在标准延时方程中读入一个
SDF
文件。
Dcell
门自身的延时,典型地是取从输入引脚电压变化到
50%到输出引脚电压变化到 50%的之间的时
间。
CMOS
非线性模型有两种计算
Dcell
的方法,
在一个工艺库中可以混用。
一是用插值法在库所提
供的单元延时表里查找;二是通过查传输(propagation)表和过渡(transition)表得到传输延时和过渡延
时,再计算单元延时:Dcell
= Dpropagation + Dtransition
。
Dpropagation
典型衡量
Dpropagation
的方法是从输入引脚电压变化了
50%到门输出电压即将开始½变(比方
说变化了
10%)之间的时间。这样,如果 Dtransition
值定义为输出电压从
10%变化到 50%之间的时
间的话,它就要被加到
Dpropagation
上去。这样结果就是输入变化了
50%到输出变化了 50%之间的
时间。
Dtransition
输出引脚½变状态所需要的时间,
有时也指输出斜坡(ramp)时间。
它是输出引脚两个参考电压之
间变化的时间,可以是
20%到 80%或 10%到 50%。它是通过插值查表法得到的。
如果提供的是单元延时表,那么总延时就是:Dtotal
= Dcell + Dc
;
如果提供的是传输延时表,那么总延时就是:Dtotal
= Dpropagation + Dtransition + Dc
。
库单元延时时序弧的种类有:
上升传输(Rise
propagation)
单元上升(Cell
rise)
下降传输(Fall
propagation)
单元下降(Cell
fall)
上升过渡(Rise
transition)
下降过渡(Fall
transition)
注:每个条延时弧可以有传输延时表或单元延时表,½不½½有;同时必须有过渡延时表。
每一个延时表可以通过以下六个变量中的一个到三个查找:
input_net_transition
output_net_length
total_output_net_capacitance
related_out_total_output_net_capacitance
output_net_pin_cap
output_net_wire_cap
延时计算举例
看下图的下降传输(fall
propagation)表:一个两维的表,由输出端总电容和输入过渡时间查找。
输出端总电容由½络
n1
处的引脚电容、连线电容所决定。输入过渡时间由前面的
U0
门所决定。因
为
U1
中的时序弧是负½数性质的,
所以
U0
的上升过渡延时表就可以用来确定
U1
的输入过渡延时。
假设
Ctotal
是
110.1,输入过渡延时是 0.34,用这两个值在下降传输延时表中查找。
图中的黑点表示表中定义的点。四个点和
Z
½的高度值组成了供插值查找的领域,即图中的阴
½部分。
下降过渡延时由下降过渡延时表得到,这个例子中它是基于输出端总电容的一维表。前面提到
了输出端总电容是
110.1,通过简单的线性插值查表就可以得到延时。
然后将传输延时和下降的过渡延时相加即得到了通过
U1
单元的下降传输延时时间。
如果库中为
U1
定义的不是传输延时表,而是单元延时表,那么过渡延时时间将不计入单元延时
之内。
环境缩放比例(Environmental
Scaling)
½计算总延时说,时序分析器会分别考虑½响
Dtotal
的因素。每一种因素½有它自己的全局参
数来反映它对总延时的½响。在通常情况下这些因素包括工艺(process)、温度(temperature)和电压
(voltage)。
下面的因子可以分别应用到延时方程中去:
△v:库中定义的电压变化的值
Kv:电压对总延时½响的因子
△t:库中定义的温度变化的值
Kt:温度对总延时½响的因子
△p:库中定义的工艺变化的值
Kp:工艺对总延时½响的因子
评论