Signoff Criteria --- ocv/aocv/pocv之POCV介绍

2023-10-30

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值,也会相应的在如下的计算中体现出来
请添加图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Signoff Criteria --- ocv/aocv/pocv之POCV介绍 的相关文章

  • [记录学习]自学动力节点老杜MyBatis笔记_02

    MyBatis自学笔记 首先感谢动力节点和杜老师的教学分享 Respect 学习来源 B站 https www bilibili com video BV1JP4y1Z73S p 1 vd source 07c8a1a7d89af39fe2
  • applicationContext.xml和dispatcher-servlet.xml的区别

    Spring 官方文档介绍如下 Spring lets you define multiple contexts in a parent child hierarchy The applicationContext xml defines
  • python简单使用pyecharts库画多饼图

    from matplotlib pyplot import title from pyecharts options global options import TitleOpts from collections import named
  • JAVA集成华为推送 服务端

    一 注册成为开发者 地址 华为开发者联盟 智能终端能力开放 共建开发者生态 注册步骤参考 文档中心 二 推送的消息形式 华为Push建立了一条从应用服务器到终端App之间的通知消息传输通道 App的开发者通过华为Push平台可以方便的向华为
  • Python机器学习笔记 K-近邻算法

    K近邻 KNN k NearestNeighbor 分类算法是数据挖掘分类技术中最简单的方法之一 所谓K最近邻 就是K个最近的邻居的意思 说的是每个样本都可以用它最接近的k个邻居来代表 KNN算法的核心思想是如果一个样本在特征空间中的K个最
  • LeetCode——动态规划篇(一)

    刷题顺序及思路来源于代码随想录 网站地址 https programmercarl com 目录 509 斐波那契数 力扣 LeetCode 70 爬楼梯 力扣 LeetCode 746 使用最小花费爬楼梯 力扣 LeetCode 62 不

