相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目录

        指定降额比例

        指定降额对象列表/集合

        指定沿

        指定最大、最小条件

        指定早、晚条件

        指定路径的类型

        指定降额类型

        指定约束

        指定增量

        写在最后       


        由于制造工艺的偏差,一块晶圆(Wafer)上的各个裸片(Die)拥有不同的特征,甚至一个裸片上的不同部位也可能出现偏差。前者称为全局工艺偏差(Global Process Variation),后者称为局部工艺偏差(Local Process Variation),这个偏差比全局工艺偏差小很多。

        除了工艺参数(Process),PVT中的电压(Voltage)和温度(Temperature)在芯片上的分布也不是恒定的,PVT偏差这可能由下面几种因素导致:

  1. PMOS晶体管和NMOS晶体管的电压阈值偏差。
  2. PMOS晶体管和NMOS晶体管的沟道长度(尺寸)差异
  3. 由于电压降(IR Drop)导致的晶体管电压偏差。
  4. 局部热点造成的温度偏差。
  5. 互连线的刻蚀不均造成互连线电阻和电容的偏差。

        上面的因素可以统称为OCV(On-Chip Variation),即片上变化。OCV会影响芯片上不同区域的单元延迟和互连延迟,在普通的STA分析中,我们只会选择一种工作条件(operating condition),并在此条件下分析,而没有考虑芯片上各区域的差异。因此,为了更好地模拟OCV效应的影响,set_timing_derate命令允许设计者设置时序降额,简单来说,就是允许某些路径快一些,允许某些路径慢一些,STA时会考虑到这些因素,从而分析最难满足的情况。

        下面是set_timing_derate命令的BNF范式(有关BNF范式,可以参考以往文章)为:

set_timing_deratevalue object_list[-rise] [-fall][-min] [-max][-early] [-late][-clock] [-data][-net_delay] [-cell_delay][-cell_check] [-min_period] [-min_pulse_width][-increment]//注:该命令的object_list参数一定要放在value参数后 

指定降额比例

        value参数指定了降额后的比例(在0.1到2之间),比如可以指定value为0.9,表示计算值为初始值的90%,即降额了10%。

指定降额对象列表/集合

        object_list用于指定降额值用于哪些对象,可以是叶单元、层次单元、库单元。当不指定降额对象列表/集合时,降额值用于整个设计,当整个设计的降额值和单元的降额值冲突时,以单元的降额值为准。

        对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。

SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571

指定沿

        -rise选项用于指定降额值作用于尾部是上升沿的时序弧、-fall选项用于指定降额值作用于尾部是下降沿的时序弧。如果这两个选项都没有指定,降额值同时作用于所有时序弧(相当于它们同时指定)。

指定最大、最小条件

        -max选项用于指定降额值作用于最大延迟分析(一般情况下,如果不开启on_chip_variation,这指的是建立时间检查),-min选项用于指定降额值作用于最小延迟分析(一般情况下,如果不开启on_chip_variation,这指的是保持时间检查)。如果这两个选项都没有指定,降额值同时作用于最大延迟和最小延迟分析(相当于它们同时指定)。

指定早、晚条件

        -early和-late选项在set_clock_latency命令中也有,如下面的博客所示。

SDC命令详解:使用set_clock_latency命令进行约束https://blog.csdn.net/weixin_45791458/article/details/136130769?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522290c4b7d417404a42653da4af39c2fc8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=290c4b7d417404a42653da4af39c2fc8&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-136130769-null-null.nonecase&utm_term=set_clock_latency&spm=1018.2226.3001.4450        -early选项用于指定降额值用于最快的路径,-late选项用于指定降额值用于最慢的路径。在建立时间分析和保持时间分析中,会对发射路径和捕获路径的这点进行考虑,给出最差情况下的分析结果。如果这两个选项都没有指定,降额值同时作用于发射路径和捕获路径(相当于它们同时指定)。为了与实际情况吻合,-early指定的降额值应小于1,-late指定的降额值应大于1。

        具体来说,对于建立时间分析,发射路径上的时钟路径和数据路径会使用-late选项指定的最慢降额值,而捕获路径上的时钟路径和数据路径会使用-early选项指定的最快降额值,这是最坏的情况下的结果;对于保持时间分析,发射路径上的时钟路径和数据路径会使用-early选项指定的最快降额值,而捕获路径上的时钟路径和数据路径会使用-late选项指定的最慢降额值,这是最坏的情况下的结果。

指定路径的类型

        -clock选项用于指定降额值只用于时钟路径,-data选项用于指定降额值只用于数据路径。如果这两个选项都没有指定,降额值同时用于时钟路径和数据路径(相当于它们同时指定)。

