SignOff Criteria——OCV applied and results

news2025/1/11 5:51:29

O C V OCV OCV,全称 O n   C h i p   V a r i a t i o n On\ Chip\ Variation On Chip Variation(10.1 片上变化(On-Chip Variations)),是用于 s i g n o f f signoff signoff过程中为了弥补工艺制造过程中的不稳定情况的技术。



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

1.1 w h a t   i s   o c v what\ is\ ocv what is ocv

O n   C h i p   V a r i a t i o n On\ Chip\ Variation On Chip Variation,片上偏差。如下图左侧 w a f e r wafer wafer上面的红色/黄色/绿色框框所示,虽然在一片 w a f e r wafer wafer上,但是因为位于不同的区域,因此在制造过程中总会有这样那样的差别,比如机器没控制好,红框沉积量要比黄框大一个百分比,比如绿框刻蚀的时候稍微严重了一些,等等情况导致 w a f e r wafer wafer上的所有的 d i e die die不尽相同。我们称之为 v a r i a t i o n variation variation。右侧图所示为一个 d i e die die的放大图, v a r i a t i o n variation variation在芯片上的影响就是对 c e l l cell cell n e t net net真实 d e l a y delay delay的影响,那这个就会导致我们真实的 s t d   c e l l std\ cell std cell相关 d e l a y delay delay f o u n d r y foundry foundry提供的标准单元库的相关 d e l a y delay delay有偏差,可能造成芯片的 f a i l fail fail。为了 c o v e r cover cover这种 v a r i a t i o n variation variation,我们在 S T A   s i g n o f f STA\ signoff STA signoff时候引入了 O C V OCV OCV的技术,使得我们的 s i g n o f f signoff signoff更加严格,从而影响工艺制造过程中的影响。一个技术,即使再先进,也是会有误差的。尤其是工艺从百 n s ns ns级别到 n s ns ns级别,些许的误差对于制造效果来说都影响巨大。


1.2 O C V .   E f f e c t   o n   s i g n o f f OCV.\ Effect\ on\ signoff OCV. Effect on signoff

