你永远都不会改变,只是越来越接近真实的自己 STA 中的分析模式

STA分析一直在不断追求以更小的资源消耗来更加的接近真实的芯片工作状态。为此不断推出新的分析模式如bcwc ocv aocv socv(pocv) 等。这里我们不聊高深的aocv socv 只是聊一聊基础的bcwc 和ocv 方便初学者打基础。
先说说BCWC
我们再次拿出这张分析时序经典的图片。(的确很经典,因为描述大部分问题都离不开它)。

红色为launch path 绿色为capture path, 相信大家对这个有感官的认知。(所谓launch path 指的是发射需要被捕捉信号的那个路径,而capture path 指的是捕捉launch path 信号需要走的路径)。cell 延时会受到PVT 的影响增大或者减小,这一点可以通过liberty 来反映, 假设对于延时大的liberty称为max 对于延时小的liberty 称作min。 对于bcwc(best worst)分析模式来讲, launch 和 capture path在setup 分析模式下都会采用max 来分析。对于hold 分析模式下都会采用min来分析。 也就是常说的bcwc setup套一个库, hold 套另一个库。 这种分析方式只在非常老的工艺节点采用。目前的工艺一般不采用这种不够保守不够悲观的分析方法。

为了方便下来的阐述,我们以max /min 来表示liberty pvt 导致的延时最差/最好。 而late/early 指在分析的时候对一条路径采用大一点的延时还是小一点的延时。
接下来我们来谈谈OCV(on chip variation)分析模式。

OCV 模式下,对于setup launch path 采用max 对于 capture path 采用min 。对于hold launch path 采用min 对于 capture path 采用 max 。我们来列一个表阐述bcwc 和ocv的不同

从表中我们可以看到无论是bcwc还是ocv 在算setup launch path 都倾向采用更大的延时计算capture path 采用更小的延时,在计算hold launch path都采用更小的延时,计算capture path 采用更大的延时。 不同点在于套 liberty的方式不同。 Bcwc都采用同一种库来分析 setup launch capture 都用max库。Hold launch capture 都用min库。
Ocv 采用不同的库来分析 setup launch max 库 capture min 库。 Hold launch min库 capture max 库。
OCV 相对来说更加的保守一些。
之所以会有这么多的分析模式都是想要尽可能的接近真实工作的最坏情况。STA中有让情况估计变得非常保守的考虑,也有让情况稍微乐观一点的考虑。STA方法学迭代也是不断地在保守,乐观之间不断的拉扯。在足够悲观的前提下,尽可能的扣出一些资源,并且保证芯片真正工作时时序不要出问题。比较有趣的思考是每次接触到一个新的STA方法时候都不妨来考虑一下,这个方法是往更乐观的角度考虑问题呢,还是往更悲观的角度考虑问题。比如timing derate, ocv, cppr, socv,aocv …
既然说到这里就不得不说一下cppr(clock path pessimism remove) 这是Cadence的叫法
Synopsys 叫(clock reconvergence pessimisim remove)

先来看一张图片

时钟路径最后分开的位置红色标点位置称作common point 或者reconvergence point。从时钟定义处到common point 用紫色表示。 Launch path 采用 late (红色路径)。 Capture path采用early (绿色路径)。 这两种不同的延时差别会导致一个差值称作cppr value 。这个差值的存在会导致分析结果更加悲观。而真实的芯片在工作的时候,这种差值是不可能有的。我们来试想一下,在某一种PVT的情况下信号通过一段路径怎么可能会有差别呢。举一个不恰当的例子,好比投篮时,如果篮球的抛物线,风速,球的旋转,出手角度,力量,等外界因素都确定的情况下,你是不可能投出第二种弧度的。那么既然如此,这种悲观就要被移除,说到这里大家很容易的就会把cppr和ocv联系到一起。那么是否cppr是ocv独有的产物呢。在bcwc模式下有没有CPPR呢?答案是有的。
我们来看下面这个图


在bcwc 模式下对于setup 分析。 Launch capture path 都采用max 库。 但是launch path还是会采用late(试图在所有路径中找到延时最长的) capture path 会采用early (试图在所有路径中找到延时最短的)。这种延时差是由网表导致的,比如图中a与b有着不同的延时。而这种延时差在真正电路工作时候是不存在的。试想一个信号在通过上面的时钟路径到达common point(红色点)处稳定,这个信号稳定的时间点是固定的,是不可能有差值的,这种差值就是CPPR。这就是为什么BCWC分析模式下同样有CPPR的原因。

这次就到这里啦,麻烦关注转发哦亲。

写文章不易,请关注转发公众号ElabTalk。小编在这里谢谢大家。
作者水平有限如有错误还请包涵指出。欢迎大家私信留言评论。

1 个赞