指定降额类型

        -net_delay选项用于指定降额值只用于互连延迟,-cell_delay选项用于指定降额值只用于单元延迟,需要注意的是,-net_delay选项不能与对象列表/集合一起使用,因为互连延迟的指定是全局性的。

指定约束

        默认情况下,建立时间、保持时间之类的时序约束不会被降额。

        -cell_check选项指定对单元的建立时间、保持时间约束应用降额,该选项不能与-clock、-data、-cell_delay、-net_delay选项一起使用。需要注意的是,set_input_delay命令设置的输入延迟和set_output_delay命令输出延迟不会被降额影响。

        -min_period选项指定对单元的最小周期约束应用降额,该选项只能与-rise、-fall选项一起使用,此时-rise选项表示使用上升沿到上升沿计算周期,-fall选项表示使用下降沿到下降沿计算周期。

        -min_pulse_width选项指定对单元的最小脉冲宽度约束应用降额,该选项只能与-rise、-fall选项一起使用,此时-rise选项表示高电平脉冲宽度,-fall选项表示低电平脉冲宽度。

指定增量

        -increment选项用于设置增量降额值,总降额值为基准降额值加增量降额值。

写在最后       

        随着工艺尺寸的不断缩小,静态时序分析受到的制造过程变化影响日益显著。传统的解决方案是使用一个全局的固定系数(set_timing_derate命令)来为设计添加裕量,以应对片上变化(On Chip Variation, OCV),虽然在130nm和90nm工艺节点时仍属合理,但在更先进的制程中已显得过于保守,带来了过度设计、性能下降和设计周期延长等问题。

        为解决这一挑战,PrimeTime在2008年左右引入了高级片上变化(AOCV)技术,这是对传统OCV方法的自然扩展,它通过更细致和上下文相关的建模方式,为设计提供了更真实、低悲观度的时序裕量控制。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++语言程序设计——03 进制ASCII码

目录一、进制表示与转换(一)不同进制表示(二)进制转换方法二、ASCII 码(一)ASCII 码表(二)ASCII 码转换(三)大小写英文字母转换【总结:如何记忆AS…

AtCoder Beginner Contest 420-Toggle Maze

题目描述 有一个 H行 W 列的网格。用 (i,j) 表示位于第 i 行(从上往下数)第 j 列(从左往右数)的格子。每个格子的状态用字符 Ai,j表示,含义如下: . :空格子。 #’ :障碍格子。 S &am…

20、DMA----释放CPU压力,加快传输

1、DMA介绍DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使…

深入OpenHarmony OTA硬核升级

技术背景 OpenHarmony OTA(Over-The-Air)升级子系统为设备提供了远程升级能力,通过统一的升级接口屏蔽底层芯片差异,支持轻量系统、小型系统和标准系统的全量升级、差分升级和变分区升级。 核心特性 跨系统支持:覆盖轻量系统(Hi3861)、小型系统(Hi3516DV300)、标准系…

华为iVS1800接入SVMSPro平台

华为iVS1800接入SVMSPro平台 ** 华为好望Huawei HolosensIVS1800智能视频云平台采用首款昇腾310加持的嵌入式系统智能微边缘,独俱普惠AI鸿力。一台融合存储、计算、检索功能,满足小型园区、社区、银行网点、超市等场景安防需求,小机大智。 …

《异形战机2》v2.0.4数字豪华版,3D横版射击再临,机体武器海量升级

[游戏名称]: 《异形战机2》v2.0.4数字豪华版 [软件大小]: 17.7 GB [软件大小]: 夸克网盘 | 百度网盘 游戏介绍 《异形战机:最终版2》续作震撼登场!经典横版射击全面升级:3D 画面炫目、关卡与机体海量扩充,只为带来酣畅淋漓的灭…

Java 异常(Throwable)

1. Throwable Throwable: 所有异常和错误的根类。实现 Throwable 或其子类的对象才能被 throw 或 catch。 Error: 表示严重的系统级问题,通常不应该被捕获或处理,程序通常无法从中恢复。 Exception: 表示程序可以处理的问题。分为 运行时异常、 受检异常…

rocketmq常用命令

官方文档 https://rocketmq.apache.org/zh/docs/ https://rocketmq.apache.org/zh/docs/domainModel/02topic/ https://rocketmq.apache.org/zh/docs/4.x/deployment/02admintool 集群配置管理 https://mp.weixin.qq.com/s/688wNSwZPraGvAnr0K7hRw RocketMQ运维管理命令mqadm…

