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


什么是静态时序分析?

首先,静态时序分析分析是基于同步电路设计模型的。静态时序分析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公式推导以及本质分析(基础概念、多角度公式推导、本质分析)

  • 11
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
STAStatic Timing Analysis)静态时序分析是设计验证中非常重要的一部分,它能够保证设计的时序满足要求,并且对于设计中存在的时序问题进行诊断和修复。PT(PrimeTime)是业界较为常用的 STA 工具之一。下面是一个 PT 做 STA 静态时序分析的教程。 1. 确定时序约束 时序约束文件是进行静态时序分析的基础,它描述了设计中的时序要求。时序约束应该包括时钟频率、时钟时序、输入输出延迟等信息。在 PT 中,时序约束文件格式为 SDC(Synopsys Design Constraints)。 2. 进行时钟分析 时钟分析是静态时序分析的第一步,它能够检查时钟网络中存在的时序问题。在 PT 中,我们可以使用 clock report 命令生成时钟分析报告。时钟分析报告能够帮助我们确定时钟路径、时钟树等信息。 3. 进行时序分析 在进行时序分析之前,我们需要将设计进行综合,并产生时序数据库(.db 文件)。时序分析主要包括前端分析和后端分析,前端分析主要是对时序路径进行分析,后端分析主要是对时序路径进行优化。 在 PT 中,我们可以使用 timing report 命令生成时序分析报告,报告中包括了时序路径、时序偏差等信息。我们可以根据报告中的信息进行时序优化,例如添加时钟缓冲、调整时钟路径等操作。 4. 进行时序约束修复 在进行时序分析时,PT 会给出一些违反时序约束的警告和错误信息。我们需要根据这些信息进行时序约束修复,以保证设计满足时序要求。在 PT 中,我们可以使用 constraint report 命令生成时序约束修复报告,报告中包括了需要修复的时序约束信息。 5. 进行时序分析验证 在进行时序分析之后,我们需要进行时序分析验证,以保证时序分析结果的准确性。在 PT 中,我们可以使用 report checks 命令生成时序分析验证报告,报告中包括了时序分析结果的正确性信息。 以上就是 PT 做 STA 静态时序分析的教程,希望能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值