C_handle_R的个人空间 https://blog.eetop.cn/1184760 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

静态时序分析基础

已有 1530 次阅读| 2018-12-27 08:30 |系统分类:芯片设计

建立时间,保持时间
为了确保寄存器在时钟沿稳定采集数据,那么必须要满足寄存器的建立,保持时间要求。

建立时间要求:在寄存器有效时钟沿之前至少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

从中可以看出,建立时间与保持时间要求是一对矛盾的关系,在设计电路时,我们要折中考虑。


点赞

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 1

    评论
  • 1178

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-23 18:42 , Processed in 0.023022 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部