【C++详解】哈希表概念与实现 开放定址法和链地址法、处理哈希冲突、哈希函数介绍

文章目录一、unordered系列的使用unordered_set类的介绍unordered_set和set的使⽤差异unordered_map和map的使⽤差异unordered_xxx的哈希相关接⼝二、哈希表实现哈希概念直接定址法哈希冲突负载因⼦将关键字转为整数哈希函数除法散列法/除留余数法乘法散列法处理哈希冲突开放定…

电影感人文街拍摆摊纪实摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色介绍电影感人文街拍摆摊纪实摄影后期 Lr 调色是一种专注于捕捉街头生活烟火气的摄影风格,通过 Lightroom 后期调色赋予画面电影般的叙事感和情感深度。这种风格以摆摊小贩、市井行人、街头场景为主体,强调真实、自然的生活瞬间。调色核心在于低饱和暖…

【数据分享】298个地级市人工智能企业数量(1990-2023)

数据介绍引言人工智能产业作为数字经济的核心驱动力,其发展规模与分布格局深刻反映区域科技创新活力与产业升级潜力。为助力相关研究,本文分享一份涵盖全国 298 个地级市 1990-2023 年的人工智能企业核心数据,包含人工智能企业存量和人工智能…

LeetCode 面试经典 150_双指针_验证回文串(25_125_C++_简单)(双指针)

LeetCode 面试经典 150_数组/字符串_验证回文串(25_125_C_简单)题目描述:输入输出样例:题解:解题思路:思路一(双指针):代码实现代码实现(思路一(双…

无障碍辅助模块|Highcharts引领可访问数据可视化的交流

在现代数据可视化中,无障碍辅助技术已成为必不可少的一部分。对于视障人士或使用屏幕阅读器的用户来说,传统图表往往难以获取有效信息,而 Highcharts 在设计之初便充分考虑了无障碍体验。 Highcharts作为可访问数据可视化的倡导者&#xff0…

从0到1:数据库进阶之路,解锁SQL与架构的奥秘

目录一、SQL 基础启航1.1 SQL 基础语法1.2 SQL 进阶查询1.3 SQL 实战案例分析二、分库分表实战2.1 分库分表的背景与原理2.2 分库分表策略设计2.3 分布式 ID 生成2.4 数据迁移方案三、中间件实战3.1 中间件概述3.2 DBLE 中间件实战3.3 MyCat 中间件实战四、高可用架构搭建4.1 高…

【数据结构入门】排序算法(2):直接选择排序->堆排序

目录 1.直接选择排序 1.1 思想 1.2 代码 2.堆排序 2.1 向下调整算法 2.1.1 代码 2.2 建堆 2.2.1 代码 2.3 正式排序 2.3.1 代码 3. 冒泡排序 3.1 思路 3.1.1 单趟排序 3.1.2 多趟排序 3.1.3优化 3.2 代码 1.直接选择排序 1.1 思想 每次从未排序区中选择一个最小…

Fluent Bit系列:字符集转码测试(下)

#作者:程宏斌 文章目录fluent-bit 1.9.4 转换测试结论接上篇:《Fluent Bit系列:字符集转码测试(上)》https://blog.csdn.net/qq_40477248/article/details/150776142?spm1001.2014.3001.5501fluent-bit 1.9.4 转换测试…

redis-缓存-持久化

redis-缓存-持久化一、来因宫1、啥叫持久化?为何需要持久化?2、redis持久化方案2.1、RDB - 快照持久化A、定义原理B、快照生成流程:Copy-on-Write(写时复制)C、dump.rdb文件说明D、RDB 数据恢复流程E、RDB的优缺点2.2、…

C++11(Linux/GCC)字节序工具

#pragma once #include <cstdint> #include <climits> #include <type_traits> // 用于类型检查// 端序宏获取&#xff08;保持原有逻辑&#xff09; #if __has_include(<endian.h>)#include <endian.h> #elif __has_include(<bits/endian.h…

【MTCNN网络结构记忆卡片】--003nets.py

&#x1f9e0; MTCNN网络结构记忆卡片 &#xfffd;&#xfffd; 基础概念速查 &#x1f524; 库引入&#xff1a;import torch 和 import torch.nn as nn import torch # PyTorch深度学习框架 import torch.nn as nn # nn Neural Networks (神经网络)&#x1f3d7;️…

可视化-模块1-HTML-03

1.发现问题<p>大数据可视化技术及应用课程</p> <img src"pic/图片2.png" width"300" height"300"/><p></p><img />HTML 标签按闭合方式只分两类&#xff1a;双标签&#xff08;paired / container&#xff…