POCV (parametric on chip variation)##

本小节介绍pocv相关内容

1. Overview

Process variation可以简单分成die-to-die和on chip variation(ocv),die-to-die的可以通过signoff过程中不同的check view去cover,on chip variation需要通过signoff过程中设置不同的derate值去模拟悲观化相关cell。
OCV:通过在timing path上设置统一的early/late derate做hold和setup的check,这样的设置方式很简单,但同时很粗暴,会导致大部分cell的delay过于悲观,而小部分的可能又过于乐观。
AOCV:不再是在path上设置统一的值,而是通过path depth获取随机variation,distance获取on-die variation的方式进行设置。这种设置相对于ocv更加精确。但是对于gba mode来说,path depth造成的variation的获取还是过于悲观,用pba又会耗费大量的run time。且variation的获取不受trans和load的影响。
POCV:随着随机variation相对于chip variation的占比增大,pocv的出现,能够更好的meet实际的工艺需求。相对于aocv ,大大减小的pba和gba之间的悲观性的差距。能大大减小eco的effort。Pocv对于cell的variation不再是path depth相关的,而是基于统计学搞出来的。每一个cell,都会通过仿真得到相关的高斯分布,那么每一个cell都会拥有相应的mean值和sensit值,在update
timing时候,不再是统计depth计算,大大节省时间。另外POCV也支持aocv中关于chip variation的模型,可以通过distance来进行derate设定。

2. Pocv analysis

Pocv关于cell的random variation到底怎么搞到的?这边简单叙述一下:
如下图上部分,一个cell最大最小值可能限定在一个范围内,那芯片工艺制造之后,它的cell delay落到最大最小值内的概率为1。那通过一系列的spice仿真,发现cell的delay的概率分布非常靠近一个高斯分布,如下图下部分所示。

这是一个概率密度分布函数,对于高斯分布,当我们的delay取值为u+3σ时候对应的概率值为0.9973,因此我们对于cell delay分布类似于高斯分布的variation,一般都设置3σ的方式进行cover。这也是我们POCV的cell delay计算方式:

Delay= Delaymean+3σ,
其中Delaymean其为delay的均值,由lib中的trans/load决定。σ的来源有两种方式,一种是设置single coefficient,σ等于Delaymean * single coefficient;

另外一种是吃相关的LVF文件,里面也是类似于查找表的形式,σ取决于trans和load。

3. Pocv Flow

Pocv 的flow包含以下主要步骤:读入std库,读入pr后的netlist,读入相关的约束文件。然后读入pocv side file(如果是用的lvf格式的lib,那么就不需要这个了)然后读入spef,如果需要设定distance-based的derate那么需要带上坐标信息从而方便计算距离。数据读入后是能pocv的分析然后update timing就可以查看相关的报告了

set_app_var timing_pocvm_enable_analysis true
set_app_var timing_pocvm_corner_sigma 3
read_ocvm pocv_coefficient_file_name
read_ocvm pocv_distance_based_derating_file_name

3.1 Guard-banding in POCV

Guard-banding这个说白了也是一个类似于derate值的东西,但是它和process是无关的。比如我们针对超低电压,或者考虑了ir drop等问题,想而外在已经存在的derate基础上在设置一些悲观度,就可以用这个。

set_timing_derate –cell_delay -pocvm_guardband -early 0.95
set_timing_derate –cell_delay -pocvm_guardband -late 1.05
其对应的计算在如下图所示,这个变量在mean值和sigma值中都会用到

4. Pocv report

report_ocvm -type pocvm –cell_delay –list_not_annotated –coefficient
report_ocvm -type pocvm [get_cells I]
会把用pocv coefficient的cell给表示出来,如果有设置distance derate,也会描述出来,如下图所示没有distance derate

report_timing -derate
这种会在timing 报告中把derate相关的设定个报出来,还会报出mean、sensit、incr、path,其中incr和path不再解释,mean和sensit可以理解为累计的高斯分布函数变量,可以满足incr=mean+/-3*sensit

report_timing -variation
会打出更加详细的pocv相关的高斯变量的报告如下所示,其中Incr对应的mean、sensit、corner对应的为单一cell相应的高斯分布变量,满足corner=mean+/-3sensit,而Path中的相关值为累计高斯分布变量,首先依然满足Value=Mean+/-3sensit,而Path中的Mean等于Path中的前一级Mean加上Incr中的本级别的mean,而Path中的Sensit等于Path中上一级的Sensit的平方值加或减Incr中的sensit的平方值,再开平方。其实某一级别的delay值,在考虑了高斯分布后,就等于本级别Path(Mean,Sensit) + 本级Incr(Mean,Sensit)

report_delay_calculation -from I/I -to I/ZN -derate
可以报告出该cell上到底有设置什么样的derate。如下图所示可以看出来,cell delay derated的计算方式以及sigma的计算方式,而我们上面报告中所示的Incr的Mean值就是cell delay derated的值。而在报告中显示的derate值,也会相应的在如下的计算中体现出来