随机推荐

  • node.js安装

    1 下载 https nodejs org en download 点击如下位置 下载下来是msi文件 2 双击mis 3 验证 cmd node 出现版本号完成
  • 基于Java web的校园宿舍管理系统(功能丰富,界面友好)

    运行环境 最好是java jdk 1 8 我们在这个平台上运行的 其他版本理论上也可以 IDE环境 Eclipse Myeclipse IDEA都可以tomcat环境 Tomcat 7 x 8 x 9 x版本均可硬件环境 windows 7
  • 纠错输出码ECOC

    纠错输出码ECOC 即Error Correcting Output Codes 是一种最常用的MvM技术 many vs many多对多 而非训练完成后再去纠错 多分类学习最经典拆分策略 一对一OvO 一对其余OvR 多对多MvM 如果纠
  • hbase的hlog原理-如何保证数据高可靠、如何恢复数据-sequenceid原理

    hbase写入数据时 为了提升写入效率 先写入缓存memory store 默认为128M 缓存满了会触发flush落盘 写入hfile文件 但这种方式并不安全 如果缓存未满之前region server挂掉 还未来得及落盘的数据就会丢失
  • linux添加用户设置密码和用户sudo权限

    下面全部为root权限下操作 添加用户 adduser 用户名 添加密码 passwd 用户名 输入密码 用户添加sudo权限需要修改 etc sudoers 配置 先增加sudoers写入权限 chmod w etc sudoers 然后
  • 使用PlantUml绘制逻辑时序图/波形图

    AgileWave已支持PlantUml在线画图 Git源码参见 https github com cc hook agileWave AgileWave介绍 1 AgileWave 一款时序图绘制神器 2 好消息 源码和验证工具已开源至G
  • web前端开发到底是自学还是去上培训班?

    web前端开发到底是自学还是去上培训班 纠结中 应届毕业生 软件技术专业 去年接触到web前端开发这个行业 但是迷迷糊糊的就知道HTML CSS JS 其他一无所知 就知道做网页加一些网页的动态效果 没有系统的学习 相应的用到就学 没用到的
  • mysql 数据库常用、比较有用的语句

    添加索引 alter table user add index id time index id createTime 删除索引 alter table user drop index id time index 删除多余的 误添加的重复数
  • Android 清除缓存

    获取本机上缓存文件大小 private String taskGetCacheSize long size 0 File file1 getCacheDir File file2 getFilesDir File files new Fil
  • 21个React性能优化技巧

    React 为高性能应用设计提供了许多优化方案 本文列举了其中的一些最佳实践 在以下场景中 父组件和子组件通常会重新渲染 在同一组件或父组件中调用 setState 时 从父级收到的 props 的值发生变化 调用组件中的 forceUpd
  • 引用 C C++

    引用 引用是一个别名 它的作用就是作为目标的别名而使用 对这个引用的改动 就是对目标的改动 定义 例如引用一个整型变量 int a 666 int ra a 引用运算符 与地址操作符使用相同的符号 虽然它们显然是彼此相关的 但它们又是不一样
  • 【Qt QAxObject】使用 QAxObject 高效任意读写 Excel 表

    1 用什么操作 Excel 表 Qt 的官网库中是不包含 Microsoft Excel 的操作库 关于对 Microsoft Excel 的操作库可选的有很多 包含基于 Windows 系统本身的 ActiveX Qt Xlsx xlsL
  • 【Java】基础类型之float(八)

    特征 float 数据类型是单精度 32位 符合IEEE 754标准的浮点数 float 在储存大型浮点数组的时候可节省内存空间 默认值是 0 0f 浮点数不能用来表示精确的值 如货币 float是浮点类型中的一种 以F或f结尾标识 如果不
  • Secrets of RLHF in Large Language Models Part I: PPO

    本文是LLM系列文章 针对 Secrets of RLHF in Large Language Models Part I PPO 的翻译 大型语言模型中RLHF的秘密 上 PPO 摘要 1 引言 2 相关工作 3 人类反馈的强化学习 4
  • 高端技能之教你学会iOS抓包以及Fiddler抓包软件的用法

    软件安装包在最下面 安装fiddler 一路无脑选是 配置 Tools gt Options 第一步 勾选Https Decrypt用于将网页的密文包解为明文包 第二步 勾选Allow的意思是允许手机手动代理之后可以连接 第三步 记住端口号
  • 座舱开发的“道”与“术”

    前言 近年来 随着汽车 新四化 浪潮的兴起 软件定义已成为产业共识 将深度参与到整个汽车的定义 开发验证销售以及服务全过程 一方面确保软件可升级 跨车型 软件甚至跨车企软件重用 另一方面对于硬来讲 要做到可扩展 可更换 甚至做到传感器的即插
  • 单词接龙

    单词接龙 是指一组单词序列 任何两个相邻的单词满足前一个单词的尾字母和后一个单词的首字母相同 接龙长度 接龙中所有单词长度之和 如单词 tea cat dog aid fish 可以形成单词接龙 cat tea aid dog 其中cat为
  • [转]Project2010简易操作指南

    本文转自 http ce sysu edu cn hope Item aspx id 68176 一 启动阶段 1 前期准备 1 新建项目文件 选择 File NewNew 菜单 选择项目模版 打开项目文件 看见任务表格后设定任务自动排期
  • 网络地址不在同一网段能通信吗

    ip地址不一样的主机只要是在同一个网段就可以直接通信 如果在同一网段IP地址相同就冲突了 如果是不同的网段 而且不能通过掩码使其在一个大网段里 那么是不可以直接通信的 在同一网段可以直接通信是通过广播传输的 如果不通网段的话 广播包就过不去
  • Signoff Criteria --- ocv/aocv/pocv之POCV介绍

    POCV parametric on chip variation 本小节介绍pocv相关内容 1 Overview Process variation可以简单分成die to die和on chip variation ocv die t