【转载】静态时序分析
1. 背景
静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。
进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。
2. 理论分析
2.1 固定参数launch edge、latch edge、Tsu、Th、Tco概念
2.1.1 launch edge
时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。
2.1.2 latch edge
时序分析终点(latch edge):数据锁存的时钟边沿,也是静态时序分析的终点。
2.1.3 Clock Setup Time (Tsu)
建立时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器。如图3.2所示:
图3.2 建立时间图解
2.1.4 Clock Hold Time (Th)
保持时间(Th):是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。保持时间示意图如图3.3所示:
图3.3 保持时间图解
2.1.5 Clock-to-Output Delay(tco)
数据输出延时(Tco):这个时间指的是当时钟有效沿变化后,数据从输入端到输出端的最小时间间隔。
2.2 Clock skew
时钟偏斜(clock skew):是指一个时钟源到达两个不同寄存器时钟端的时间偏移,如图3.4所示:
图3.4 时钟偏斜
时钟偏斜计算公式如下:
Tskew = Tclk2 - Tclk1 (公式2-1)
2.2 Data Arrival Time
数据到达时间(Data Arrival Time):输入数据在有效时钟沿后到达所需要的时间。主要分为三部分:时钟到达寄存器时间(Tclk1),寄存器输出延时(Tco)和数据传输延时(Tdata),如图3.5所示
图3.5 数据到达时间
数据到达时间计算公式如下:
Data Arrival Time = Launch edge + Tclk1 +Tco + Tdata (公式2-2)
2.3 Clock Arrival Time
时钟到达时间(Clock Arrival Time):时钟从latch边沿到达锁存寄存器时钟输入端所消耗的时间为时钟到达时间,如图3.6所示
图3.6 时钟到达时间
时钟到达时间计算公式如下:
Clock Arrival Time = Lacth edge + Tclk2 (公式2-3)
2.4 Data Required Time(setup/hold)
数据需求时间(Data Required Time):在时钟锁存的建立时间和保持时间之间数据必须稳定,从源时钟起点达到这种稳定状态需要的时间即为数据需求时间。如图3.7所示:
图3.7 数据需求时间
(建立)数据需求时间计算公式如下:
Data Required Time = Clock Arrival Time - Tsu (公式2-4)
(保持)数据需求时间计算公式如下:
Data Required Time = Clock Arrival Time + Th (公式2-5)
2.5 Setup slack
建立时间余量(setup slack):当数据需求时间大于数据到达时间时,就说时间有余量,Slack是表示设计是否满足时序的一个称谓。
图3.8 建立时间余量
如图3.8所示,建立时间余量的计算公式如下:
Setup slack = Data Required Time - Data Arrival Time (公式2-6)
由公式可知,正的slack表示数据需求时间大于数据到达时间,满足时序(时序的余量),负的slack表示数据需求时间小于数据到达时间,不满足时序(时序的欠缺量)。
3.1.7 时钟最小周期
时钟最小周期:系统时钟能运行的最高频率。
1. 当数据需求时间大于数据到达时间时,时钟具有余量;
2. 当数据需求时间小于数据到达时间时,不满足时序要求,寄存器经历亚稳态或者不能正确获得数据;
3. 当数据需求时间等于数据到达时间时,这是最小时钟运行频率,刚好满足时序。
从以上三点可以得出最小时钟周期为数据到达时间等于数据需求时间,的运算公式如下:
Data Required Time = Data Arrival Time
图解Setup 与 Hold Slack
从上面两个图中可以清晰的看出Setup与Hold Slack的定义与计算方法:
Setup slack=latch edge+Tclk2-Tsu-(launch edge+Tclk1+Tco+Tdata)
=(latch edge-lanuch edge)+(Tclk2-Tclk1)-(Tsu+Tco+Tdata)
对于工具默认的单周期来说,latch edge-lanuch edge=T,如果不考虑时钟的skew,Tclk2-Tclk1=0,上式可以表达成:
Setup slack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与目的寄存器之间延迟不能太长的原因,延迟越长,slack越小。
Hold slack=data arrival time – data required time
=(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 + Th)
=(launch edge – latch edge) – (Tclk2 – Tclk1) + (Tco + Tdata + Th)
注意,上式中的launch edge为next launch edge,即为latch edge,所以launch edge – latch edge=0,如果不考虑时钟的skew,Tclk2-Tclk1=0,上式可以表达成:
Hold slack=Tco + Tdata – Th,这就是为什么说源寄存器与目的寄存器之间延迟不能太短的原因,时间太短,slack越小。
setup slack 计算
hold slack 计算
转载自:
http://www.cnblogs.com/inet2012/archive/2012/03/07/2384149.html
转载于:https://www.cnblogs.com/socquan/p/3264972.html
【转载】静态时序分析相关推荐
- delay 芯片时序output_【第二章 STA概念 上】静态时序分析圣经翻译计划
本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19 本章节介绍CMOS技术的基础知识以及执行静态时序分析所涉及的术语. 2.1 ...
- B站大学开课了-《数字集成电路静态时序分析基础》
STA课程在B站登陆啦!时序收敛是数字集成电路和FPGA都极为关注的指标.本课程以经典书籍<Static Timing Analysis for Nanometer Designs: A Pra ...
- 翻译不是一个有效的路径_【第一章:绪论】静态时序分析圣经翻译计划
本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19 众所周知,静态时序分析是IC工程师必备知识点,也是秋招中笔试面试的高频考点 ...
- 静态时序分析(一):基本概念
时序分析时FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路.慢慢来,先介绍时序分析中的一些基本概念. 1. 时钟相关 时钟的时序特性主要分为抖动(Jitter).偏移(Skew).占空 ...
- FPGA的设计艺术(3)静态时序分析
前言 本文首发:FPGA的设计艺术(3)静态时序分析,我的易百纳技术社区专栏. 同行邀请消息:FPGA/IC Technology Exchange 什么是静态时序分析(STA)? 静态时序分析介绍 ...
- 静态时序分析的概念以及约束的作用理解
何谓静态时序分析(Static Timing Analysis,简称STA) 它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析 ...
- 静态时序分析——基础概念
一.简述 静态时序分析是检查系统时序是否满足要求的主要手段.以往时序的验证依赖于仿真,采用仿真的方法,覆盖率跟所施加的激励有关,有些时序违例会被忽略.此外,仿真方法效率非常的低,会大大延长产品的开发周 ...
- (108)FPGA面试题-介绍STA静态时序分析及其作用
1.1 FPGA面试题-介绍STA静态时序分析及其作用 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-介绍STA静态时序分析及其作用: 5)结束语. 1 ...
- 以下不属于时序逻辑电路的有_静态时序分析圣经翻译计划——附录B:SDF
本附录将介绍标准延迟标注格式,并说明了如何在仿真中执行反标. 延迟格式描述了设计网表的单元延迟和互连走线延迟,无论设计是用两种主要硬件描述语言(VHDL或Verilog HDL)中的哪一种所描述的. ...
最新文章
- WebSocket 集群解决方案
- Vue route部分简单高级用法
- mysql使用中遇到的问题吗_MySQL使用中遇到的问题及解决办法
- CAD2010安装说明
- 怎么选择网管型和非网管型交换机
- 闯过这 54 关,点亮你的 Git 技能树 (五) - 完结篇
- Spark运行原理剖析
- TM4C123核心板焊接须知
- android旋转缩放布局,Android学习笔记(一):双指缩放及旋转计算
- 【C++】n_element的用法
- 使用CROS解决跨域问题
- mybatis开启log_mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台...
- qconbeijing2017
- windows无法格式化u盘_U盘修复无法格式化的解决方法
- lintcode 983. 棒球游戏
- MogaFX—ServiceNow的Bill McDermott正在关注货币汇率
- Microsoft Edge 开启 IE 模式
- CKA证书题库-总结
- IT人士最容易得的癌症
- matlab的ifs程序,[分形几何]IFS系统的实现.
热门文章
- 巩膜(眼白)灰色原因
- java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnException
- fastdfs上传文件时报错No route to host
- 《On the Momentum Term in Gradient Descent Learning Algorithm》原文解读
- hexo的yelee主题使用本地自己指定的自定义字体
- Earliest PEP Algorithm Principles
- 1.11 多于空间维度的向量组
- eclipse和Myeclipse中的properties文件查看和编辑插件
- kubelet常见问题处解决
- HTML基础第四讲---图像