上面提到, v a r i a t i o n variation variation会对 t i m i n g   s i g n o f f timing\ signoff timing signoff产生影响,具体如何影响的详细介绍如下:

  1. N o m a l   m o d e   t i m i n g   s i g n o f f Nomal\ mode\ timing\ signoff Nomal mode timing signoff(不考虑 O C V OCV OCV

如上图所示为不考虑 O C V OCV OCV情况下的 t i m i n g   s i g n o f f timing\ signoff timing signoff ,这时候进行 s e t u p   t i m i n g   c h e c k setup\ timing\ check setup timing check,如果满足图中的公式,就认为时序是没有问题的。

  1. O C V   m o d e   t i m i n g   s i g n o f f OCV\ mode\ timing\ signoff OCV mode timing signoff

当我们考虑了实际的制造过程,那么会出现如下的情况,如下图所示存在与 l a u n c h p a t h launch path launchpath上的 c e l l cell cell可能就比我们拿到的 s t d   c e l l std\ cell std cell d e l a y delay delay值要大一些,而存在与 c a p t u r e   p a t h capture\ path capture path s t d   c e l l std\ cell std cell d e l a y delay delay值要比 s t d   c e l l std\ cell std cell的小一些。

如果我们把 v a r i a t i o n variation variation有具体的数值表示:增加 l a u c h   c l k   d e l a y lauch\ clk\ delay lauch clk delay d a t a   p a t h   d e l a y   Δ 1 data\ path\ delay\ \Delta1 data path delay Δ1,减少 c a p t u r e   p a t h   d e l a y   Δ 2 capture\ path\ delay\ \Delta2 capture path delay Δ2,那么重新作用到 s e t u p setup setup的计算公式上如下图所示,可以看到这两个 Δ \Delta Δ的加入是有可能导致我们这个不等式不成立的,也就是说真实的工作时候,可能是不满足 s e t u p   t i m i n g setup \ timing setup timing检查的,就有可能导致芯片的 f a i l fail fail


1.3 H o w   t o   r e m o v e   t h e   e f f e c t s   o f   O C V How\ to\ remove\ the\ effects\ of\ OCV How to remove the effects of OCV

上面1.2介绍了 o c v ocv ocv s i g n o f f signoff signoff的影响,那么如何消除这个影响呢?可以通过增加 m a r g i n margin margin的方式,其实和 u n c e r t a i n t y uncertainty uncertainty非常相似,就是通过把我们的 c h e c k check check变得更加严格,从而来消除这种影响。 O C V OCV OCV的消除方法是通过设置 d e r a t e derate derate值。比如:对于 l a u n c h   c l o c k launch\ clock launch clock,加上一个统一的大于 1 1 1 d e r a t e derate derate值,就会在 t i m i n g   r e p o r t timing\ report timing report中反映出来,相应的 d e l a y delay delay也会在原始值的基础上乘以这个 d e r a t e derate derate值,相当于增大了 l a u n c h   p a t h launch\ path launch path d e l a y delay delay,而对于 c a p t u r e   c l o c k   p a t h capture\ clock\ path capture clock path,相应地就会加上一个小于 1 1 1 d e r a t e derate derate来计算 d e l a y delay delay,从而减小 l a u n c h   p a t h launch\ path launch path d e l a y delay delay。通过这样的方法来让时序约束更加悲观,以此来覆盖生产中和实际应用中的各种 v a r i a t i o n variation variation。那需不需要考虑减小 l a u n c h   p a t h launch\ path launch path,增大 c a p t u r e   p a t h capture\ path capture path的情况呢?对于 s e t u p setup setup肯定是不需要的,但是对于 h o l d hold hold是需要的。接下来将会详细介绍 d e r a t e derate derate设定的情况。



2. O C V   a p p l i e d   a n d   r e s u l t s OCV\ applied\ and\ results OCV applied and results

2.1 O C V   a p p l i e d OCV\ applied OCV applied

具体的 O C V OCV OCV的实现方法以及效果是如何的呢,这个小部分展开讨论一下。

l a u n c h , c a p t u r e launch, capture launch,capture d a t a p a t h data path datapath上的 c e l l cell cell或者 n e t net net加一个固定的 d e r a t e derate derate数值,使得 s e t u p setup setup h o l d hold hold等时序约束比理想状况更加悲观从而能够覆盖部分实际生产中所产生的 v a r i a t i o n variation variation。如上图所示,针对于 s e t u p   c h e c k setup\ check setup check,所有的 l a u n c h   p a t h launch\ path launch path设置 d e r a t e derate derate 1.1 1.1 1.1,所有的 c a p t u r e   p a t h capture\ path capture path d e r a t e derate derate值设置为 0.9 0.9 0.9。我们在做 h o l d   c h e c k hold\ check hold check时候,那么就会和 s e t u p setup setup时候恰恰相反, l a u n c h   p a t h launch\ path launch path设置 d e r a t e derate derate 0.9 0.9 0.9,所有的 c a p t u r e   p a t h capture\ path capture path d e r a t e derate derate值设置为 1.1 1.1 1.1

如何实现这个设置呢,可以通过在 S D C SDC SDC中增加如下命令的方式:

set_timing_derate -early 0.9
set_timing_derate -late 1.1

当设置这两个 d e r a t e derate derate时候,-early表明我们期望最短的 p a t h path path,也就是期望最严格的检查,那么在 s e t u p setup setup时候,当然 c a p t u r e   p a t h capture\ path capture path越短越严格,同理, h o l d hold hold的时候 l a u n c h   p a t h launch\ path launch path 越短越严格。-late恰恰相反。除此之外,关于set_timing_derate的命令还有很多的写法如下所示,-data/clock表示这个 d e r a t e derate derate作用于 c l o c k   p a t h clock\ path clock path还是 d a t a   p a t h data\ path data pathcell delay/net_delay表示作用于 c e l l cell cell还是 n e t net net

set_timing_derate -early 0.9 –clock/data
set_timing_derate -net_delay/cell_delay -late 1.1
set_timing_derate -cell_delay -early 0.9

2.2 T i m i n g   r e p o r t Timing\ report Timing report

如下图示例很清晰的讲解了 d e r a t e derate derate如何作用于 t i m i n g   s i g n o f f timing\ signoff timing signoff的情况。图中所示标识了 c o m m o n   c l o c k   p a t h   d e l a y common\ clock\ path\ delay common clock path delay 1.2 n s 1.2ns 1.2ns l a u n c h   c l o c k   d e l a y launch\ clock\ delay launch clock delay 0.8 n s 0.8ns 0.8ns d a t a   p a t h data\ path data path 5.2 n s 5.2ns 5.2ns c a p t u r e   c l o c k   d e l a y capture\ clock\ delay capture clock delay 0.86 n s 0.86ns 0.86ns T s e t u p T_{setup} Tsetup 0.35 n s 0.35ns 0.35ns

若按照Nomal mode timing进行setup timing check,及不包括任何用于降额延迟的 O C V OCV OCV设置:

LaunchClockPath + MaxDataPath <= ClockPeriod +
	CaptureClockPath - Tsetup_UFF1

This implies that the minimum clock period = LaunchClockPath +
	MaxDataPath - CaptureClockPath + Tsetup_UFF1

From the figure,
	LaunchClockPath = 1.2 + 0.8 = 2.0
	MaxDataPath = 5.2
	CaptureClockPath = 1.2 + 0.86 = 2.06
	Tsetup_UFF1 = 0.35

This results in a minimum clock period of:
	2.0 + 5.2 – 2.06 + 0.35 = 5.49ns

而当设定如下所示的 d e r a t e derate derate后,那么刚刚描述的内容会发生变化:

set_timing_derate -early 0.9
set_timing_derate -late 1.2
set_timing_derate -late 1.1 -cell_check

此时:

Launch Path = (LaunchClockPath + MaxDataPath) * lateDerate = 
	((1.2+0.8)+5.2)*1.2 = 8.64ns
Capture Path = (CaptureClockPath) * earlyDerate = 
	(1.2+0.86)*0.9+0.351 = 2.239ns
=> MinClockPeriod = 8.64-2.239 = 6.401ns

而因为 c o m m o n   p a t h common\ path common path 1.2 n s 1.2ns 1.2ns的公共部分,过于悲观,去掉这一部分,这个过程叫做 C R P R CRPR CRPR(10.1 片上变化(On-Chip Variations)),去除悲观度。那么真实的可以达到的最小时钟周期 T = 6.401 − 1.2 ( 1.2 − 0.9 ) = 6.041 T = 6.401 - 1.2(1.2-0.9) = 6.041 T=6.4011.2(1.20.9)=6.041

而真实的 d e r a t e derate derate值在 t i m i n g timing timing报告中应该是如下图所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/478095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【hello Linux】可重入函数、volatile和SIGCHLD信号

目录 1. 可重入函数 2. volatile 3. SIGCHLD信号 Linux&#xff01;&#x1f337; 1. 可重入函数 先来谈一下重入函数的概念&#xff1a;重入函数便是在该函数还没有执行完毕便重复进入该函数&#xff08;一般发生在多线程中&#xff09;&#xff1b; 可重入函数&#xff1a…

C++程序设计——lambda表达式

一、问题引入 在C98中&#xff0c;如果想对一个数据集合中的元素进行排序&#xff0c;可以使用sort()方法&#xff0c;但如果待排序元素为自定义类型&#xff0c;就需要用户自己定义排序时的比较规则。 随着C语法的发展&#xff0c;人们开始觉得其编写比较复杂&#xff0c;每次…

Word2vec原理+实战学习笔记(一)

来源&#xff1a;投稿 作者&#xff1a;阿克西 编辑&#xff1a;学姐 视频链接&#xff1a;https://ai.deepshare.net/detail/p_5ee62f90022ee_zFpnlHXA/6 文章标题&#xff1a; Efficient Estimation of Word Representations in Vector Space 基于向量空间中词表示的有效估计…

【计算机网络】学习笔记:第四章 网络层(七千字详细配图)【王道考研】

基于本人观看学习b站王道计算机网络课程所做的笔记&#xff0c;不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系&#xff0c;立删 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0c;如有疑问欢迎…

安装chatglm

地址 下载源代码 下载完成后解压 安装cuda 输入nvcc -V查看是否安装cuda 输入nvidia-smi查看支持的最高版本&#xff0c;最高支持12.1 下载cudahttps://developer.nvidia.com/cuda-downloads 双击安装 同意之后点击下一步 选择精简模式即可 等待下载安装包 …

链接sqlite

一.sqlite库函数 1.sqlite3_open()函数 语法&#xff1a;*sqlite3_open(const char *filename, sqlite3 *ppDb) 作用&#xff1a;该例程打开一个指向 SQLite 数据库文件的连接&#xff0c;返回一个用于其他 SQLite 程序的数据库连接对象。 参数1&#xff1a;如果 filename …

如何在自己的Maven工程上搭建Mybatis框架?

编译软件&#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统&#xff1a;win10 x64 位 家庭版 Maven版本&#xff1a;apache-maven-3.6.3 Mybatis版本&#xff1a;3.5.6 目录 前言 一. 什么是Mybatis框架&#xff1f;1.1 框架是什么&#xff1f;1.2 什么是MyBatis &#xff1f;1…

3.11 C结构体及结构体数组

结构体的意义 问题&#xff1a;学籍管理需要每个学生的下列数据&#xff1a;学号、姓名、性别、年龄、分数&#xff0c;请用C语言程序存储并处理一组学生的学籍。 思考&#xff1a;如果有多个学生&#xff0c;该怎么定义 已学数据类型无法解决。 结构体概述 正式&#xff1a;…

【Sping学习详解】

重新学习Spring很久了&#xff0c;也看了不少的视频&#xff0c;但是没有系统总结&#xff0c;容易忘记&#xff0c;网上寻找相关博客&#xff0c;也没有找到按照路线总结的&#xff0c;只能说不顺我心&#xff0c;所以自己总结一下&#xff01;&#xff01;&#xff01; 从下…

vulnhub靶机dpwwn1

准备工作 下载连接&#xff1a;https://download.vulnhub.com/dpwwn/dpwwn-01.zip 网络环境&#xff1a;DHCP、NAT 下载完后解压&#xff0c;然后用VMware打开dpwwn-01.vmx文件即可导入虚拟机 信息收集 主机发现 端口发现 继续查看端口服务信息 打开网站发现只有Apache默认…

【Spring篇】IOC/DI注解开发

&#x1f353;系列专栏:Spring系列专栏 &#x1f349;个人主页:个人主页 目录 一、IOC/DI注解开发 1.注解开发定义bean 2.纯注解开发模式 1.思路分析 2.实现步骤 3.注解开发bean作用范围与生命周期管理 1.环境准备 2.Bean的作用范围 3.Bean的生命周期 4.注解开发依赖…

行为识别 Activity Recognition

行为识别 行为检测是一个广泛的研究领域&#xff0c;其应用包括安防监控、健康医疗、娱乐等。 课程大纲 导论 图卷积在行为识别中的应用&#xff1a;论文研读&#xff0c;代码解读&#xff0c;实验 Topdown关键点检测中的hrnet&#xff1a;论文研读&#xff0c;代码解读&a…

ETL工具 - Kettle 流程、应用算子介绍

一、Kettle 流程和应用算子 上篇文章对Kettle 转换算子进行了介绍&#xff0c;本篇文章继续对Kettle 的流程和应用算子进行讲解。 下面是上篇文章的地址&#xff1a; ETL工具 - Kettle 转换算子介绍 流程算子主要用来控制数据流程和数据流向&#xff1a; 应用算子则是Kettle给…

ESP32 ESP-Rainmaker 本地点灯控制Demo测试

基于ESP-Rainmaker 本地点灯控制Demo测试 &#x1f33f;ESP-Rainmaker项目地址&#xff1a;https://github.com/espressif/esp-rainmaker/tree/master ✨这个项目早些时候就已经开始测试了&#xff0c;最后卡在了手机APP连接esp32设备端一直无法连接上&#xff0c;也一直没有找…

性能:Intel Xeon(Ice Lake) Platinum 8369B阿里云CPU处理器

阿里云服务器CPU处理器Intel Xeon(Ice Lake) Platinum 8369B&#xff0c;基频2.7 GHz&#xff0c;全核睿频3.5 GHz&#xff0c;计算性能稳定。目前阿里云第七代云服务器ECS计算型c7、ECS通用型g7、内存型r7等规格均采用该款CPU。 Intel Xeon(Ice Lake) Platinum 8369B Intel …

Linux第五章

文章目录 前言一、MySQL5.7版本在CentOS系统安装二、Tomcat安装部署1.安装JDK环境2. 解压并安装Tomcat 三、Nginx安装部署四、RabbitMQ安装部署五、Redis安装部署六、ElasticSearch安装部署七、集群化环境前置准备八、Zookeeper集群安装部署九、Kafka集群安装部署十、大数据集群…

操作系统的进程调度

进程调度概述 一、操作系统的调度时机 1、什么时候进行进程调度&#xff1f; 主动放弃&#xff08;进程正常终止、运行过程中发生异常而终止、进程主动请求阻塞&#xff09; 被动放弃&#xff08;分给进程的时间片用完、有更紧急的事需要处理、有更高优先级的进程进入就绪队列…

CentOS7 安装MySQL8

CentOS7 安装MySQL8 安装 VMware 以及 CentOS更新系统添加 MySQL Yum 存储库安装 MySQL 8启动 MySQL检查 MySQL 状态查看临时密码用临时密码登录修改密码 安装 VMware 以及 CentOS 由于本博主之前写过&#xff0c;在这给出链接&#xff0c;不再赘述了 https://blog.csdn.net/w…

2023.4.30 第五十一次周报

目录 前言 文献阅读 背景 对现有技术的分析 主要思路和贡献 相关性分析和归一化处理 相关性分析 归一化处理 TCN 基于 TCN-LSTM 的 PM 浓度预测模型 敏感性分析 论文思路 求半方差 训练模型 -1 训练模型-2 总结 前言 This week I studied an article that cons…