STA静态时序分析总结与归纳

本文深入探讨了静态时序分析的基础,包括建立时间和保持时间、发射沿和锁存沿、数据输出延时、数据到达时间、时钟到达时间、时钟偏斜、数据需求时间和裕量分析。这些参数对于理解和优化数字电路的时序至关重要,确保系统稳定性和高频运行。同时,文中通过公式推导解释了如何计算建立裕量和保持裕量,为时序合规性提供指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


什么是静态时序分析?

首先,静态时序分析分析是基于同步电路设计模型的。静态时序分析STA对于同步时序电路必不可少,通过静态时序分析,一方面可以增加系统稳定性减少亚稳态的发生,另一方面可以最大限度的提升系统工作频率。因此,对静态时序相关概念的理解,以及掌握静态时序分析的方法具有重要意义:

相关参数

静态时序的分析,涉及到了众多基础概念;在进行静态时序分析之前,应该先理清基础概念

1.建立时间和保持时间的分析

一般来讲,触发器会在有效时钟沿来临时对数据进行采样并产生一个相应的输出,但是由于实际器件的工艺和制造等问题存在,将会无法瞬间完成数据的采集和输出。因此,在这一过程中,需要将数据在时钟沿前后一段时间内均保持稳定,即建立时间和保持时间。
建立时间:就是时钟有效沿到来之前数据必须保持稳态的最小时间Tsu.
保持时间:时钟有效沿到来之后数据必须保持稳态的最小时间Th.

如下图所示:
在这里插入图片描述

2.发射沿和锁存沿

发射沿(Launch Edge):时序分析起点,第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。

锁存沿(Latch Edge):时序分析终点,数据锁存的时钟边沿,是静态时序分析的终点。
可见下图描述便于理解在这里插入图片描述

3.数据输出延时(Tco)

数据输出延时指的是当时钟触发(一般可认为是第一个寄存器的时钟沿触发时刻)开始到有效数据输出**(第一个寄存器的Q端数据开始输出(有可能变化,也有可能不变化))**的器件内部所有延时的总和。见图
在这里插入图片描述

4.数据到达时间(数据路径,Data Arrival Time)

输入数据在有效时钟沿后到达目的寄存器所需要的时间,可大致划分为:时钟沿到达第一级寄存器所需时间(Tclk1),寄存器内部延迟时间(Tco),数据输出后传输到第二级寄存器所需时间(Tdata).
其中Tdata可细分为:
组合逻辑延时Tcomb_logic:数据经过组合逻辑部分所需的时间;
线网延时Tnet:数据在线上传输所需的时间,一般较小可以忽略;
如图描述
在这里插入图片描述

同时可用下图配合理解
在这里插入图片描述

在这里插入图片描述

该处使用的url网络请求的数据。


5.时钟到达时间(时间路径,Clock Arrival Time)

时钟到达时间就是指时钟从latch edge到达目的寄存器(destination register)输入端所用的时间。
在这里插入图片描述

5.时钟偏斜(Tskew)

指同一个时钟沿(clk)和分别到达两个寄存器所需的时间之间的差值(Tclk1和Tclk2的差值).
公式为:Tskew=Tclk2-Tclk1.在这里插入图片描述

6.数据需求时间(Data Require Time)

细分为 (Setup-Data Require Time)
( Hold-Data Require Time )

Setup-Data Require Time
在这里插入图片描述
由5可知,Clock Arrival Time = Latch +Tclk2.
因此 Data Required Time = Latch+Tclk2-Tsu (忽略建立不定态)。

Hold-Data Require Time
在这里插入图片描述

由5可知,Clock Arrival Time = Latch +Tclk2. 因此 Data Required Time = Latch+Tclk2+Tsu (忽略保持不定态)。

7.建立裕量(Setup Slack)

首先给出示意图:

在这里插入图片描述
公式推导:
为了避免亚稳态(以后会专门写一篇关于亚稳态的文章)的发生,我们需要让数据在第二级寄存器有效沿之前达到稳态,具体是在哪个时刻之前呢,就是上面最开始讲的建立时间Tsu。
通过上面的介绍以及配合本图可知:

Setup Slack = (Latch Edge + Tclk2 - Tsu)-( Launch Edge + Tclk1 +Tco +Tdata)

(建立数据所需时间)Setup-Data Required Time = Latch Edge + Tclk2 - Tsu
(数据到达时间) Data Arrival Time = Lauch Edge + Tclk1 + Tco + Tdata
因此 Setup Slack
= Setup-Data Required Time - Data Arrival Time

=(Latch Edge - Launch Edge)+(Tclk2-Tclk1)-(Tsu+Tco+Tdata)

= Tperiod +(Tclk2-Tclk1)-(Tsu + Tco+Tdata)
对应图上绿色画线部分。
这个最终结果说明了源寄存器与目的寄存器之间延迟 Tdata不能太长的原因,延迟越长,slack越小。
当建立裕量为正时,满足时序要求,否则不满足。

8.保持裕量(Hold Slack)

保持裕量分析方法:

直接先给出公式:
Hold Slack = Data Arrival Time - (Hold-Data Required Time)
同样的可推导:
Data Arrival Time = Launch Edge + Tclk1 + Tco + Tdata
Hold-Data Required Time = Latch Edge + Tclk2

Hold Slack = Launch Edge + Tclk1 + Tco + Tdata -(Latch Edge + Tclk2)

=-Tperiod +(Tclk1-Tclk2)+Tco+Tdata
从结果可以看出,当源寄存器与目的寄存器之间延迟Tdata太短的话,则保持裕量会很短,因此Hold Slack 越小。
本文中源寄存器由第一级寄存器代替,目的寄存器由第二级寄存器代替。
参考博客:

时序分析之静态分析基础
静态时序分析STA公式推导以及本质分析(基础概念、多角度公式推导、本质分析)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值