前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论STA | SOCV timing report 进一步解析

论STA | SOCV timing report 进一步解析

作者头像
老秃胖驴
发布2019-10-14 16:30:53
4.5K0
发布2019-10-14 16:30:53
举报
文章被收录于专栏:陌上风骑驴看IC

昨天发了《论STA | POCV/ SOCV 时序报告解析》后,有好学的朋友提到如下两点没有解释清楚:

  • 表头,每个值的mean 跟sigma 如何计算得到?
  • 读了SOCV 又设了timing derate 该如何解读?

在support.cadence.com 上正好有两篇对应文章,解释得简单明了,借用于此。

表头解析


从这个timing report 的表头,可分别得到:

  • 第一行,可知当前是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. 
  • 第六行,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.
  • 对应到本例,是时钟上升沿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

再回到timing report:

  • 第八行,Required Time = Req Time Mean - N * Req Time Sigma. 其中每个值的计算为:
  • 第九行,Arrival Time 即是Launch Clock Path + Launch Data Path 的Arrival Time;
  • 第十行,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, 设置示例:
  • 对net 的mean 和sigma 值分别设置Derate, 在Timing report 中会显示在"User Derate" 一列,格式是mean : sigma, 设置示例:
  • 对net 或 cell 设置incremental derate, 在Timing report 中会与"User Derate" 相加后呈现在"Total Derate" 一列,设置示例:

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

  • Total mean Derate = User mean Derate + incr_adjust;
  • Total sigma Derate = User sigma Derate;
  • Delay mean = Total mean Derate * Delay mean from lib;
  • Delay sigma = Total sigma Derate * Delay sigam from lib;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陌上风骑驴看IC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档