Signoff Criteria --- ocv/aocv/pocv之POCV介绍相关推荐

  1. Signoff Criteria --- ocv/aocv/pocv之AOCV介绍

    前面一个介绍详细了ocv的使用原因以及使用方法,参考Signoff Criteria - ocv applied and results. OCV一般是针对工艺节点在90nm以上的芯片制造,到了90n ...

  2. Signoff Criteria --- ocv applied and results

    ocv ,全称on chip varation,是用于signoff过程中为了弥补工艺制造过程中的不稳定情况的技术. 1. Overview 1.1 what is ocv? on chip vara ...

  3. OCV、AOCV、POCV、LVF介绍

    芯片在生产过程中,由于外界条件和生产条件的变化,比如PVT,可能会产生不同的误差从而导致同一晶圆上不同区域上的芯片里的晶体管速度变快或者变慢,并因此产生corner概念. BCWC:即为best ca ...

  4. OCV/AOCV/SOCV的介绍和应用

    什么是ocv? 芯片制造过程中,MOS间差异必然存在.library中的cell delay是在某个固定的PVT(operating condition)下仿真得出的.而实际上在芯片内部由于工艺偏差. ...

  5. 片上偏差模式OCV,AOCV,SOCV

    文章目录 片上偏差模式OCV,AOCV,SOCV 一.片上偏差模式OCV,AOCV,SOCV 二.AOCV 三.SOCV 片上偏差模式OCV,AOCV,SOCV OCV:On Chip Variati ...

  6. 【转】OCV、AOCV、POCV、LVF都有什么作用?

    一.前言 这一期我们来讨论一些名词,就是标题里满满当当的英文单词.当然,其中最核心也是最基本的,就是OCV.什么是OCV?它又有什么含义呢?或许后端的朋友们对它相对熟悉些. 某种意义上来说,芯片很脆弱 ...

  7. 数字IC后端知识扫盲——OCV(上)

    还在烦恼IC设计中的OCV, AOCV, POCV, SOCV 和 LVF傻傻分不清?今天我们就来逐个探探它们究竟是什么东西. 芯片在实际生产中,同一片晶圆上的不同区域的芯片,因为各种外部条件和生产条 ...

  8. VLSI Basic2——OCV

    PVT - Corner 是什么 芯片在生产过程中,由于外界条件和生产条件的变化,比如PVT,可能会产生不同的误差从而导致同一晶圆上不同区域上的芯片里的晶体管速度变快或者变慢,并因此产生corner概 ...

  9. STA系列 - 芯片的鲁棒性OCV之set_time_derate

    文章目录 背景 例子 如何实现 什么是early?什么是late? 建立时间的OCV分析 OCV for hold check 参考文章 背景 芯片制造过程中,MOS间差异必然存在.library中的 ...

最新文章

  1. [转]多线程编程指南
  2. 关于SQL Server 2017中使用json传参时解析遇到的多层解析问题
  3. 云路由 vyatta 体验(一)基本设置
  4. 正则表达式 学习笔记4.3
  5. sklearn分类器性能评估
  6. 关于python django开发过程中的常见的问题及解决办法总结
  7. C#设计模式之21-策略模式
  8. NSIS UI 美化类插件分享
  9. python面试题之解释一下python的and-or语法
  10. 图解JVM内存三大核心区域及其JVM内存案例实战剖析
  11. Oracle、 Mysql 、 SQLserver 分页查询
  12. MATLAB通信系统建模
  13. SQL Server 百度网盘免费下载
  14. Multi-level learning based memetic algorithm for community detection笔记
  15. 网络编程入门(代码很详细)
  16. php 母版 登陆,幻灯片母版的作用有哪些
  17. 【MySQL】exists与in的比较
  18. 彻底理解样本方差为何除以n-1
  19. 如何获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓
  20. iOS客户端如何测试推送

热门文章

  1. 2014年无忧停车51park.com.cn北京停车场数据42803条
  2. 记录一次域名转移,天翼云->华为云
  3. 从钱钟书到思维导图,读书到底有多少奥秘?
  4. [最后版本]利用TWAIN-实现与图像输入设备的通讯--孙涛--
  5. Apkbus不错的源码汇总
  6. python程序命令行输出记录到log文件中
  7. 沙龙总结:教育应用开发供需不平衡 专业人才缺乏
  8. 男女友测试题软件,抖音2020男朋友测试题
  9. 游戏测试题目和答案是什么软件,寻求答案 这是一个测试题 我做好了 可不知道答案!...
  10. Cocos2dx面试题(Yanlz+Cocos2dx+CCDirector+CCScene+CCLayer+CCSprite+CCAction+CCAnimation+立钻哥哥+)