standard cell timing model

standard cell timing model 主要包括两方面的信息:

Cell Delay  calculation

Output Transition  calculation

首先,cell delay 和 cell output transition这两者都是根据 input trans 和 output load 计算出来的;

具体应该是 input pin transition 和 output net total cap 来计算:

这里的 input transition 就是上一级cell 的output transition,而 cell output transition 的计算也是由 input trans 和 output load 决定的:

以此逐级类推计算,就可以计算出 timing path 上所有的 cell delay 值了。

 

********************************************************************************

来看一个具体的 cell delay 计算实例:

上图中 SVN_BUF_10 这个 cell :

cell delay  =  0.0861 

input pin transition  =  0.5727

output net total cap = 0.0182 

基本原理是将input trans 和 output cap 这两个参数代入到 std cell 库中的 delay 计算表(lookup table),查出对应的 delay 值;

用 report_delay_calculation 可以报出计算过程:

图中的 Z 就是计算出来的 cell delay ,与 report 中的 0.0861 很接近;

具体计算过程是:

根据 X 和 Y 的值,在 lib lookup table 中查找到 X 和 Y 左右两侧的坐标点,将这四个坐标点代入二元拟合公式 Z= B*X + C*Y + D*X*Y ,就可以得到四个二元二次方程,由这四个方程可以解出 ABCD 四个系数的值,这样就得到了一个具体的拟合公式,然后再将 input trans 和output cap 代入拟合公式就可以计算出这个cell 的delay 值了。

 

 ******************************************************************************

lib lookup  table 如下:

在 lookup table 中,

index_1 是 input trans,是纵坐标

index_2 是 output cap,是横坐标

 有了横纵坐标,就很容易查出 delay value了 

#################################################

以上是 组合逻辑 cell delay 计算,那么 sequential cell 的 delay 如何计算? 比如 register ?

register 的 delay 包括两个: cell delay (即 CK -> Q 的delay), library setup time (即 CK 端的 setup window)

a)register cell delay 的计算:根据CK 端 input transition 和 Q 端 output cap,查表得出

b)register library setup time 的计算:根据 D 端data input transition(index_1) 和 CK 端 clock input transition(index_2), 查表得出

 *********************************

 |  ^_^  |   ^_^  | 

 

  

原文地址:https://www.cnblogs.com/xiaoxie2014/p/9298549.html