当前位置: 首页 > news >正文

SignOff Criteria——POCV(Parametric OCV) introduction



1. O v e r v i e w Overview Overview

P r o c e s s v a r i a t i o n Process\ variation Process variation可简单分为 d i e − t o − d i e die-to-die dietodie o n c h i p v a r i a t i o n ( o c v ) on\ chip\ variation(ocv) on chip variation(ocv) d i e − t o − d i e die-to-die dietodie的可以通过 s i g n o f f signoff signoff过程中不同的 c h e c k v i e w check\ view check view c o v e r cover cover o n c h i p v a r i a t i o n on\ chip\ variation on chip variation需要通过 s i g n o f f signoff signoff过程中设置不同的 d e r a t e derate derate值去模拟悲观化相关 c e l l cell cell

  • O C V OCV OCV:通过在 t i m i n g p a t h timing\ path timing path上设置统一的 e a r l y / l a t e d e r a t e early/late\ derate early/late derate h o l d hold hold s e t u p setup setup c h e c k check check,这样的设置方式很简单,但同时很粗暴( g b a gba gba的),会导致大部分 c e l l cell cell d e l a y delay delay过于悲观,而小部分的可能又过于乐观;
  • A O C V AOCV AOCV:不再是在 p a t h path path上设置统一的值,而是通过 p a t h d e p t h path\ depth path depth获取随机 v a r i a t i o n variation variation d i s t a n c e distance distance获取 o n − d i e v a r i a t i o n on-die\ variation ondie variation的方式进行设置。这种设置相对于 o c v ocv ocv更加精确。但是对于 g b a m o d e gba\ mode gba mode来说, p a t h d e p t h path\ depth path depth造成的variation的获取还是过于悲观,用 p b a pba pba又会耗费大量的 r u n t i m e run\ time run time。且 v a r i a t i o n variation variation的获取不受 t r a n s trans trans l o a d load load的影响。
  • P O C V POCV POCV:随着随机 v a r i a t i o n variation variation相对于 c h i p v a r i a t i o n chip\ variation chip variation的占比增大, p o c v pocv pocv的出现,能够更好的 m e e t meet meet实际的工艺需求。相对于 a o c v aocv aocv ,大大减小的 p b a pba pba g b a gba gba之间的悲观性的差距。能大大减小 e c o eco eco e f f o r t effort effort p o c v pocv pocv对于 c e l l cell cell v a r i a t i o n variation variation不再是 p a t h d e p t h path\ depth path depth相关的,而是基于统计学搞出来的。每一个 c e l l cell cell,都会通过仿真得到相关的高斯分布,那么每一个 c e l l cell cell都会拥有相应的 m e a n mean mean值和 s i g m a sigma sigma值,在 u p d a t e t i m i n g update\ timing update timing时候,不再是统计 d e p t h depth depth计算,大大节省时间。另外 P O C V POCV POCV也支持 a o c v aocv aocv中关于 c h i p v a r i a t i o n chip\ variation chip variation的模型,可以通过 d i s t a n c e distance distance来进行 d e r a t e derate derate设定。


2. P O C V A n a l y s i s POCV\ Analysis POCV Analysis

P O C V POCV POCV关于 c e l l cell cell r a n d o m v a r i a t i o n random\ variation random variation到底怎么搞到的?这边简单叙述一下:
如下图上部分,一个 c e l l cell cell最大最小值可能限定在一个范围内,那芯片工艺制造之后,它的 c e l l d e l a y cell\ delay cell delay落到最大最小值内的概率为 1 1 1。那通过一系列的 S P I C E SPICE SPICE仿真,发现 c e l l cell cell d e l a y delay delay的概率分布非常靠近一个高斯分布,如下图下部分所示,这是一个概率密度分布函数。

对于高斯分布,当我们的 d e l a y delay delay取值为 u + 3 σ u+3σ u+3σ时候对应的概率值为 0.9973 0.9973 0.9973,因此我们对于 c e l l d e l a y cell\ delay cell delay分布类似于高斯分布的 v a r i a t i o n variation variation,一般都设置 3 σ 3σ 3σ的方式进行 c o v e r cover cover。这也是我们 P O C V POCV POCV c e l l d e l a y cell\ delay cell delay计算方式:

c e l l d e l a y = d e l a y m e a n + 3 ∗ σ cell\ delay=delay\ mean + 3 * \sigma cell delay=delay mean+3σ

其中 d e l a y m e a n delay\ mean delay mean其为 d e l a y delay delay的均值,由 l i b lib lib中的 t r a n s / l o a d trans/load trans/load决定。

σ σ σ的来源有两种方式:

  • 设置 s i n g l e c o e f f i c i e n t single\ coefficient single coefficient σ = d e l a y m e a n ∗ s i n g l e c o e f f i c i e n t σ=delay\ mean * single\ coefficient σ=delay meansingle coefficient
  • 吃相关的 L V F LVF LVF文件,里面也是类似于查找表的形式, σ σ σ取决于 t r a n s trans trans l o a d load load


3. P O C V F l o w POCV\ Flow POCV Flow


P O C V POCV POCV f l o w flow flow包含以下主要步骤:

  • 读入 s t d std std库,读入 p r pr pr后的 n e t l i s t netlist netlist,读入相关的约束文件;
  • 读入 p o c v s i d e f i l e pocv\ side\ file pocv side file(如果是用的 l v f lvf lvf格式的 l i b lib lib,那么就不需要这个了);
  • 读入 s p e f spef spef,如果需要设定 d i s t a n c e − b a s e d distance-based distancebased d e r a t e derate derate那么需要带上坐标信息从而方便计算距离;
  • 数据读入后打开 p o c v pocv pocv的分析然后 u p d a t e t i m i n g update\ timing 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

G u a r d − b a n d i n g i n P O C V Guard-banding\ in\ POCV Guardbanding in POCV

G u a r d − b a n d i n g Guard-banding Guardbanding这个说白了也是一个类似于 d e r a t e derate derate值的东西,但是它和 p r o c e s s process process是无关的。比如我们针对超低电压,或者考虑了 I R d r o p IR\ drop IR drop等问题,想而外在已经存在的 d e r a t e derate derate基础上在设置一些悲观度,就可以用这个。

set_timing_derate –cell_delay -pocvm_guardband -early 0.95
set_timing_derate –cell_delay -pocvm_guardband -late 1.05

其对应的计算在如下图所示,这个变量在 m e a n mean mean值和 s i g m a sigma sigma值中都会用到:



4. P O C V R e p o r t POCV\ Report POCV Report

report_ocvm -type pocvm –cell_delay –list_not_annotated –coefficient
report_ocvm -type pocvm [get_cells I]

会把用 p o c v c o e f f i c i e n t pocv\ coefficient pocv coefficient c e l l cell cell给表示出来,如果有设置 d i s t a n c e d e r a t e distance\ derate distance derate,也会描述出来,如下图所示没有 d i s t a n c e d e r a t e distance\ derate distance derate


report_timing -derate

这种会在 t i m i n g timing timing报告中把 d e r a t e derate derate相关的设定个报出来,还会报出 m e a n 、 s e n s i t 、 i n c r 、 p a t h mean、sensit、incr、path meansensitincrpath,其中 i n c r incr incr p a t h path path不再解释, m e a n mean mean s e n s i t sensit sensit可以理解为累计的高斯分布函数变量,可以满足 i n c r = m e a n + / − 3 ∗ s e n s i t incr=mean+/-3*sensit incr=mean+/3sensit


report_timing -variation

会打出更加详细的 p o c v pocv pocv相关的高斯变量的报告如下所示,其中 I n c r Incr Incr对应的 m e a n 、 s e n s i t 、 c o r n e r mean、sensit、corner meansensitcorner对应的为单一 c e l l cell cell相应的高斯分布变量,满足 c o r n e r = m e a n + / − 3 ∗ s e n s i t corner=mean+/-3*sensit corner=mean+/3sensit,而 P a t h Path Path中的相关值为累计高斯分布变量,首先依然满足 V a l u e = M e a n + / − 3 s e n s i t Value=Mean+/-3sensit Value=Mean+/3sensit,而 P a t h Path Path中的 M e a n Mean Mean等于 P a t h Path Path中的前一级 M e a n Mean Mean加上 I n c r Incr Incr中的本级别的 m e a n mean mean,而 P a t h Path Path中的 S e n s i t Sensit Sensit等于Path中上一级的 S e n s i t Sensit Sensit的平方值加或减 I n c r Incr Incr中的 s e n s i t sensit sensit的平方值,再开平方。其实某一级别的 d e l a y delay delay值,在考虑了高斯分布后,就等于本级别 P a t h ( M e a n , S e n s i t ) + 本级 I n c r ( M e a n , S e n s i t ) Path(Mean,Sensit) + 本级Incr(Mean,Sensit) Path(MeanSensit)+本级Incr(MeanSensit)


report_delay_calculation -from I/I -to I/ZN -derate

可以报告出该 c e l l cell cell上到底有设置什么样的 d e r a t e derate derate。如下图所示可以看出来, c e l l d e l a y d e r a t e d cell\ delay\ derated cell delay derated的计算方式以及 s i g m a sigma sigma的计算方式,而我们上面报告中所示的 I n c r Incr Incr M e a n Mean Mean值就是 c e l l d e l a y d e r a t e d cell\ delay\ derated cell delay derated的值。而在报告中显示的 d e r a t e derate derate值,也会相应的在如下的计算中体现出来。

http://www.lryc.cn/news/65938.html

相关文章:

  • Android 内存分析(java/native heap内存、虚拟内存、处理器内存 )
  • 产品思维与工程师思维
  • Android---启动速度优化
  • 使用 Mercury 直接从 Jupyter 构建 Web 程序
  • Python基础(二)
  • 第41讲:Python循环语句中的break-else语法结构
  • 双系统-真机安装ubuntu
  • Android实现向facebook回复消息代码
  • IDEA小技巧-Git的回滚强推代码找回
  • 即时通讯为什么不采用UDP的连接方式呢
  • 二叉树(纲领篇)
  • day41—选择题
  • Vue3 watch 监听对象数组中对象的特定属性
  • 请求策略库alova小记
  • [C++]string的使用
  • Kali Linux 操作系统安装详细步骤——基于 VMware 虚拟机
  • R语言APSIM模型应用及批量模拟实践技术
  • 破解马赛克有多「容易」?
  • 【.NET基础加强第八课--委托】
  • jetcache:阿里这款多级缓存框架一定要掌握
  • 干货 | 如何做一个简单的访谈研究?
  • 4年外包出来,5次面试全挂....
  • 基于遗传算法优化的核极限学习机(KELM)分类算法-附代码
  • 评判需求优先级5大规则和方法(纯干货):
  • c++ 11标准模板(STL) std::vector (七)
  • Contest3137 - 2022-2023-2 ACM集训队每月程序设计竞赛(1)五月月赛
  • 如何使用 YOLOv8 神经网络检测图像中的物体
  • Python每日一练:小艺读书醉酒的狱卒非降序数组(详解快排)
  • 手麻系统源码,PHP手术麻醉临床信息系统源码,手术前管理模块功能
  • AUTOSAR - ComM - 学习一 :基础知识+配置