论STA | POCV/ SOCV 时序报告解析

2019-10-14 16:30:35 浏览数 (2)

关于时序报告的解析,可回顾《论STA | 读懂timing report, 很重要》,SOCV 之前的时序报告都一样,delay 值可以相加得到,带SOCV 的时序报告会多出很多列,用以表述不同类型的mean 跟sigma 值。

在Innovus/ Tempus 中,默认的时序报告的格式仍同之前一样,只是Delay 值不再是简单相加。对于下图所示的时序报告,Arrival time != pre-Arrival time Delay. 

要搞清楚Arrival time 如何计算,需要通过如下命令,将delay mean, delay sigma, arrival mean, arrival sigma 分别列出然后计算。

如下所示,是一个列出了mean 跟sigma 值的时序报告,要读懂SOCV 的时序报告,需要搞清楚:

  • 当前cell 的delay = Delay mean  N * Delay sigma; 
  • 当前cell 的Transition = Slew mean N * Slew sigma;

其中:

  • Delay mean, Delay sigma, Slew mean, Slew sigma 都是从library 中读出的值;
  • N 就是通常所说的『几sigma』由统计学特性决定,目前常用的N=3 即常说的3-sigma.
  • N 值可在工具端设置,在Innovus /Tempus 中用如下变量控制:

Arrival delay 的计算为:

  • Arrival Delay = Arrival Mean N * Arrival Sigma;

其中:

  • Arrival Mean = Pre-Arrival Mean   Delay mean;
  • Arrival Sigma = sqr ( Pre-Arrival Sigma ^ 2   Delay Sigma ^ 2);

结合上例,计算buff_4_2/Z 的Arrival Delay:

  • 从lib 中可得buff_4_2 falling edge 的:

Delay mean = 0.02450;

Delay sigma = 0.00119;

  • 到buff_4_1 的pre-Arrival Mean = 0.52430;
  • 所以可得,到 buff_4_2/Z 的Arrival mean:

Arrival mean= 0.52430  0.02450 = 0.54880

  • 到buff_4_1 的Pre-Arrival Sigma= 0.00118;
  • 所以可得,到 buff_4_2/Z 的Arrival sigma: Arrival sigma= sqr (0.00118 ^ 2 0.00119 ^ 2)= 0.00168;
  • 所以可得,到buff_4_2/Z 的Arrival delay 为:

Arrival delay = Arrival mean N * Arrival sigma

                      = 0.54880 3*0.00168

                      = 0.55384

示例中,buff_4_2/Z 的arrival delay 值为0.55383, 是因为工具在计算时是按照浮点数位宽计算的,最后显示在时序报告中的值做过四舍五入。

在Innovus/ Tempus 中如果设置了如下变量,时序报告的表头也会分别列出mean 和sigma 值:

读完此文,是否可以清楚得明确每一个值是如何而来,如何计算?如果仍有疑问,可以入驴群一起讨论。POCV/

0 人点赞