罗风 · 2021年04月08日

论STA | POCV / SOCV total derate 计算解析

应某猪要求,撸一下POCV/ SOCV total derate 的计算。在没有找到更有效的方法,机器无法承受SSTA 之前,目前看来POCV/ SOCV 似乎是唯一出路,然而为了更完备地模拟各种『因素』对delay 的影响,POCV/ SOCV 看上去很胖,以至于猪同学挠着一头乱发在四海八荒群里『控诉』。

其实POCV/ SOCV 只是看上去胖,解析开也简单,首先要明确当前derate 的对象:

  • cell: 带LVF 信息的library 中的POCV/ SOCV 值都是针对cell 的;
  • net: 在某些工艺点T 会给出一个net 的POCV/ SOCV table; 在没有table 的情况下通常用如下命令设一个定值:

微信图片_20210408102317.png

如果是cell derate, 需要明确是针对cell check 还是cell delay:

  • cell check: 寄存器的setup/ hold time 就是这里的cell check, 如果是flat OCV 可用如下命令设置:

微信图片_20210408102331.jpg

  • cell delay: 就是所有cell 的delay 值。

cell delay 的total derate 由以下几部分内容构成:

  • Guardband derate: 由LVF 定义的POCV/ SOCV 再乘以由set\_timing\_derate -mean/ -sigma 的设置值计算得到;

猪问:为什么LVF 定义了POCV/ SOCV 还需要再用set\_timing\_derate 设一个值呢?

驴答:目前LVF 中定义的POCV/ SOCV 只表征了PVT 中的P, 即工艺偏差,那如果要将温度跟电压对mean 跟sigma 的影响考虑在内时,就需要再用set\_timing\_derate 额外设置。

  • Distance based derate: 标示local variations, 同一条path 上相距越远的cell 之间的variation 越大,该部分derate 也是一张表,由library vendor 提供,其内容大致如下,关于这部分内容后续文章会展开阐述。

微信图片_20210408102336.png

  • incremental derate: 用图示中的命令设置,某些cell 的variation 天生就比别人大,比如delay cell,对于这类cell 如果要加额外的derate 就需要用到该命令;当然也可以用该命令模拟温度和电压对variation 的影响。

微信图片_20210408102338.jpg

在STA 分析中,total derate 是如何计算的呢?C 跟S 的计算公式类似,只是对incremental derate 的处理方式不一致。

微信图片_20210408102340.jpg

关于这部分内容,还有什么疑问,可以私信老驴,我们继续挖掘,争取不留死角,

相关文章往期回顾:

论STA:SOCV / POCV 开篇

论STA | SOCV / POCV 之 variation

论STA | SOCV / POCV 模型

论STA | POCV/SOCV 对lib 的要求

论STA | POCV/ SOCV 之分析

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

论STA | SOCV timing report 进一步解析

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

相关文章推荐

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