静态时序分析(STA)自学笔记

以register to register为例,说明STA中setup slack和hold slack的意义。
register to register 示意图
(图中蓝色参数表示计算延时时,数据的实际值,红色表示要求值)
明确几个参数概念:
Tco:寄存器中从时钟发起到Q输出的时间
Tdata:寄存器之间的组合逻辑数据延迟,包括逻辑和走线延迟
Tclk1:时钟到达源寄存器的延迟(源寄存器延迟)
Tclk2:时钟到达目的寄存器的延迟(目的寄存器延迟)
Tsu:建立时间门限,即时钟上升沿到来之前,数据需要保持稳定的时间
Thold:保持时间门限,即时钟上升沿到来之后,数据需要保持稳定的时间
Tcycle:一个时钟周期
setup slack
计算公式:setup slack = data required time - data arrival time.
前者表示数据要求到达的时间,后者表示数据实际到达时间,要求setup slack>0.即要求到达的时间大于实际到达的时间(比如要求10ns到达,但是数据8ns已经到了),那么数据肯定可以被稳定采集。
★ data required time:因为数据要在时钟上升沿到达之前保持稳定,至少为Tsu,因此其计算公式为:
data required time = Tcycle + Tclk2 - Tsu
★ data arrival time:数据实际到达时间,因此其计算公式为:
data arrival time = Tclk1 + Tco + Tdata
故:setup slack = data required time - data arrival time
= Tcycle + Tclk2 - Tsu - ( Tclk1 + Tco + Tdata)

hold slack:
计算公式:hold slack = data finish time - required finish time.
前者表示数据传送结束的时间,后者表示要求数据传送所需时间,要求hold slack>0.即实际结束时间大于要求结束的时间(比如要求20ns结束,但是实际22ns才结束),那么数据一定可以稳定。
★ data finish time:数据传送结束的时间,因此其计算公式为:
data finish time = Tclk1 + Tco + Tdata + Tcycle
★ required finish time:要求数据传送结束时间,因此其计算公式为:
required finish time = Tcycle + Tclk2 + Thold
故:hold slack = data finish time - required finish time
= Tclk1 + Tco + Tdata + Tcycle - ( Tcycle + Tclk2 + Thold)
=Tclk1 + Tco + Tdata - ( Tclk2 + Thold)

Tips:可以发现setup slack与时钟周期Tcycle有关,而hold slack与其无关。若要求最大时钟频率时,可以根据setup slack的值来计算,即Fmax=1/(Tcycle - setup slack). 建立时间决定了数据路径的最大延迟,保持时间决定了数据路径的最小延迟。

(自学笔记总结,如有错误,敬请指正)

  • 10
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值