罗风 · 2021年02月01日

STA | SOCV: Transition Variation

STA | 哐!一文打尽 SOCV / POCV》这个标题很打脸,因为没有transition variation 部分也没有moment 部分。最近在驴群讨论了Transition variation 部分,总结一下,感谢各位的无私输出。

LVF 中transition variation 对应ocv\_sigma\_rise\_transition < early, late > 跟ocv\_sigma\_fall\_transition < early, late > 四张二维表。

微信图片_20210201121223.jpg

微信图片_20210201121226.png

先来看几个问题:

  • 在SOCV/ POCV 分析中,cell delay mean 值是如何计算的?cell delay sigma 值是用arrival slew mean 跟output load 还是arrival slew mean + N * arrival slew sigma 跟output load 查表得到的?
  • 在考虑了transition variation 后,cell output transition mean 是如何计算的?cell output transition sigma 是用arrival slew mean 跟output load 还是arrival slew mean + N * arrival slew sigma 跟output load 查表得到的?
  • transition variation 对cell delay sigma 的影响如何表征?

前两个问题比较简单:

  • 在SOCV/ POCV 分析中,不论是否考虑transition variation, 如果读的是ECSM 或CCS library, cell delay mean 跟cell output transition mean 都是根据ECSM 或CCS 模型计算得到的。
  • 在SOCV/ POCV 分析中,不论是否考虑transition variation, cell delay sigma 跟cell output transition sigma 都是用arrival slew mean 跟output load 查表得到的,arrival slew sigma 在查表之前还没算出来。

再来看第三个问题,transition variation 对cell delay sigma 的影响如何表征?transition variation 影响driving cell 的输出transition 从而影响当前cell 的delay, 这一影响在分析时如何处理?以Innovus 跟Tempus 为例,来看工具对transition variation 的处理:

该行为在Innovus 跟Tempus 中用命令 set\_delay\_cal\_mode -socv\_accuracy\_mode 来控制,default 值是low, 即不考虑transition variation 对当前cell delay的影响,arrival sigma 用 RSS ( Root Sum of Squares ) 计算得到,这种行为被称为 uncorrelated sigma 即:

(arrival sigma) ^ 2 = (pre-arrival sigma) ^ 2 + (current stage delay sigma) ^ 2

微信图片_20210201121229.png

uncorrelated sigma 方式计算得到的arrival sigma 没有考虑前后级cell 间的相关性,会偏乐观,当set\_delay\_cal\_mode -socv\_accuracy\_mode 的值为medium 时,Innovus 跟Tempus 会考虑前后级cell 间的相关性,计算得到 correlated sigmacorrelated sigma 是关键,其计算是个十分复杂的过程,老驴曾尝试求教做算法的小哥哥帮忙解释一下计算过程,小哥哥委婉回到:当年他初学时,看了四遍才看懂,这是一个非常复杂的过程。言外之意是:给你解释你也听不懂!也罢,专业的事儿留给专业的人去做,不强迫自己理解智力不及的事物。

微信图片_20210201121233.png

但是,作为一个工具使用者要大概明白其过程,其计算过程是:

  • 工具会查表得到当前cell 的sigma, 这部分称为uncorrelated variation:  𝜎𝐷 .
  • 工具会查表得到当前cell 跟其driving cell 的slew sigma.
  • 工具根据以上查出的值用复杂模型计算得到correlated variation: 𝜎𝐷𝑥\_𝑠𝑙𝑒𝑤.
  • 工具用RSS< 开平方 > 计算得到当前cell 真实的delay sigma, 即:

( cell delay real sigma ^ 2 ) = 𝜎𝐷  ^ 2 + 𝜎𝐷𝑥\_𝑠𝑙𝑒𝑤.^ 2.

  • 工具在计算 arrival sigma 时,先要计算一个delta adjust, 其计算过程为:

微信图片_20210201121235.png

report timing 时,用delay\_sigma\_detail 跟arrival\_sigma\_detail 可以显示出详细的sigma 值。

delay\_sigma\_detail:

  • 第一列是查表所得当前cell 的delay sigma;
  • 第二列是用复杂公式计算得到的correlated sigma: 𝜎𝐷𝑥\_𝑠𝑙𝑒𝑤.
  • 第三列用RSS 计算得到的真实delay sigma.

arrival\_sigma\_detail:

  • 第一列是工具计算得到的delta adjust.
  • 第二列是查表所得当前cell 的delay sigma; 跟delay\_sigma\_detail 第一列的值相同
  • 第三列用RSS 计算得到的arrival sigma.

微信图片_20210201121238.png

作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/URngt\_rV-kjCcc6j2kAD2g
作者微信公众号
捕获.PNG

相关文章推荐

人物访谈 | 猎头金娟
读SPEF

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
20190
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息