Chip上类型完全相同的cell,由于它们所处的位置不同,受到工艺(如掩模、光校准、刻蚀等)、电压、温度等因素的影响不同,导致cell对外呈现出的delay也是不一样的。由于影响的因素较多,delay大体呈现高斯分布的特性。
受到OCV的影响,如果我们单纯地只使用best case或worst case去分析时序,就会遗漏如下一些问题。
- Setup问题
对于一条critical的path,只在worst case下分析可能是没有问题的:
但是如果CLKBUF2的情况要比实际好一点的话(delay),那么就有可能导致setup时间不满足:
- Hold问题
对于一条延迟很低的path,只在best case或worst case下分析可能是没有问题的:
但是如果数据路径比时钟路径稍微好一点的话,那么就有可能导致hold时间不满足:
- Clock Gating问题
对于上图所示的Clock Gating,在worst case下分析可能是没有问题的:
但是如果寄存器D1的clock to Q时间稍微好一点的话,那么最终生成的clk_gate可能会存在毛刺或者被压缩的情况:
因此,我们在做时序分析时,需要利用工具的OCV分析来确保时序在各种情况下都是正确的。
参考:
《My Head Hurts, My Timing Stinks, and I Don’t Love On-Chip Variation》 - Matt Weber