前面介绍过传统的timing derate的使用方法,下面介绍下AOCV模式下的timing derate的简单使用。
AOCV Derate:
首先需要了解的是AOCV区别于OCV的地方,AOCV模式是采用更为先进的算法,得到aocv的table,这个table分为一维和二维表格,目前主流使用二维表来描述aocv模式下的derate。区别于传统的derate,这里的derate根据path的distance和depth两个因素来确定不同位置的derate值。
例如,
---------------------------------------
aocv derate table
derate type:early
depth: 1 2 3 4 5
distance: 0 10 20 30 ...
table: 0.91 0.92 0.93 0.95...
---------------------------------------
另外,需要清楚的是,aocv的derate和user derate的区别。aocv的derate是foundry提供的aocv文件,而user derate是需要在aocv的基础上再设置一个调节参数,就同传统的derate一样。当然,最终的total derate就是这两个derate进行相应的运算之后得到的。一般分为乘法运算和加法运算,工具默认情况是乘法运算。
例如,
1.在乘法运算中 -aocv_multip;icative
------------------------------------------------------------------------------------
user derate | aocv derate | total derate | cell delay| arrive time
1.1 1 1.1 0.15 0.15
1.1 0.9 0.99 0.2 0.35
------------------------------------------------------------------------------------
total derate = user * aocv
2.在加法运算中 -aocv_additive
------------------------------------------------------------------------------------
user derate | aocv derate | total derate | cell delay| arrive time
1.1 1 2.1 0.15 0.15
1.1 0.9 2.0 0.2 0.35
-----------------------------------------------------------------------------------
total derate = user + aocv
当然,ocv和aocv模式下,timing derate都有默认的
参考值是1(允许值为0和1),之后的user derate和查表得到的derate都是受参考值影响的。
参考值设置:
set_global timing_derate_ocv_reference_point 1
set_global timing_derate_aocv_reference_point 1
不同参考值下,total derate的计算是有区别的,具体算法如下:
-------------------------------------------------------------------------------
ocv \ aocv ref | 0 | 1
0 ocv+aocv+1 ocv+aocv
1 ocv+aocv ocv+aocv_1
--------------------------------------------------------------------------------
AOCV的derate的简单使用先介绍到这里,后面工艺发展到7nm,SOCV模式开始广发使用,它的derate的使用就稍微复杂一点,后面再讨论。