什么是ocv?
芯片制造过程中,MOS间差异必然存在。library中的cell delay是在某个固定的PVT(operating condition)下仿真得出的。而实际上在芯片内部由于工艺偏差、电压降、温度变化,cell的delay并不是一个固定值,而是一个随机值,遵循高斯分布或门特卡洛分布,在STA中用OCV来模拟这一特征。OCV全称on chip variation,用于描述不同管子间由于工艺偏差、电压降、温度变化引起的delay变化,也用于描述工艺偏差引起的net厚度宽度的变化从而导致net的RC变化。
OCV详解?
概念:对launch、capture路径整体施加一个固定的derating值
实现方式:set_timing_derate
缺点:没有考虑depth 、distance等,这个值既不能cover最悲观的部分,而对另一部分又过于悲观
优点:设置起来比较简单粗暴,对于不那么先进的工艺可行!
AOCV 详解?
概念:AOCV(Advanced OCV),又叫SBOCV(stage based OCV)引入了对路径长度和整个路径在物理上所跨越的距离的考虑。
实现方式:AOCV derate table (depth or depth & distance),GBA &PBA
优点:
考虑了depth 和distance 对delay的影响,相较于flat ocv更精确
缺点:path depth计算由GBA给出太过悲观,由PBA给出计算量太大。没有考虑单元的transition和load带来的影响
命令:set timing_aocv_analysis_mode {launch_capture | clock_only | separate_data_clock | combine_launch_capture}
path depth
分别计算launch path和capture path 的逻辑级数,GBA模式下如果一个cell 通过两条及以上的path,则该cell 取级数小的derate值;PBA模式下cell的depth为当前所分析path 逻辑级数的精确值
path distance
包括cell distance 和net distance,指从common点开始,timing path 内所有cell 或 net 对应矩形 box 对角线的距离。GBA模式下不考虑distance,如果提供二维table默认选取最后一行以保证distance最悲观;PBA模式下会根据 spef 中提供的坐标计算distance。
SOCV介绍?
概念:SOCV(Statistical OCV),又称POCV(Parametric OCV),是在某个特定PVT 下的SSTA, 即单参数SSTA, 它不再依赖于逻辑级数和distance, 所以也就避免了GBA 模式下计算得到的逻辑级数和distance 过于悲观;同时SOCV 模型考虑了输入transition 跟输出load 的影响,更贴合实际。
实现方式:Side file & lvf
优点:考虑trans和load的影响,精度更高。每个cell / net 的variation 都用正态分布统计参数(u±N*σ)表示,与spice仿真correlation更好