静态时序分析基础知识

描述

建立时间,保持时间

为了确保寄存器在时钟沿稳定采集数据,那么必须要满足寄存器的建立,保持时间要求。 建立时间要求:在寄存器有效时钟沿之前至少Tsetup时间,数据必须到达且稳定。如下图所示。

保持时间

保持时间要求:在数据采集有效时钟沿之后,数据必须维持最短Thold时间不变。如下图所示。

保持时间

建立时间裕量计算

同步时序电路如下图所示。这里对后面一个寄存器进行建立时间裕量分析。

保持时间

其中寄存器的输出延时为Tcq,即时钟有效沿之后延时Tcq时间,数据才到达寄存器Q端。第一个寄存器有效时钟沿之后Tcq时间,数据才到达Q1端,如下图所示。 再经过组合逻辑运算,得到数据C1,其中组合逻辑的延时为Tlogic。时序如下图。

保持时间

从这里可以看到,如果clk2和clk1之间没有延时。那么对于后面的寄存器而言,数据提前于采样时钟沿之前Tcycle-(Tcq+Tlogic)时间到来,且稳定。其中Tcycle为时钟周期。

保持时间

由于寄存器要求的建立时间为Tsetup,故电路必须满足  Tcycle -(Tcq+Tlogic)- Tsetup>0  。建立时间裕量  Tset_slack = Tcycle -(Tcq+Tlogic)- Tsetup

如果clk1与clk2之间存在skew,如下图所示,如正skew。得建立时间裕量为

Tset_slack = Tcycle -(Tcq+Tlogic)- Tsetup + Tskew

这是对建立时间有益的。

保持时间

保持时间裕量计算

在时钟没有skew的情况下。在后一个寄存器有效采样时钟沿之后,同时新的C1只有经过Tcq+Tlogic之后才会到达。故要满足保持时间要求,只需要满足Tcq+Tlogic>Thold。保持时间裕量Thold_slack = Tcq+Tlogic-Thold

保持时间

如果clk1与clk2之间存在skew。如下图所示(正skew)。

保持时间

可以看到,C1_NEW在clk2时钟沿后,Tlogic+Tcq-Tskew就改变了。此时保持时间裕量Thold_slack = Tcq+Tlogic-Thold - Tskew 。可以看到,正skew对保持时间是无益的。

总结

可以看到,必须满足建立时间要求和保持时间要求,即满足如下关系式。 Tset_slack = Tcycle -(Tcq+Tlogic)- Tsetup + Tskew>0 Thold_slack = Tcq+Tlogic-Thold - Tskew > 0 从中可以看出,建立时间与保持时间要求是一对矛盾的关系,在设计电路时,我们要折中考虑。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分