上篇文章我们谈到了OCV和AOCV,想复习一下的童鞋可以再看看。【阎浮提】后端基础概念:各种OCV一网打尽(上篇)!
简而言之,OCV是由于芯片上因工艺(Process)、电压(Voltage)、温度(Temperature)而导致的各种误差而加入的余量,而AOCV在考虑到实际误差并非统一值的情况下将余量值变成cell级数的函数,从而减少一定的设计悲观量(Pessimism)。
今天我们继续谈谈它们的升级版:POCV和LVF。上次我们说过,实际中由于PVT (Process, Voltage, Temperature) 导致的variation并不是一个或几个固定的值,而是服从类似高斯分布的形态。因此,反映在cell的delay上亦如此:
POCV (Parametric On Chip Variation)
如上图所示,所谓POCV,也称SOCV(Statistical On Chip Variation),就是将cell的delay模拟成一个数学期望为
如果在.lib中提供了sigma的数值,则可以通过公式(1)算出,如果通过read_aocvm读取的POCV的参数文件(包含参数C),则可以通过公式(2)算出,这种通过给定的参数计算cell的OCV delay的方式就是'Parametric'的含义。
那么这和LVF和上面这些东西有什么关系呢?下面我们详细说说。
LVF(Liberty Variation Format)
从它的名字Liberty Variation Format我们可以看出LVF是一种和liberty库文件(.lib)有关的数据格式。我们知道一般情况下无论是AOCV或者POCV,都会有一个专门的文本文件通过特定的命令读取到工具中。以PrimeTime为例,读取AOCV和POCV的命令如下:
read_aocvm $file_name
而除了这种方式之外,我们还有另外一种选择:将POCV的内容集成到类似于liberty文件中,如下图所示:
我们可以看出来,这种形式很像liberty文件中的delay查表。在这里,POCV的coefficient同样是一个基于slew-load的表格。同时,LVF中也可以是基于distance的查表:
需要注意的是,在使用LVF的时候就不能通过read_aocvm读取专用的POCV文本。在PrimeTime中我们也可以通过如下方式report POCV的结果:
至此,关于OCV的话题我们就基本讲完了。在实际设计中虽然还有很多细节需要注意,但是就基本概念来讲,还是希望大家能够理解它们的差别。目前在尖端工艺中,POCV和LVF都在渐渐普及,如果有在做相关项目的童鞋,希望借此机会好好注意项目中是如何使用它们的,这将有助于我们深入理解它们的应用。
时序和noise分析离不开业界应用最广泛的STA工具PrimeTime,如果想深入了解它的使用和STA静态时序分析方法,欢迎学习以下课程!
本课程由2位资深后端工程师倾力打造,包含10+课时的理论讲解和10+课时的动手实验,帮助你全方位理解并掌握PrimeTime的使用和STA分析方法,点击以下链接学习,同时展示上图中的优惠码购买还有优惠哟!
数字电路PT静态时序分析(线上培训班-大班)www.eeeknow.com喜欢的话不要忘了点赞~
如果大家有任何后端技术与职业发展方面的问题,抑或关于数字后端感兴趣的技术话题想要了解和探讨,欢迎关注我的知乎专栏: 【数字IC后端设计工程师修炼之路】
同时欢迎关注微信公众号:数字后端设计芯讲堂,一起探讨技术,共同提升!
往期文章:
【阎浮提】后端基础概念:各种OCV一网打尽(上篇)!
【阎浮提】数字后端基础技能之:Clock Tree Synthesis(CTS)下篇
【阎浮提】数字后端新概念:Inbound Cell是个啥?
【阎浮提】SNUG 2018热点之:机器学习终于来了!
【阎浮提】SNUG 2018热点之:所谓融合技术到底是啥?
【阎浮提】数字后端基础技能之:Clock Tree Synthesis(CTS)中篇
【阎浮提】数字后端基础技能之:Clock Tree Synthesis(CTS)上篇
【阎浮提】数字后端基本技能之:绕线Congestion怎么解?
【阎浮提】献给芯片设计新手:后端设计的基本流程是什么?
【阎浮提】数字后端基础之:芯片的整体功耗是如何计算出来的?
【阎浮提】后端Timing基础概念之:为何ICG容易出现setup violation?
【阎浮提】后端Timing基础概念之:为什么时序电路要满足setup和hold?
【阎浮提】后端Timing基本技能之:Hold Violation怎么修?
【阎浮提】后端Timing基本技能之:Setup Violation怎么修?