其实POCV/ SOCV 只是看上去胖,解析开也简单,首先要明确当前derate 的对象:
-
cell: 带LVF 信息的library 中的POCV/ SOCV 值都是针对cell 的;
-
net: 在某些工艺点T 会给出一个net 的POCV/ SOCV table; 在没有table 的情况下通常用如下命令设一个定值:
-
cell check: 寄存器的setup/ hold time 就是这里的cell check, 如果是flat OCV 可用如下命令设置:
-
cell delay: 就是所有cell 的delay 值。
- Guardband derate: 由LVF 定义的POCV/ SOCV 再乘以由set_timing_derate -mean/ -sigma 的设置值计算得到;
- Distance based derate: 标示local variations, 同一条path 上相距越远的cell 之间的variation 越大,该部分derate 也是一张表,由library vendor 提供,其内容大致如下,关于这部分内容后续文章会展开阐述。
- incremental derate: 用图示中的命令设置,某些cell 的variation 天生就比别人大,比如delay cell,对于这类cell 如果要加额外的derate 就需要用到该命令;当然也可以用该命令模拟温度和电压对variation 的影响。
在STA 分析中,total derate 是如何计算的呢?C 跟S 的计算公式类似,只是对incremental derate 的处理方式不一致。
关于这部分内容,还有什么疑问,可以私信老驴,我们继续挖掘,争取不留死角,
本文源自微信公众号:陌上风骑驴看IC,不代表用户或本站观点,如有侵权,请联系nick.zong@aspencore.com 删除!