您的位置:首页 > 编程语言 > C语言/C++

OCV与CPPR模式的理解

2015-08-31 15:33 387 查看
【资料】

OCV模式和CPPR模式的技术层面解答:

OCV是on-chip variation. 是指在同一个芯片上, 由于制造工艺等原因造成的偏差. 具体表现在到两个ff的clk端的时钟路径. 本来时间应该是一样的. 但是因为制造工艺也就是OCV的原因, 造成工具无法计算的快慢偏差.

timing derate. 这个值就是告诉工具, OCV的影响有多大. 通常signoff的时候. derate会有5%到10%. 不同工艺不同设计, 由工程师的经验决定.
如果两个clk path 的长度都是1, 在OCV 分析模式下, 1.05和0.95的derate.
原本是0的 skew就变成了 1x1.05 - 1x0.95 = 0.1的skew.
以上就是OCV和timing derate的关系. 在.18um甚至.13um工艺下. ocv的影响很小, 基本可以不考虑. 但是90nm及以下,基本都会设.

cppr (clock path pessimism removal) 或者 crpr (clock reconveregence pessimism removal)是同一件事情的两种叫法. Cadence公司的叫前者, Synopsys公司的叫后者. 在开启OCV模式之后, 这个选项才有意义.

由于分析方式过于悲观了. 因为两个时钟可能有共同路径. 既然是共同路径, 逻辑上就不可能有偏差. cppr就是干这的. 去除共同路径上过于悲观的估计. 只计算不同路径的OCV影响.

为什么有OCV模式和OCV-CPPR模式?

首先因为有PVT,就是由于半导体器件的参数和很多因素有关,比如制造工艺/运行温度/电源电压等,相对于这些因素,工艺库就会针对不同的环境给出的不同的参数值,这些参数会影响线网和单元的时延delay值。

在不同温度工艺电压下,把时延相关信息分为三档:best,typical,worst

那么,为了保证时许验证的结果是保守的,会采取集中不同的分析模式。STA分析方式主要有三种:single,worst_best,OCV

Single:在单一的情况下进行分析,即在做setup/hold分析时用同一种PVT模式下的时延信息

Worst_best:在分析时同时读入worst和best情况下的延迟信息,用worst下的延迟信息计算

Setup constraints,用best下的PVT模式计算hold time constraints

OCV(on_chip_variation):在分析时同时读入worst情况下的PVT,在进行setup计算时,clock skew采用考虑到加工工艺的不确定性对时延的影响,用PVT中best(shortest)情况下计算,data delay用PVT中worst(longest)情况进行计算。计算Hold时相反。这种分析方式对芯片的timing非常严格。

我的理解

在EDA工具对这个STA问题的处理时,引入了derate的概念,来对应worst和best的PVT时延影响,在不同path计算时可设置derate取其best或worst的时延delay。(在实际操作时,还可能只考虑一条路径上的悲观情况,另另一条路径derate=1,使约束条件更加乐观)

因为OCV模式过于严格,所以才用基于OCV分析方式下的CPPR模式来去除悲观路径的影响,而CPPR实际上还是保留了OCV模式的计算方法和原理,因此我当初理解是认为他们的最大差异在于是否考虑commom path的影响,OCV模式下计算简单电路时共同路径会影响slack的值(乘derate后共同路径延迟相减为负),而采用时cppr不会(共同路径延迟相减为0)。

然而,理解不透彻的是

实际上在工具中ocv模式和cppr都是针对delay来说的,这种情况下二者delay肯定都考虑共同路径的影响,否则delay计算不准确,区别在于是否考虑悲观影响。 

更准确地说:OCV模式考虑共同路径的悲观影响,本身过于悲观,CPPR不考虑common path的悲观估计(计算偏差)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: