当前位置: 首页 > 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值,也会相应的在如下的计算中体现出来。

相关文章:

SignOff Criteria——POCV(Parametric OCV) introduction

文章目录 1. O v e r v i e w Overview Overview2. P O C V A n a l y s i s POCV\ Analysis POCV Analysis3. P O C V F l o w POCV\ Flow POCV Flow4. P O C V R e p o r t POCV\ Report POCV Report 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…...

Android 内存分析(java/native heap内存、虚拟内存、处理器内存 )

1.jvm 堆内存(dalvik 堆内存) 不同手机中app进程的 jvm 堆内存是不同的,因厂商在出厂设备时会自定义设置其峰值。比如,在Android Studio 创建模拟器时,会设置jvm heap 默认384m , 如下图所示: 当app 进程中java 层 new 对象(加起来总和)占用…...

产品思维与工程师思维

目录标题 什么是产品思维用户痛点体验价值 产品思维与工程师思维有什么区别?产品需要什么能力洞察需求的能力逻辑思维能力成本意识 场景化思维和用户体验数据分析和售后服务数据分析服务大多数用户原则 什么是产品思维 产品思维就是考虑产品的方方面面,…...

Android---启动速度优化

App 启动流程 1. 点击桌面 App 图标,Launcher 进程采用 Binder IPC 向 system_server 进程发起 startActivity 请求 ; 2. system_server 进程接收到请求后,向 zygote 进程发送创建进程的请求; 3. zygote 进程 fork 出新的子进程…...

使用 Mercury 直接从 Jupyter 构建 Web 程序

动动发财的小手,点个赞吧! 有效的沟通在所有数据驱动的项目中都至关重要。数据专业人员通常需要将他们的发现和见解传达给利益相关者,包括业务领导、技术团队和其他数据科学家。 虽然传达数据见解的传统方法(如 PowerPoint 演示文…...

Python基础(二)

目录 一、类型转换 1、为什么需要数据类型转换 2、数据类型转化的函数 3、str()函数类型转换使用 4、int()函数类型转换使用 4.1int()不能将str类型数据转换成int 4.2int()将bool类型转换成int 4.3int()将float转换成int 5、Float()函数类型转换使用 5.1Float()函数不…...

第41讲:Python循环语句中的break-else语法结构

文章目录 1.在循环正常结束后执行动作的思路2.通过控制布尔值变量的方式在循环正常结束后执行某些操作2.1.while循环语句2.2.for-in循环语句3.通过else从句来执行某些操作1.在循环正常结束后执行动作的思路 在执行while循环语句或者for循环语句时,如果循环是正常结束的,非执…...

双系统-真机安装ubuntu

服务器系统最好选择legacy启动mbr硬盘,数据盘可以使用gpt格式,超过2t的只能用gpt。 华为2288v3用uefi找不到启动硬盘,或者是找到硬盘后无法引导,迁移系统得到有efi引导文件的硬盘也不行,选择用legacy吧。 ubuntu默认uefi启动,若使用legacy,则需要easybcd处理一下引导。 …...

Android实现向facebook回复消息代码

以下是一个示例代码,它基于Facebook SDK版本5.0,具体实现如下: 1. 集成Facebook SDK库 下载Facebook SDK并将其加入到Android Gradle构建文件中,像这样: groovy dependencies { implementation com.facebook.an…...

IDEA小技巧-Git的回滚强推代码找回

标题IDEA小技巧-Git的回滚&&强推&&代码找回 本地未Commit 新增文件 delete 变更文件 rollback 第一种方式 第二种方式 切换默认变更列表 Commit未push undo commit 仅适用于最后一次的提交进行回滚 drop commit 回滚 revert commit revert commi…...

即时通讯为什么不采用UDP的连接方式呢

即时通讯为什么不采用UDP的连接方式呢 博主今天从网络上找了几个比较关注的热点的内容进行讲解 1.首先介绍一下UDP连接的缺点 不可靠:UDP是一种无连接的传输协议,它不提供数据包的可靠传输保证。这意味着当使用UDP进行通信时,数据包可能会丢…...

二叉树(纲领篇)

文档阅读 文档阅读 二叉树解题的思维模式分两类: 1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个 traverse 函数配合外部变量来实现,这叫「遍历」的思维模式。 2、是否可以定义一个递归函数,通过子问题&a…...

day41—选择题

文章目录 1.某主机的IP 地址为 180.80.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是(D)2.ARP 协议的功能是(A)3.以太网的MAC 协议提供的是(A&#xff0…...

Vue3 watch 监听对象数组中对象的特定属性

在 Vue 3 中,可以使用 watch 函数来监听对象数组中对象的特定属性。可以通过在回调函数中遍历数组来检查对象的特定属性是否发生变化,并在变化发生时执行相应的操作。 一、监听对象的特定属性 例如,假设有一个名为 items 的对象数组&#x…...

请求策略库alova小记

官方文档地址:https://alova.js.org/zh-CN/get-started/overview 定义 alova是一个简单编码即可实现特定场景的高效请求的请求策略工具。 场景痛点 现在一般的请求场景,一般分为两个部分: 请求部分。一般用axios等库触发http请求&#xf…...

[C++]string的使用

目录 string的使用:: 1.string类介绍 2.string常用接口说明 string相关习题训练:: 1.仅仅反转字母 2.找字符串中第一个只出现一次的字符 3.字符串里面最后一个单词的长度 4.验证一个字符串是否是回文 5.字符串相加 6.翻转字符串…...

Kali Linux 操作系统安装详细步骤——基于 VMware 虚拟机

1. Kali 操作系统简介 Kali Linux 是一个基于 Debian 的 Linux 发行版,旨在进行高级渗透测试和安全审计。Kali Linux 包含数百种工具,适用于各种信息安全任务,如渗透测试,安全研究,计算机取证和逆向工程。Kali Linux 由…...

R语言APSIM模型应用及批量模拟实践技术

查看原文>>>基于R语言APSIM模型高级应用及批量模拟实践技术 目录 专题一、APSIM模型应用与R语言数据清洗 专题二、APSIM气象文件准备与R语言融合应用 专题三、APSIM模型的物候发育和光合生产模块 专题四、APSIM物质分配与产量模拟 专题五、APSIM土壤水平衡模块 …...

破解马赛克有多「容易」?

刷短视频时,估计大家都看过下面这类视频,各家营销号争相曝光「一分钟解码苹果笔刷背后内容」的秘密。换汤不换药,自媒体们戏称其为「破解马赛克」,殊不知让多少不明真相的用户建立起了错误的认知,也让苹果笔刷第 10086…...

【.NET基础加强第八课--委托】

.NET基础加强第八课--委托 委托(Delegate)委托操作顺序实例多播委托—委托链实例实例委托传值 委托(Delegate) 委托(Delegate) 是存有对某个方法的引用的一种引用类型变量 委托操作顺序 1,定义一个委托类…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...