SignOff Criteria——AOCV(Advanced OCV) introduction

2023-11-09 21:59

本文主要是介绍SignOff Criteria——AOCV(Advanced OCV) introduction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面一个介绍详细了 O C V OCV OCV的使用原因以及使用方法,参考 S i g n O f f C r i t e r i a —— O C V a p p l i e d a n d r e s u l t s SignOff\ Criteria——OCV\ applied\ and\ results SignOff Criteria——OCV applied and results
O C V OCV OCV一般是针对工艺节点在 90 n m 90nm 90nm以上的芯片制造,到了 90 n m 90nm 90nm以下, 45 n m / 22 n m 45nm/22nm 45nm/22nm等等,如果还用这种 O C V OCV OCV的方法,直接在 d a t a p a t h data\ path data path c l o c k p a t h clock\ path clock path上增加统一的 d e r a t e derate derate值,可能会增加 s i g n o f f signoff signoff的悲观程度,并导致过度设计、降低设计性能和更长的设计周期。因此为了降低我们 s i g n o f f signoff signoff时候 O C V OCV OCV带来的悲观度,引入了更先进的 O C V OCV OCV分析方法: A O C V / P O C V AOCV/POCV AOCV/POCV。其实 A O C V / P O C V AOCV/POCV AOCV/POCV的引入,无非是在 O C V OCV OCV的基础上,降低我们 S T A STA STA的悲观度,从而减少 E C O ECO ECO的工作量。



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

A O C V ( a d v a n c e o c v ) AOCV (advance\ ocv) AOCV(advance ocv)通过使用考虑位置和被分析的每条路径的逻辑深度的可变降额因素,对影响时序的 I C IC IC上的随机和系统变化进行建模。通过使用 l o c a l d e r a t e local\ derate local derate值而不是 g l o b a l d e r a t e global\ derate global derate值,也就是 d a t a p a t h data\ path data path c l o c k p a t h clock\ path clock path不再是统一的一个 d e r a t e derate derate,而是各个不同。通过这种方法降低悲观减少过多的设计余量并减少时序违规。

P O C V ( p a r a m e t r i c o c v ) POCV(parametric\ ocv) POCV(parametric ocv)的出现是因为 A O C V AOCV AOCV的方法,根据逻辑深度进行设置依然是一种简单的方法,依然可能造成过于悲观。 P O C V POCV POCV是基于每一个 c e l l cell cell进行单独的高斯分布的建模处理, c e l l cell cell d e r a t e derate derate不再受逻辑深度的影响。

如下图为不同的 O C V OCV OCV技术对应的 S T A STA STA的悲观程度:



2. A O C V P r i n c i p l e I n t r o d u c t i o n AOCV\ Principle\ Introduction AOCV Principle Introduction

A d v a n c e d O n C h i p V a r i a t i o n Advanced\ On\ Chip\ Variation Advanced On Chip Variation,相比较于 O C V OCV OCV来说,对于悲观度的去除很有效。相较于 O C V OCV OCV对于整个 d e s i g n design design中的 l a u n c h / c a p t u r e p a t h launch/capture\ path launch/capture path设置统一的 d e r a t e derate derate值, A O C V AOCV AOCV通过将 c e l l d e r a t e cell\ derate cell derate值与 c e l l cell cell的逻辑深度以及实际的位置结合起来进行 d e r a t e derate derate值的设定。那么这种derate如何能够设置到具体的cell呢,其实是我们在跑STA时候会读入相关的 a o c v l i b f i l e aocv\ lib\ file aocv lib file,里面有专门对相关的 c e l l cell cell进行的 a o c v d e r a t e aocv\ derate aocv derate值的描述。举例如下所示为 3.0 3.0 3.0版本的一个INV A O C V AOCV AOCV描述:

> version: 3.0
> group_name: core_tables
> object_type: lib_cell
> object_spec: LIB/INVX1
> rf_type: rise fall
> derate_type: late
> path_type data clocck
> depth: 1 2 3 4 5
> distance: 500 1000
> table: \
> 1.123 1.119 1.080 1.060 1.054 \
> 1.125 1.121 1.082 1.062 1.056

