PVT - Corner 是什么
芯片在生产过程中,由于外界条件和生产条件的变化,比如PVT,可能会产生不同的误差从而导致同一晶圆上不同区域上的芯片里的晶体管速度变快或者变慢,并因此产生corner概念。
两种不同的PVT环境(BC/WC):
- best case corner(BC):timing-arc的时间最短
- worst case corner(WC):timing-arc的时间最长
OCV模式,AOCV模式,POCV模式,LVF模式均是在不同PVT(不同corner)的基础上添加derate。
为什么需要OCV(On-chip variation)
芯片里面使用很多个cell,只读进来一个库,假定buffer分布在各个地方,只要input transition和output load一样,在库里查表,算出的cell delay一样。
但是由于工艺(P)、电压(V)和温度(T)在大芯片上的变化,延迟具有不确定性。
OCV考虑到芯片上 PVT 变化引起的延迟变化,从而提供更准确的延迟估计。
OCV基本理念:
对launch, capture和data line上的cell或者net加一个固定的derate数值,使得setup和hold等时序约束比理想状况更加悲观从而能够覆盖部分实际生产中所产生的variation。
OCV在path上设置统一的derate,悲观度较高。(derate数值是指对launch、capture、data line的cell或者net上添加一个比理想情况更为悲观的倍数。)
举例:
针对setup,launch的derate统一设置为1.1,表示delay时间增加值原来的1.1倍,
capture的derate统一设置为0.9,表示delay时间变为原来的0.9倍。
从而使设计能够覆盖实际生产过程中产生的variation。针对common path,利用cppr将悲观量移除。
OCV发展:
OCV分类:
AOCV
随着工艺的发展,一条路径处于不同的位置上,乘以系数,过于悲观。当一种cell处于同一条路径,variation是相互抵消的。一个cell处于芯片不同位置所产生的差别,会跟这个cell所处路径的深度(depth)级数、距离有关系,AOCV出现。
AOCV在考虑到实际误差并非统一值的情况下将余量值变成cell级数的函数,从而减少一定的设计悲观量(Pessimism)。
在传统OCV上引入了对路径长度和整个路径在物理上所跨越的距离的考虑。在实际设计中,通过对一条line中cell在不同的逻辑深度时的仿真,以及基于前后级在物理中不同距离来得到一个更精确的derate值来进行时序分析,而不是OCV传统的粗放式的统一的derate。
AOCV derate table:
(1)path depth:基于cell在整条时序路径中所处的深度或者级数来考虑derate
(2)path distance:基于路径中cell或net跨越的物理距离来给出相应的derate
POCV
又称SOCV(Statistical On Chip Variation)。POCV将delay模拟成一个正态分布。每个cell的delay最高概率出现在 u周围。整体落在区间内的概率为99.7%。