POCV/ SOCV 时序报告解析

POCV/ SOCV 时序报告解析1

如下所示,是一个列出了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.

在这里插入图片描述

  • Arrival delay 的计算为:

    • Arrival Delay = Arrival Mean + N * Arrival Sigma
      • Arrival Mean = Pre-Arrival Mean + Delay mean(比如0.5243+0.0245=0.5488)
      • Arrival Sigma = sqr ( Pre-Arrival Sigma ^ 2 + Delay Sigma ^ 2)-------RSS, Root-Sum Square
  • 结合上例,计算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= 0.52430 + 0.02450 = 0.54880
    • 到buff_4_1 的Pre-Arrival Sigma= 0.00118;

      • 所以可得,到 buff_4_2/Z 的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, 是因为工具在计算时是按照浮点数位宽计算的,最后显示在时序报告中的值做过四舍五入。

  • 对于cell delay计算和OCV、AOCV不同,这里的cell delay是反推值


POCV/ SOCV 时序报告解析2(PT)

在这里插入图片描述
注意cell delay(Incr_Value)是反推得到的:根据当前Point上Path的Delay Value减去上个Point上Path的Delay value值得到的。

  • Incr

    • Mean:平均值,也就是高斯分布中的μ值(它很关键)
    • Sensit:全称是sensitivity,也就是1个Sigma的值;
    • Corner: Sigma边界的最差值,比如Setup的话就是Mean+3*Sensit,如果是Hold的话就是 Mean- 3*Sensit。(具体几个是可以设置的),Delay很大并不会导致整个Path的Delay增加很多,比如b3 Cell的delay是Corner值是7ns,但是对于整个Path的贡献delay其实并没有那么大,只有2.82ns(Value值)
    • Path delay value = Path mean +/- (3 * Path sensit)。对于Setup(max delay)就是+,对于Hold(min delay)就是-。
  • Path

    • Path mean其实就是每个Point Incr的Mean的累加
    • Path sensit是每个Point sensit的平方和根(RSS, Root-Sum Square)值
    • 有了Path的value值就可以反推得到前面所说的每一级的delay “Value”了

在这里插入图片描述
在这里插入图片描述


POCV/ SOCV 时序报告解析3 (Innovous/Tempus)

在这里插入图片描述
在这里插入图片描述

  • 第一行,可知当前是setup check, endpoint 的clock pin, 是否满足timing 需求;
  • 第二行,第三行,分别列出startpoint, endpoint, 跟对应的launch clock, capture clock, 以及对应的clock edge;
  • 第四行,给出当前path 所属的clock group
  • 第五行,Other End Arrival time 就是capture clock path 的Arrival time, 计算方式同launch path 的Arrival time 类似,区别是对于setup check, capture clock path arrival time = mean - N * sigma. (对于setup derate check,launch path变大,capture path变小)
  • 第六行,Phase shift, 如果无multi cycle 即为当前clock 的周期

  • 第七行,CPPR 不再是简单的Launch clock path common point arrival time - Capture clock path common point arrival time. 在Innovus/ Tempus 中用report_cppr 可得到对应的mean 跟sigma 值
    在这里插入图片描述
    由如上的report 可得

    • 当前时钟上升沿跟下降沿分别对应的Late/ Ealry 的Mean 和 Sigma.

    • 对应到本例,是时钟上升沿 rise check, 所对应的CPPR mean 在report_cppr 中用Pessimism Mean 表示,

      • 其计算方式是:Late Mean - Early Mean =0.279 - 0.229 = 0.51
    • 同样可得到上升沿对应的CPPR sigma, 即report_cppr 中的Pessimism Sigma

      • 其计算方式为:sqr (Late Sigma ^ 2 + Early Sigma ^ 2) =sqr (0.023 ^ 2 + 0.019 ^2) = 0.030
    • timing report 中的CPPR 在report_cppr 中用Pessimism 表示,

      • 其计算方式为:Pessimism Mean + N * Pessimism Sigma = 0.51 + 3*0.030 = 0.141

  • 第八行,对于setup check,让require time (capture path)变小,arrival time (launch path)变大
    • Required Time = Req Time Mean - N * Req Time Sigma. 其中每个值的计算为:
      在这里插入图片描述
      在这里插入图片描述

  • 第九行,Arrival Time 即是Launch Clock Path + Launch Data Path 的Arrival Time(launch path)

  • 第十行,Slack Time = Slack Mean - N * Slack sigma. 其中每个值的计算为:

