AOCVSBOCV、AOCV table

news2024/9/23 11:26:29

文章目录

  • AOCV(Advanced OCV)&SBOCV(Stage Based OCV)---更精确,剔除悲观度
    • Random variation(Depth/Stage based AOCV)
    • Systematic variation(Distance based AOCV)
    • 一维AOCV table
    • 二维AOCV table
      • Table Group tag
      • Table Voltage
      • Table ID tag
        • [Early | Late]
        • [Rise | Fall]
        • [Clock | Data]
      • Object ID
  • GBA/PBA AOCV
    • GBA(Graph-Based Mode) AOCV
      • Simple graph-based Example:
      • AOCV-Graph Based - Effective Stage Counting
  • AOCV Derating Table
    • Example of a derating table with 4 Distance indices and 5 Stage indices:
    • Examples of Cadence AOCV Derating Library
    • 2-D derating table
  • Configuring AOCV Analysis
    • Min/Max Configuration
    • MMMC Configuration(viewdefination.tcl)

AOCV(Advanced OCV)&SBOCV(Stage Based OCV)—更精确,剔除悲观度

   BCWC:即为best case corner和worst case corner,分别代表两种不同的PVT环境。BC时,timing-arc的时间最短,WC时,timing-arc的时间最长。OCV模式,AOCV模式,POCV模式,LVF模式均是在不同PVT(不同corner)的基础上添加derate。

   OCV使用set_timing_derate来设置,只能对path type:data/clock, delay type:cell/net, derate type:late/early分别设不同的值(过度悲观了,delay随机分布符合高斯分布曲线,normal delay cell多,decrease delay cell和increase delay cell数量少)。

 set_timing_derate    # Specify constant delay derating factor
   -early                 (Specify early derate factor)
   -late                  (Specify late derate factor)
   [-rise]                (Specify rise derate factor)
   [-fall]                (Specify fall derate factor)
   [-data]                (Specify derate factor for data paths only)
   [-clock]               (Specify derate factor is for clock paths only)
   [-cell_delay]          (Specify derate factor for cell delays only)
   [-cell_check]          (Specify derate factor for cell timing checks only)
   [-net_delay]           (Specify derate factor for net delays only)
   [-static]              (Specify derate factor for non-delta delays only)
   [-dynamic]             (Specify derate factor for delta delays only)
   [-scalar]              (Specify derate factor for deterministic delays only)
   [-aocvm_guardband]     (Specify an AOCVM guardband derate factor)
   [-pocvm_guardband]     (Specify a POCVM guardband derate factor)
   [-pocvm_subtract_sigma_factor_from_nominal]
                          (Specify a POCVM sigma factor used to subtract sigma from nominal)
   [-pocvm_coefficient_scale_factor]
                          (Specify a POCVM coefficient scale factor)
   [-increment]           (Specify an incremental derate factor)
   derate_value           (Derate factor)
   [object_list]          (List of cells, library cells or nets)

   由于随机性,不可能一条path上的所有cell都同时悲观,它们之间的**random variation(stage base OCV)**是可以相互抵消的。用单一的derate来模拟OCV是太过悲观的,而且随着工艺进步设计频率提高,这种悲观度已无法承受。于是在65nm引入AOCV的概念,40nm开始在timing sign-off中采用,28nm开始大量使用。

   AOCV是一种用伪统计(pseudo-statistical )来模拟variation的方法,相对于传统OCV更精确,它用于模拟random 和systematic variations:

在这里插入图片描述


Random variation(Depth/Stage based AOCV)

  • Models reduced random variation effects of paths with increasing gate stages
  • Depth based AOCV,用于模拟Local variation,由于random variation相互抵消作用,derate随着路径深度的增加变得不那么悲观(接近derate factor = 1)
  • 从CPPR common point 开始算起
    在这里插入图片描述

Systematic variation(Distance based AOCV)

  • Models increased systematic variation over longer paths

  • 根据芯片制造过程的统计特性,距离越远的cell之间相对的variation越大,所以用distance based AOCV来描述距离跟derate之间的关系,距离越大derate越悲观,这个距离是指一条timing path所在物理范围对角线的长度

  • timing path的位置信息由SPEF提供,这要求抽SPEF时需要将坐标信息抽出,在STA中读SPEF时要把SPEF的坐标读入。


一维AOCV table

  • 一维table的index是depth/stage
  • It is possible to have a 1-D distance based derating table, but the AOCV flow requires at least a 1-D stage based table
