静态时序分析(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). 建立时间决定了数据路径的最大延迟,保持时间决定了数据路径的最小延迟。

(自学笔记总结,如有错误,敬请指正)文章来源地址https://uudwc.com/A/8dnoM

原文地址:https://blog.csdn.net/ICer_CoolDong/article/details/124864265

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月26日 16:00
下一篇 2023年09月26日 16:03