该部分是一个二维表格的描述,如果只有一维表格描述,一般就只有 l o g i c a l d e p t h logical\ depth logical depth相关的内容,没有 d i s t a n c e distance distance相关内容。那我们知道了相关的 d e r a t e derate derate值如何查找表得到,可是这个查找表的输入两个值: l o g i c a l d e p t h logical\ depth logical depth d i s t a n c e distance distance又是从何而来呢?接下来介绍的两种技术: G B A m o d e GBA\ mode GBA mode P B A m o d e PBA\ mode PBA mode,其中两种 m o d e mode mode对应的悲观度不同,对应的 l o g i c a l d e p t h logical\ depth logical depth d i s t a n c e distance distance值不同,相应的结果也不同。


2.1 G B A − A O C V GBA-AOCV GBAAOCV

2.1.1 A b o u t L o g i c a l D e p t h About\ Logical\ Depth About Logical Depth

基于 G B A m o d e GBA\ mode GBA mode A O C V AOCV AOCV技术,关于 l o g i c a d e p t h logica depth logicadepth的获取,如下图所示,拿buf0为例来讲,用 G B A GBA GBA的方式获取buf0相关的 p a t h path path ,那么他的 l o g i c a l d e p t h logical\ depth logical depth值就会有多个:

  • 比如作为 d a t a p a t h data\ path data path时候,buf0FF1有三个 c e l l cell cell,因此 l o g i c a l d e p t h logical\ depth logical depth 3 3 3
  • 作为 l a u n c h p a t h launch\ path launch path时候,buf0FF2/D有两种可能5/6,取较小者 5 5 5
  • 作为 c a p t u r e p a t h capture\ path capture path时候,buf0FF2/CP 4 4 4 c e l l cell cell,因此 l o g i c a l d e p t h logical\ depth logical depth 4 4 4,而buf0在报FF1FF2的这条 p a t h path path时候会取 3 3 3。因为会取 G B A m o d e GBA\ mode GBA mode下抓取的所有的 l o g i c a l d e p t h logical\ depth logical depth中的最小值。因为在上面的 l i b lib lib里面可以看到, l o g i c a l d e p t h logical\ depth logical depth越小,相应的 d e r a t e derate derate值也越大。所以说 G B A GBA GBA会取最悲观的数据进行 d e r a t e derate derate设置。
2.1.2 A b o u t d i s t a n c e About\ distance About distance

无论是基于 c e l l cell cell计算 d i s t a n c e distance distance还是基于 n e t net net计算 d i s t a n c e distance distance G B A m o d e GBAmode GBAmode下,总会选取整个 G B A m o d e GBAmode GBAmode组里面最大的那个 d i s t a n c e distance distance值作为我们 G B A c h e c k GBA\ check GBA check时候的 d e r a t e derate derate值的设置依据,因为在二维查找表总可以看出来的, d i s t a n c e distance distance越大,对应的 d e r a t e derate derate也是越大的,距离越远意味着我们工艺制造过程中的差距可能越大。


2.2 P B A − A O C V PBA-AOCV PBAAOCV

P B A m o d e PBA\ mode PBA mode其实是在 G B A GBA GBA抓取的 p a t h g r o u p path\ group path group组里面进行更加细致的分析,不像 G B A GBA GBA那么的悲观,但是相对来说所需 r u n t i m e run\ time run time就要更长了。

2.2.1 b u i l d L o g i c a l D e p t h build\ Logical\ Depth build Logical Depth

关于 P B A m o d e PBA mode PBAmode下的 p a t h path path获取,如下图所示,首先会去除一个 c o m m o n p o i n t common\ point common point,因为相同的 c o m m o n common common点,也就是同一个 c e l l cell cell,在实际的特定的工作条件下的相关属性是一定的,不可能由于被分为 l a u n c h launch launch或者 c a p t u r e capture capture而改变,因此在 S T A p a t h STA\ path STA path中会增加 c r p r crpr crpr的技术取消除 c o m m o n p o i n t common\ point common point的悲观性。言归正传, P B A PBA PBA的就是非常具体的 p a t h path path的分析了,如下图所示,为FF1FF2 t i m i n g p a t h timing\ path timing path,针对这条 p a t h path pathbuf0作为 c o m m o n p o i n t common\ point common point点不用关注,而穿过FF1 p a t h path path就只能被认为是 l a u n c h p a t h launch\ path launch path d e p t h depth depth 5 5 5/ 6 6 6不同对应不同的 t i m i n g timing timing报告。而 c a p t u r e p a t h capture\ path capture path在经过约束的分析之后也只能作为 c a p t u r e p a t h capture\ path capture path,因为它到FF2/ck端口,不可能是 d a t a p a t h data\ path data path,因此 c a p t u r e p a t h capture\ path capture path d e p t h depth depth 3 3 3。可以看到 P B A PBA PBA G B A GBA GBA的区别, P B A PBA PBA具体到每一条真实的 p a t h path path,不会把一个 g r o u p group group p a t h path path放在一起分析,而 G B A GBA GBA是把一个 g r o u p group group p a t h path path里面最差的情况用到了所有的 p a t h path path中。因此 P B A PBA PBA降低了悲观度。

