前言
同一块芯片上的晶体管会有变快或者变慢的现象,因此产生了OCV的概念。OCV在path上设置统一的derate,悲观度较高。 为了提高准确性,可以用下面的方法:
AOCV(Advanced On-Chip Variation)
POCV(Parametric On-Chip Variation)
AOCV:
相对于传统OCV在path上设置统一derate值的方法,AOCV更为科学与合理的根据path的实际情况加上不同的derate值。AOCV在传统OCV上引入了对路径长度和整个路径在物理上所跨越的距离的考虑。
随着数据路径(级数)的增长,ocv效应会减弱;但是距离越远的cell之间相对的variation越大,因此随着跨越距离的增加,ocv效应会增强。
既然有了AOCV,为什么要有POCV?
1)工艺进化到14nm后,AOCV分析模式中动态设置时序减免值的方法已经不能满足精度要求,其分析结果的悲观型也无法很好地改变。
2)AOCV需要先分析逻辑深度和物理距离两个因素,再设置时序减免值,导致CPU工作量巨大,时序分析计算时间增加。
3)时序优化过程中增加或者删除缓冲器会改变逻辑深度,然后又需要根据逻辑深度重新选择时序减免值,重新时序计算,迭代次数和时间增加。
POCV:
POCV,又称SOCV(Statistical On Chip Variation),如下图所示,POCV将delay模拟成一个正态分布N(u,σ)。每个cell的delay最高概率出现在u周围。整体落在区间内(μ-3σ,μ+3σ)的概率为99.7%。
POCV中的变量和指令
变量
指令
POCV的设置
enabling pocv
To enable graph-based POCV analysis, set this variable:
pt_shell> set_app_var timing_pocvm_enable_analysis true
loading the Parametric On-Chip Variation Input Data
To load POCV single coefficient information or PO