object_type : lib_cell
rf_type : rise
delay_type : cell
derate_type : late         
path_type : data
object_spec : 10nmlib/BUF_X4
depth : 1 2 3 4 5
table: 1.183 1.145 1.122 1.109 1.0901

每个cell查表对应AOCV derate

二维AOCV table

object_type : lib_cell
rf_type : rise
delay_type : cell
derate_type : early
path_type : data
object_spec : 10nmlib/BUF_X4
depth : 1 2 3 4 5
distance: 0 500 1000 1500
table: 1.123 1.090 1.075 1.067 1.062
       1.124 1.0911.076 1.068 1.063
       1.125 1.0921.077 1.070 1.065
       1.126 1.0941.079 1.072 1.067
  • 虽然更加精确,但是会增加runtime
  • 二维table的index是depth跟distance,对于每种类型的cell,foundry会针对rf_type:rise/fall, derate_type:late/early , path type:data/clock分别提供一个table
    在这里插入图片描述

Table Group tag

The Apply- tag can be used with either a Net or Cell descriptor to designate the table for use in derating only net delays or cell delays respectively. If the Apply- tag is not specified, then the table will be used for both net and cell delay derating.

  • To designate a table for net-based derating only, you should specify:Apply-Net
  • To designate a table for cell-based derating only - use: Apply-Cell

Table Voltage

Table Voltage specifies what voltage the current table is characterized for. You may specify multiple tables for each voltage of interest, or allow the timer to interpolate between tables for intermediate voltages

  • To specify a voltage of 1.5Volts for the derating table, use a specification of:
    • Voltage 1.5

Table ID tag

The Table ID is a tag made up of up to three sub-tags, which can be used to add further specificity to the derating table to control early vs. late, rise vs. fall, and clock path vs. data path.

[Early | Late]

Each table is minimally required to have either an Early or Late tag. It is further required that each object subject to AOCV derating have both an Early and a Late derating table. AOCV derating of only Early or only Late paths is not allowed. It is, however, legal to using derating values of 1.0 for the tables if that effect is desired.

[Rise | Fall]

By default, an Early or Late derating table is used to supply derating for both rising and falling delays. If unique derating for each transition is desired, the -Rise or -Fall tag can be added to the Table ID to tighten the specification.

  • To configure a table for only rising delays on early paths, you should use:

    • Early-Rise
  • To configure a table for falling delays on late timing paths - specify:

    • Late-Fall

[Clock | Data]

Derating tables can also be configured so that they are specific to clock path delays or data path delays. This can be achieved by adding a final -Clock or -Data tag to the Table ID string.

The complete set of possible Table IDs is:

  • derate type 必须设置 (optial–rf_type、path type)

In the case where there is an overlap in the table specification, the derating table with the tightest specification is used.

在这里插入图片描述

Object ID