2.2.1 G e t d i s t a n c e Get\ distance Get distance

关于 d i s t a n c e distance distance P B A PBA PBA G B A GBA GBA也是不同的,这个不同之处和 d e p t h depth depth的获取有类似的情况。如下图所示, P B A PBA PBA针对的是一条具体的 p a t h path path,那么它的 d i s t a n c e distance distance就是唯一的,每一个 c e l l cell cell d i s t a n c e distance distance也就是唯一的,而不像 G B A GBA GBA中的选取这个 g r o u p group group组中的最大的 d i s t a n c e distance distance值去进行计算,因此来说 P B A PBA PBA是降低了悲观度的。



3. U s a g e o f A O C V Usage\ of\ AOCV Usage of AOCV

S T A STA STA阶段如何使用 A O C V AOCV AOCV,其实就是正常的需要的内容读入,参考Timing Check – Timing signoff env之后,设置 a o c v a n a l y s i s aocv\ analysis aocv analysis e n a b l e enable enable然后 s p e c i f y a o c v specify\ aocv specify aocv相关信息即可。

> set_app_var timing_aocvm_enable_analysis true

设置了这个命令之后,在 u p d a t e t i m i n g update\ timing update timing步骤,会自动进行 G B A a o c v GBA\ aocv GBA aocv t i m i n g u p d a t e timing\ update timing update

> read_aocvm xxx.aocvm

这个就是 l i b lib lib相关的读入了,只有读入了才会有相关的二维查找表。

这两个就是主要的 A O C V AOCV AOCV读入的必不可少的内容。当我们搞完之后如何查看我们的 A O C V AOCV AOCV的设置呢?可以通过:

> report_aocvm  会打印出被aocvm annotated的cell的数量
> report_aocvm [get_timing_path -from FF1/CP -to FF2/D] -path_type full_clock -pba_mode path 会把相关的path的distance/launch depth/capture depth搞出来
> reportt_aocvm [get_timing_arc -from buf0/I to buf0/Z] 会把buf0相关的详细的aocvm信息打印出来


4. A t t e n t i o n s Attentions Attentions

  • a o c v f i l e aocv\ file aocv file支持一维和二维查找表;
  • 有很多相关的变量设置针对我们在实际计算时候如何考虑 d a t a / c l o c k d e p t h data /clock\ depth data/clock depth的内容,或者针对 c l o c k / d a t a clock/data clock/data设置 d e r a t e derate derate内容等等还是很复杂的不展开讨论,可自行研究;
  • g u a r d − b a n d i n g guard-banding guardbanding是人为设定的和工艺无关的和 a o c v aocv aocv有关的影响因子,比如和 I R d r o p IR\ drop IR drop专门设定 m a r g i n margin margin等等。在设定了 g u a r d b a n d guardband guardband的影响因子之后,对于一条 a r c arc arc上的总的影响就是 F a o c v ∗ F g u a r d b a n d Faocv*Fguardband FaocvFguardband g u a r d b a n d guardband guardband只对 a o c v aocv aocv的内容有影响,之外毫无影响;
set_timing_derate -aocvm_guardband -early 0.95
set_timing_derate -aocvm_guardband -late 1.05
  • o c v ocv ocv a o c v aocv aocv之间的优先级是有一些规定的,感兴趣的可以自己研究。可以通过控制某些变量让 o c v ocv ocv的设置或者 a o c v aocv aocv的设置无效。如果 o c v ocv ocv a o c v aocv aocv都想用到,那么可以通过在命令中增加-increment命令,使得 d e r a t e derate derate可以叠加。比如本来 a o c v aocv aocv g u a r d b a n d guard band guardband计算之后buf0late derate 1.05 1.05 1.05early 0.95 0.95 0.95,那么加上如下命令,最终late 1.08 1.08 1.08early 0.92 0.92 0.92
