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 die−to−die和 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 die−to−die的可以通过 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 on−die 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 mean∗single 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 distance−based的 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 Guard−banding in POCV
G u a r d − b a n d i n g Guard-banding Guard−banding这个说白了也是一个类似于 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 mean、sensit、incr、path,其中 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+/−3∗sensit

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 mean、sensit、corner对应的为单一 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+/−3∗sensit,而 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(Mean,Sensit)+本级Incr(Mean,Sensit)。

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࿰…...
Vue3 watch 监听对象数组中对象的特定属性
在 Vue 3 中,可以使用 watch 函数来监听对象数组中对象的特定属性。可以通过在回调函数中遍历数组来检查对象的特定属性是否发生变化,并在变化发生时执行相应的操作。 一、监听对象的特定属性 例如,假设有一个名为 items 的对象数组&#x…...
请求策略库alova小记
官方文档地址:https://alova.js.org/zh-CN/get-started/overview 定义 alova是一个简单编码即可实现特定场景的高效请求的请求策略工具。 场景痛点 现在一般的请求场景,一般分为两个部分: 请求部分。一般用axios等库触发http请求…...

[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,定义一个委托类…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...