You can further control the application of the AOCV derating tables to specific timing libraries or library cell groups.

  • To specify a derating table to be used for a specific library:
    • Cell stdcell/*
  • To specify derating for a specfic library cell:
    • Cell stdcell/BUF1S
  • To specify a common derate table for a group of cells with similar drive strength:
    • Cell stdcell/*1S
    • Cell stdcell/*4S
  • To specify a common derate factor for a group of libraries at the same corner:
    • Cell * -P1V15T120/*

GBA/PBA AOCV

   区别于OCV,AOCV的derate值是基于depth和distance的,所以首先需要得到depth和distance。这就要涉及到另一组概念,GBA跟PBA,限于runtime当今STA都起始于GBA(过于悲观)分析,在GBA结果的基础上用PBA(准确但耗时)进一步过滤violation path

GBA(Graph-Based Mode) AOCV

  • 对于一个cell,其Depth取其所在所有timing path上的最小值(stage越小越悲观) (pessimistic)
    • 对于一维AOCV table,不考虑distance based OCV,即不计算distance的值 (pessimistic)
    • 对于二维AOCV table,STA工具通常会选最后一行做GBA分析,以保证distance值最悲观(distance越大,cell距离远,就越悲观)

Simple graph-based Example:

  • Data path from RS to RT2 has 5 stages

    • – U2, U3, U4 use a data stage count of 5
  • RS and U1 are also on shorter path to RT1

    • – RS, U1, U5 use a data stage count of 3
  • RS和U1存在两条timing path,stage分别是3和5,由于是GBA,trade off 后选择最悲观的stage=3

在这里插入图片描述


  • 如下timing path,我们将L1,L2,DFF1,U1,U2,U3的stage count设成6,而C1,C2,C3,C4的stage count需要设成4,这边需要说明的是B1,B2由于是common point,所以在计算stage count时需要忽略(OCV时有CPPR)。

在这里插入图片描述


AOCV-Graph Based - Effective Stage Counting

Clock path stage counts are with respect to the CPPR common point and the last clock branch points before the registers

  • 选择所在timing path上stage最少的path(pessimistic),作为cell的stage path
    在这里插入图片描述
    在这里插入图片描述

AOCV Derating Table

The AOCV format allows a derating table specification that is 1 or 2-dimensional - the possible axes being Distance - the bounding box diagonal of that path, and Stage -the stage count depth of the path. Although AOCV graph-based (AOCV-GB) only supports stage-based derating, you may specify either a 1-D stage-based table, or a 2-D Stage x Distance table.

Example of a derating table with 4 Distance indices and 5 Stage indices:

  • Distance: List of distance (real) values specified in microns, increasing in magnitude (一条timing path所处物理范围内的对角线距离)
  • Stage: List of integer values representing stage depth, increasing in magnitude
    在这里插入图片描述
  • 超出index范围怎么处理?
    • In the case where the stage or distance lookup value is outside of the range of the table -either smaller or larger, the system will use the last bound entry point.

Examples of Cadence AOCV Derating Library

This example shows a table that will be used for derating cell delay arcs for devices used on the clock path for early delays. All cells matching *D1 in the stdcellwcl library will utilize this table data. For an early derating table such as this, you can see that the derating factors are monotonically increasing toward 1.0 as the depth of the path increases

  • 对于early derate,cell path stage 越大去除的悲观越多,越接近derate factor=1

在这里插入图片描述


2-D derating table

This example shows a 2-D derating table that will be applied to both nets and cells for all early data paths - i.e for the data path of Hold type timing checks:

  • cell path stage 越大,derate factor 去除的悲观多,接近于1
    • 对于early derate,stage 越大,derate factor 越大
    • 对于late derate,stage 越大,derate factor 越小
  • distance 越大,derate factor越悲观
    • 对于early derate,distance 越大,derate factor 越小
    • 对于late derate,distance 越大,derate factor 越大

在这里插入图片描述


Configuring AOCV Analysis

setAnalysisMode –aocv true –analysisType onChipVariation

Min/Max Configuration

Min/Max is the default, two-corner, single-mode operation of both EDI and ETS.
Encounter Digital Implementation (EDI) System
Encounter Timing System (ETS)
在这里插入图片描述

MMMC Configuration(viewdefination.tcl)

In an MMMC environment, AOCV libraries are specified in the same manner as Liberty timing libraries - by configuring them in the MMMC library_set object using either the create_library_set or update_library_set commands. These will later be incorporated(合并) as part of an MMMC delay corner.

AOCV libraries should only contain data applicable for one delay corner. The same AOCV library may be applied to multiple library sets if desired:

create_library_set -name libsSlow -timing slow.lib -aocv test.aocv
create_library_set -name libsFast -timing fast.lib -aocv test.aocv

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

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

相关文章

阻塞队列是什么

1、阻塞队列是什么? (1) 栈与队列 1)栈:先进后出,后进先出 2)队列:先进先出 (2) 阻塞队列 阻塞:必须要阻塞/不得不阻塞 阻塞队列是一个队列,在数据结构中起的作用如下图: 线程1…

直播美颜工具与实时美颜SDK开发指南

近年来,随着直播行业的蓬勃发展,越来越多的用户开始关注直播内容的质量。其中,美颜功能成为直播平台上不可或缺的一项特色功能。下文小编将从基础原理到实际应用,帮助开发者更好地实现高效又自然的美颜效果。 一、背景 在直播过…

spring之ApplicationContext

spring之ApplicationContext ApplicationContextApplicationContext源码ApplicationContext继承接口分析ApplicationContext两个比较重要的实现类AnnotationConfigApplicationContextClassPathXmlApplicationContext 国际化---MessageSource资源加载---ResourceLoader获取运行时…

多元回归预测 | Matlab鲸鱼算法(WOA)优化极限梯度提升树XGBoost回归预测,WOA-XGBoost回归预测模型,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab鲸鱼算法(WOA)优化极限梯度提升树XGBoost回归预测,WOA-XGBoost回归预测模型,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源…

css实现九宫格有边框,最外层四周无边框

1.先设置9个div&#xff0c;如下&#xff1a; <div class"wrapper"><div class"cell"></div><div class"cell"></div><div class"cell"></div><div class"cell"></div&…

【MySQL】连接 MySQL使用二进制方式连接和脚本连接,修改密码,增加新用户,显示命令

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

RocketMQ5.0--消息发送

RocketMQ5.0–消息发送 一、消息 // 消息所属topic private String topic; // 消息Flag&#xff08;RocketMQ不作处理&#xff09;&#xff0c;即&#xff1a;用户处理 private int flag; // 扩展属性 private Map<String, String> properties; // 消息体 private byte…

Pandas+Pyecharts | 北京近五年历史天气数据可视化

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 处理最低气温最高气温数据2.3 处理日期数据2.4 处理风力风向数据 &#x1f3f3;️‍&#x1f308; 3. Pyecharts数据可视化3.1 2018-2022年历史温度分布…

漏洞复现 || H3C iMC 存在远程命令执行

免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使…

软件的验收测试应该怎么正确实施?

验收测试的主要目的是为了确定软件系统是否满足客户或最终用户的需求和期望&#xff0c;同时确保软件产品的质量标准达到预期。验收测试还可以提供客户和最终用户关于软件系统质量的反馈和建议&#xff0c;以便软件开发团队能够更好地改进和优化软件产品&#xff0c;那软件的验…

【QT】QtXlsx安装使用

QtXlsx库 QtXlsx介绍QtXlsx Qt配置简单使用示例 QtXlsx介绍 QtXlsx是一个可以读取和写入Excel文件的库。它不需要Microsoft Excel&#xff0c;可以在Qt5支持的任何平台上使用。 这里一定是需要QT5支持的。 生成一个新的 .xlsx 文件从现有的 .xlsx 文件中提取数据编辑现有的 .x…

Linux常用指令(下)

目录 一&#xff1a;Linux基础指令 查看联机手册 文本查看相关 时间相关 查找相关 打包和压缩相关 查看Linux版本和体系 其它指令和热键 二&#xff1a;重定向 输入重定向 输出重定向 三&#xff1a;管道 一&#xff1a;Linux基础指令 查看联机手册 Linux的命令有…

ADS笔记,新旧两组仿真数据进行绘图和列表对比

做个笔记&#xff0c;以防遗忘 ADS版本&#xff1a;2023 原理图器件参数的不同&#xff0c;怎么进行对比观看&#xff0c;操作如下 目录 一、数据绘图对比二、数据列表对比 一、数据绘图对比 选择Simulation Setting 然后修改原理图器件的参数&#xff0c;再次重复之前的操作…

SpringBoot2+Vue2实战(十三)用户前台页面设计与实现

Front.vue <template><div><!--头部--><div style"display: flex; height: 60px;line-height: 60px;border-bottom: 1px solid #ccc"><div style"width: 300px;display: flex;padding-left: 30px"><div style"widt…

CENTOS上的网络安全工具(二十七)SPARK+NetSA Security Tools容器化部署(3)

上回说到在我们搭好的YAF3环境上使用yaf处理pcap文件得到silk flow&#xff0c;再使用super mediator工具转为ipfix&#xff0c;继而在spark中导入mothra&#xff0c;就可以开始数据分析了。然而在我们粗粗一用之下&#xff0c;却发现DPI信息在ipfix文件中找不到&#xff0c;到…

【Excel】csv乱码

原因 CSV用UTF-8编码 Excel用ANSI编码 解决 1 创建一个新的Excel 2 数据 > 从文本/CSV 3 选择文件 4 选择 文件原始格式 和 分隔符 &#xff08;根据自己文件进行选择&#xff0c;如果不知道编码&#xff0c;可以一个一个的试&#xff0c;直到不出现乱码&#xff09;

【Go|第5期】Lorca无法正常运行的解决方案

日期&#xff1a;2023年7月5日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xff…

奇怪的SQL问题+1

我的 VIP 用户又抛给我一个 SQL 问题&#xff0c;我很激动&#xff0c;因为素材又来了&#xff1a; 我一看&#xff0c;这个表没什么花头&#xff0c;不就是没设置主键吗&#xff0c;MySQL 会默认生成一个主键&#xff0c;这跟 delete 不掉数据好像也没啥关系。 然后他说&…

事件监听及DOM操作

1.页面内容实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>常见事件案例</title> </head> <body><img id"light" src"img/off.gif"> <br><…

红黑树的介绍

红黑树 1.红黑树的概念2. 红黑树的性质3. 红黑树的结点定义4. 红黑树的插入操作情况一: cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u存在且为红情况二: cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u不存在/u存在且为黑情况三: cur为红&#xff0c;p为…