当前位置: 首页 > 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,定义一个委托类…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...

面试高频问题

文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...

验证redis数据结构

一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...