“在追求真理的实践中,不急一步,不慢一步,时间是最好的证明。”
时序分析的目的是为了仿真验证design是否满足时序arrive time和require time的关系要求,时序分析模式的优劣对于芯片在实际的生产中能否依然满足时序要求就有关键性的影响。由此,在时序分析模式的进化史上,几种mode依次登场
。
静态时序分析模式,大概经历了三个主要的阶段:
1. single timing analysis mode
2.best-case and worst-case (BC/WC) timing analysis mode
3.on chip variation (OCV) timing analysis mode
早年间, 不考虑生产环境的影响因素,从时序路径上进行取舍,采用single
timing analysis mode.这里就需要理解early path和 late path的概念。reg2reg之间可能有多条组合路径,最快的一条路径为early,最慢的就是late。在计算setup时,RT(early)-AT(late),计算hold时,AT(early)-RT(late)。
后来,考虑到PVT因素(制程,电压,温度),为了使得仿真结果能cover住实际的情况,就进一步约束,引进了max library(ss)和min library(min),采用BC/WC的模式进行分析。即在计算setup的时候,RT(max)-AT(max),计算hold的时候AT(min)-RT(min)。
但是,在实际环境中,芯片上的不同位置的物理属性会有稍许差异,对路径的delay也会产生影响。这时候就引进了OCV模式(on chip variation)。在计算setup的时候,RT(early)-AT(late);计算hold时,AT(early)-RT(late)
在MMMC情况下,传统ocv模式使用统一的detare factor对path delay进行调节。
violations
data
launch clock
capture clock
setup
-late -data
-late -clock
-early -clock
hold
-early -data
-early -clock
-late -clock
为了防止不必要的悲观情况,引进CPPR来去除clock的公共路径部分的影响,即capture和launch的common path部分不必重复计算。
随着工艺越来越先进,在40nm以下,传统ocv模式的悲观分析消耗了太多余量,不能更好的满足新工艺的需求。所以,又诞生了AOCV(advance OCV)模式。AOCV的特点在于不是单纯的统一划分early和late的factor,而是根据path的length和depth建立二维表,来更加接近实际情况进行仿真计算。
当工艺发展到16nm以下的时候,为了更加准确的仿真时序,SOCV(statistic ocv)被引进了时序分析中。采用了概率统计的方法论,模拟不同延时出现的概率,一般是3西格玛算法来得到不同cell的delay的相应调节系数,在一定程度上消除过悲观的情况。
生产工艺在不断改进,相应的时序分析模式也在不断的进化,从而是的理论和实践能够步调协调,让芯片设计行业朝着更先进的方向不断发展。