先把SOCV 的坑填完,打算分三篇写完:SOCV 分析、SOCV timing report 解读、SOCV 其它,今天先写SOCV 分析,以Innovus/ Tempus 的使用为例,概述如何读入SOCV 及做SOCV 分析需要的相关设置。建议:回顾前面的内容:
论STA | SOCV / POCV 之 variation
Library reading
目前,SOCV 可以三种形式呈现:
- Timing lib 中带有LVF data, T 家先进工艺的库大多以这种形式呈现,LVF data 集成在timing lib 中,如下图所示,每个timing arc 都有 early/ late 的 ocv\_sigma* 和LVF moment 表格,表格的纵坐标是输入pin 的slew, 表格的横坐标是输出pin 的load.
- 独立的LVF data, 其内容同timing lib 中集成的LVF data 一样。
- 没有SOCV data, 需要基于AOCV 的table 抽取SOCV data.
对于LVF 的三种呈现形式,Innovus 跟Tempus 在single mode single corner (SMSC) 跟multi mode multi corner (MMMC) 读入时有些许差别。
对于不同的lib 需要的注意的点有:
- 先进工艺的LVF libraries 包含两部分内容:
- Early/Late sigma LVF, 在lib 中以ocv\_sigma* 表示。
- LVF 会分别有delay, transtion, constraint 的Early/Late sigma 值,可以通过如下命令选择当前分析使用哪些sigma 值:
- Advanced moments based models, moment Groups 有一大组变量,可以回顾《论STA | POCV/SOCV 对lib 的要求》。
- 可以用如下命令来设置,是否使用LVF 中的moments 数据:
- 如果没有SOCV LVF, 可以用AOCV lib 抽取一个data 来模拟SOCV. 这种flow 只适用于flow tunning, 因为精度不够,不足以用于sign off. 因为AOCV 只有对delay 的variation, 所以无法从AOCV lib 中抽出transtion 跟constraints 的variation.
- 要从AOCV lib 里抽取SOCV 在Innovus 跟Tempus 中必须设置如下变量:
set timing\_library\_infer\_socv\_from\_aocv true
- 在AOCV 跟SOCV 中经常提到sigma 的概念,回顾《论STA | SOCV / POCV 模型》可知,对于正态分布,随机变量落在-1σ \~ 1σ <即1 sigma >间的概率是68.27%,落在-2σ \~ 2σ <即2 sigma >间的概率是95.45%,落在-3σ \~ 3σ <即3 sigma > 间的概率是99.73%. 由此可知3 sigma 可以保证99.73 的情况都可以被覆盖到,所以当前最先进工艺仍用3 sigma 来卡。在用AOCV 抽SOCV 时,可以用如下变量来控制用几sigma, 该值默认是3.
timing\_library\_scale\_aocv\_to\_socv\_to\_n\_sigma
- 除了随机variation 还可以读入Spatial derating file 来模拟distance axis based variation. 在早一点的工艺库中会把depth based 的AOCV variation 跟spatial based 的AOCV variation 分成两张table, 但在新工艺库中,通常会将二者合成一张表。
Innovus/ Tempus 中的变量设置
Innovus 跟Tempus 中SOCV 的相关设置如下表所示。
如果在同一个Design 中,对某个corner 想用flat OCV, 而其他corner 用SOCV; 假设SOCV LVF lib 已在view Definition 中定义好,可以通过如下方式将某个Corner 的SOCV reset 掉,用Flat OCV 的值代替:
- enable SOCV;
- 设置Flat OCV, Sigma variation Derate;
- 将要用flat OCV Corner 的sigma Variation reset 掉,此处为delay\_corner dc1.
- 定义analysis\_view.
对于如上设置,View1 跟View2 的timing report 分别为:
- View1 的sigma 为0,用flat OCV 进行分析。
- View2 用SOCV data 进行分析:
如何理解SOCV 的timing report 且听下会分解。
作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/yFshgulcTNVS8bsCG40Zlg
作者微信公众号
相关文章推荐
更多IC设计技术干货请关注IC设计技术专栏。