静态时序分析——On-chip Variation
OCV(on-chip variation)是指在同一个芯片上, 由于制造工艺和环境等原因导致芯片上各部分特征不能完全一样,从而造成偏差,对时序分析造成影响。这些偏差对互联线和cell的延时都是有影响的。
由于OCV对延时有影响,那么我们在进行时序分析时需要将这些OCV效应考虑进来。在STA中,通过对不同的时序路径添加derate系数,来完成对OCV的建模,将OCV效应纳入分析。
我们以下图电路为例进行说明:
进行setup check时,最差的情况为:launch clock path 和data path由于OCV的原因,延迟增加到最大;于此同时,capture clock path 由于OCV的原因,延迟减小到最小。此时,对建立时间的检查最为严苛。
如过我们不考虑OCV的影响,进行setup check,则情况如下:
arrival time = 1.2+0.8+5.2=7.2ns
required time = 1.2+0.86-0.35+clock_period=1.71+clock_period
那么由于required time-arrival time>=0则clock_period>=5.49,即最小时钟周期为5.49ns。
接下来我们将OCV纳入考虑,为路径和cell设置不同的derate系数。
我们可以通过set_timing_derate来设置derate系数
set_timing_derate -early 0.9 set_timing_derate -late 0.9 set_timing_derate -cell_delay -late 0.9 set_timing_derate -net_delay -late 0.9
长路径延时如setup check 中的launch clock path和data path,hold check中的capture clock path可以使用-late选项来设置
短路径延时如setup check 中的capture clock path,hold check中的launch clock path和data path可以使用-early选项来设置
使用-net_delay和-cell_delay来设置线网和cell的延时
为launch clock path和max data path增加系数1.2,为UFF1增加系数1.1,为capture clock path 增加系数0.9,这样,我们再看看setup check:
arrival time = (1.2+0.8+5.2)*1.2=8.64ns
required time = (1.2+0.86)*0.9-0.35*1.1+clock_period=1.469+clock_period
那么由于required time-arrival time>=0则clock_period>=7.171,即最小时钟周期为7.171ns。可以看到,在加入最差情况的OCV后,电路能运行的时钟频率明显下降了。
但是在上面的计算中,我们还是可以发现一个问题,即common clock path即属于launch clock path,也属于capture clock path,所以在计算中,我们对其使用了不同的derate系数进行计算:在计算arrival time中,系数为1.2;在计算required time中,系数为0.9,这样会让我们的分析更为悲观,电路性能更差。而在真实的情况中,common clock path的PVT只有一个,不可能同时有两个derate系数,所以我们会进行CPPR操作。
CPPR(Clock Path Pessimism Removal)或者CRPR(Clock Reconvergence Pessimism Removal),中文名“共同路径悲观去除”。它的作用是去除clock path上的相同路径上的悲观计算量,即我们上面提到的问题。我们将common point定义为时钟树上共同部分最后一个cell的output pin。则定义CPP因子为:
CPP=LatestArrivalTime@CommonPoint-EarliestArrivalTime@CommonPoint
我们进行CPPR后再来进行一次计算:
LatestArrivalTime@CommonPoint=1.2*1.2=1.44ns
EarliestArrivalTime@CommonPoint=1.2*0.9=1.08ns
CPP=1.44-1.08=0.36ns
则clock_period=7.171-0.36=6.811ns
可以看到,电路的运行时钟频率变好了一点,但对于未考虑OCV来说,整个运行时钟频率还是降低了。
我们可以来看看时序报告
说完setup check,我们来看看OCV对hold check的影响。
进行hold check时,最差的情况为:launch clock path 和data path由于OCV的原因,延迟减小到最小;于此同时,capture clock path 由于OCV的原因,延迟增加到最大。此时,对保持时间的检查最为严苛。我们进行同样的分析,可以看到基本相同的结果。
其时序报告如下:
静态时序分析——On-chip Variation相关推荐
- STA静态时序分析——学习笔记
STA静态时序分析--学习笔记 静态时序分析简介及基本知识 PT流程以及分步骤讲解 2.1 设计STA环境 2.2 指定STA库文件 2.3 读取Netlist文件 2.4 读取SPEF文件 2.5 ...
- 免费课程推荐|数字集成电路静态时序分析基础
讲师介绍: 邸志雄 博士,硕士研究生导师,西南交通大学信息学院电子工程系副系主任.CCF会员.中国图象图形学学会军民融合专委会成员.新工科联盟"可定制计算"专委会成员.研究方向为高 ...
- Prime time官方教程笔记(静态时序分析) (一)
来自Synopsys 客户培训服务 适用于prime time 2019.03-sp3及以下版本 使用primetime完成static timing analysis和signal integrit ...
- 《静态时序分析实用方法》翻译
第1章 引言 解释了什么是静态时序分析以及它如何用于时序验证.还描述了功率和可靠性方面的考虑. 概述了纳米设计的静态时序分析程序.本章解决了诸如什么是静态时序分析.噪声和串扰的影响是什么.如何使用这些 ...
- PT静态时序分析 第一课 第二课
绪论 目录: 第一到第四课比较重要 第一课 STA原理 静态时序分析是一种穷尽分析方法,用以衡量电路性能. STA主要有三个步骤: 1.设计被分解为时序路径(timing path) 2.计算所有路径 ...
- 静态时序分析(STA)
静态时序分析 STA-1. 从一个反向器开始说时序 静态时序分析(Static Timing Analysis, 以下统一简称STA)是验证数字集成电路时序是否合格的一种方法,其中需要进行大量的数字计 ...
- 翻译不是一个有效的路径_【第一章:绪论】静态时序分析圣经翻译计划
本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19 众所周知,静态时序分析是IC工程师必备知识点,也是秋招中笔试面试的高频考点 ...
- 静态时序分析-OCV和time derate
文章目录 基础概念 分析模式 如何选取path? 建立时间的OCV分析 保持时间检查的OCV 基础概念 OCV(on-chip variation) 是指在同一个芯片上,由于制造工艺和环境等原因导致芯 ...
- 静态时序分析 第五章 延迟计算
延迟计算 第五章 延迟计算 5.1概述(Overview) 5.1.1延迟计算的基础( Delay Calculation Basics) 5.1.2带有互连线的延迟计算( Delay Calcula ...
- java时序图工具_每日学习:静态时序分析入门面面观
关注并标星大同学吧 每天1次,打卡学习 积累1个新知识,增1分职场底气 作者称谓:Jack xu 个人介绍:不断学习的数字后端工程师 微信公众号:志芯 半导体知识分享第41期 技能升级,从这里开始 本 ...
最新文章
- 信息安全系统设计基础 实验四:外社驱动程序设计 20135327郭皓 20135329 李海空...
- QMainWindow多线程demo
- source insight 添加行号
- java定时任务,每天定时执行任务
- android 实现微信分享多张图片的功能
- 应用服务关闭时eureka客户端会向server发送销毁请求
- java天气app_MVP+RxJava2+Retrofit2 实况天气app
- web前端已经不行了?千万不要信
- 华为 HarmonyOS2.0(鸿蒙OS) 开发者beta公测招募的报名流程
- Express 项目结构最佳实践(上)
- Android编程之Intent源码详解
- hdu 5901 Count primes 素数计数模板
- 对于Typora(markdown)的基本使用
- 计算机学术会议英语作文,计算机专业资料——重要国际学术会议
- Oracle的表使用plsql导出excel文件
- C语言汉字在内存中如何存储
- yigo基础学习笔记1
- ME525做网络收音机和学外文用了……(安卓4.4.4系统,20190817更新)
- 使用PowerShell替代WinDbg在高分辨率笔记本下调试、排错
- win7系统如何关闭广告弹窗操作方法教学
热门文章
- Cache替换算法:LRU与LFU的区别
- C++ share_prt 简单设计和实现
- MySQL找出锁等待
- window.parent和window.opener区别
- 【DI专题】在 DI 脚本文件中调用存储过程
- 事情在不断的解决中,想念巫英才和张国振
- 数据可视化(BI报表的开发)第三天
- 数据库系统原理(第四章:SQL与关系数据库基本操作 )
- centos6.5和centos7.5统一字符集为zh_CN.UTF-8解决系统和MySQL数据库乱码问题
- [ActionScript 3.0] NetConnection建立客户端与服务器的双向连接