在这里插入图片描述


对mean 跟Sigma 设了timing derate 的解析

如果要在SOCV 的基础上加更多的Derate 可以用命令set_timing_derate 来设置,通常有:

  • cell 的mean 和sigma 值分别设置Derate, 在Timing report 中会显示在"User Derate" 一列,格式是mean : sigma, 设置示例:
set_timing_derate 1.2 INV3-mean-cell_delay
set_timing_derate 1.1 INV3-sigma-cell_delay
  • net 的mean 和sigma 值分别设置Derate, 在Timing report 中会显示在"User Derate" 一列,格式是mean : sigma, 设置示例:
set_timing_derate 1.5 X8-mean-net_delay
set_timing_derate 2.0 X8-sigma-net_delay
  • 对net 或 cell 设置incremental derate, 在Timing report 中会与"User Derate" 相加后呈现在**“Total Derate”** 一列,设置示例:
set_timing_derate 1.8 INV3-incremental_adjust

在这里插入图片描述

设置timing derate 的timing report 如下所示,在该例中,Total mean/sigma derate, Delay Mean, Delay sigma 的计算分别如下所示,其他的计算跟不带set_timing_derate 的一致。

  • Total mean Derate = User mean Derate + incr_adjust=1.2+1.8=3
  • Total sigma Derate = User sigma Derate+ incr_adjust(这里是0)=1.1 +0 =1.1
  • Delay mean = Total mean Derate * Delay mean from lib;
  • Delay sigma = Total sigma Derate * Delay sigma from lib;

Reference:陌上风骑驴看IC https://cloud.tencent.com/developer/article/1611170

### POCV Timing Report 的解读方法 POCV(Parametric On-Chip Variation)是一种基于统计学的方法,用于评估芯片内部的时序变化。它通过引入高斯分布的概率模型来更精确地预测延迟的变化情况。以下是关于如何解读 POCV Timing 报告的关键点: #### 1. **关键参数解释** - **Mean Delay**: 表示路径平均延迟时间[^3]。这是经过统计计算后的预期值。 ```plaintext Mean delay represents the average value of delays across all possible process variations. ``` - **Sigma Value**: 描述路径延迟的标准差,反映了路径延迟的波动范围[^5]。较大的 sigma 值表示更大的不确定性。 ```plaintext Sigma is a measure of variability or uncertainty in the path delay due to on-chip variation effects. ``` - **Derate Factor**: 这是一个调整系数,用来补偿由于工艺偏差引起的额外延时。它可以分为 launch 和 capture 路径的不同部分[^2]。 #### 2. **报告结构分析** - **Path Group Information**: 每条路径会标明其起点和终点节点以及所属组别。这有助于快速定位具体路径的位置及其功能模块归属。 - **Clock Path Details**: 显示启动时钟路径(common point arrival time)与捕获时钟路径之间的差异,并提供相应的均值(mean)及时变性(sigma)。 ```plaintext The difference between Launch Clock Path Common Point Arrival Time and Capture Clock Path Common Point Arrival Time includes both mean values and their associated sigmas. ``` - **Data Path Analysis**: 数据传输路径同样会有详细的均值和标准差数据展示出来。这些数值对于判断是否存在 setup 或 hold 时间违规至关重要[^4]。 #### 3. **实际应用中的注意事项** 当启用 graph-based POCV 分析后,需确保设置了 `timing_pocvm_enable_analysis` 参数为 true 来加载必要的输入文件(LVF),从而实现更为精准的结果输出。此外,在 Innovus/Tempus 工具中利用命令如 `report_cppr` 获取 CPPR (Common Path Pessimism Removal) 的均值和方差信息可以帮助进一步优化设计质量。 ```python set_app_var timing_pocvm_enable_analysis true ``` 以上配置能够使工具自动考虑各种因素的影响并生成详尽可靠的 POCV 定时分析报表。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值