set_timing_aocvm_enable_analysis true 设置了aocv
set_timing_derate -increment -late 0.03 [get_cells buf0]
set_timing_derate -increment -early -0.03 [get_cells buf0]

这篇关于SignOff Criteria——AOCV(Advanced OCV) introduction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/378671

相关文章

AI基础 L1 Introduction to Artificial Intelligence

什么是AI Chinese Room Thought Experiment 关于“强人工智能”的观点,即认为只要一个系统在行为上表现得像有意识,那么它就真的具有理解能力。  实验内容如下: 假设有一个不懂中文的英语说话者被关在一个房间里。房间里有一本用英文写的中文使用手册,可以指导他如何处理中文符号。当外面的中文母语者通过一个小窗口传递给房间里的人一些用中文写的问题时,房间里的人能够依

PAT (Advanced Level) Practice——1011,1012

1011:  链接: 1011 World Cup Betting - PAT (Advanced Level) Practice (pintia.cn) 题意及解题思路: 简单来说就是给你3行数字,每一行都是按照W,T,L的顺序给出相应的赔率。我们需要找到每一行的W,T,L当中最大的一个数,累乘的结果再乘以0.65,按照例子写出表达式即可。 同时还需要记录每一次选择的是W,T还是L

Introduction to Deep Learning with PyTorch

1、Introduction to PyTorch, a Deep Learning Library 1.1、Importing PyTorch and related packages import torch# supports:## image data with torchvision## audio data with torchaudio## text data with t

【持续更新】Advanced Download Manager 14.0.35 Pro安卓ADM下载神器最新高级免费修改版

这个也算小有名气,名字和 idm 有点像。当程序从剪贴板中截取链接后,您可以将其复制并发送至ADM编辑器,或者使用“添加”按钮粘贴链接。 ▨ ADM 有以下特点: • 该应用支持同时下载最多三个文件 • 通过多线程技术(9个部分)加速下载过程 • 从安卓浏览器及剪贴板中拦截链接 • 后台下载文件,并在失败后自动恢复 • 支持图片、文档、压缩包及程序的加载 • 针对Lollipop和Ma

【Agent】Agent Q: Advanced Reasoning and Learning for Autonomous AI Agents

1、问题背景 传统的训练Agent方法是在静态数据集上进行监督预训练,这种方式对于要求Agent能够自主的在动态环境中可进行复杂决策的能力存在不足。例如,要求Agent在web导航等动态设置中执行复杂决策。 现有的方式是用高质量数据进行微调来增强Agent在动态环境中的决策能力,但这往往会出现复合错误和有限的探测数据,最终导致结果不够理想。 2、提出方法 Agent Q 框架将蒙特卡洛树搜

Zabbix 企业级高级应用(Zabbix Enterprise Advanced Application)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老 导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。 常用运维工具系列:常

RFC6455-The WebSocket protocol 之一:1. Introduction

1. Introduction 1、介绍 1.1. Background 1.2 背景 _This section is non-normative._ 这部分是非正式的。 Historically, creating web applications that need bidirectional communication between a client and a server (

PAT (Advanced Level) Practice

1001:  题目大意: 计算 a+b 的结果,并以标准格式输出——即每三个数字一组,组之间用逗号分隔(如果数字少于四位,则不需要逗号分隔)  解析: 我们知道相加右正有负,对于样例来说 Sample Input: -1000000 9 Sample Output: -999,991 如果是从左往右,算上负号的话输出应该是-99,999,1 从右往左:-,999,991离正确

语音信号处理1:Introduction

参考An introduction to signal processing for speech,From Dan Ellis @ Columbia University,Chapter 22 in Handbook of Phonetic Science ,极好的入门引导,摘录+补充。 This chapter aims to give a transparent and intuitiv

基于医学图像配准软件 ANTs(Advanced Normalization Tools)提取脑图像数值并与临床量表计算相关

前言: 神经影像学与临床评估的结合正在革新我们对神经精神疾病的理解。本博客聚焦于如何利用先进的医学图像配准软件ANTs(Advanced Normalization Tools)提取脑图像数值,并将其与临床量表进行相关性分析。 目录   一、准备掩模(Mask) 二、准备T-value map T-map 和 Z-map的转化 比较同一结果的T-map和Zmap 三、提取Mask