静态时序分析——单周期

一、建立时间的检查

建立时间的检查是指检查电路里每一个触发器的数据和时钟的关系是否满足建立时间的要求。

我们以上图为例进行建立时间检查。由图可知,我们主要针对第二个触发器UFF1进行检查。我们可以梳理时序关系如下:

通过这个图,我们可以得到满足建立时间需要达成以下目标

T_{launch}+T_{ck2q}+T_{dp}<T_{capture}+T_{cycle}-T_{setup}

即我们之前说到的Setup slack = Data Required Timesetup - Data Arrival Time  > 0  <===>  1+2+3<6+7-5

在考虑skew和jitter的偏差的情况下,上述的式子可以修改为:

T_{launch}+T_{ck2q}+T_{dp}<T_{capture}+T_{cycle}-T_{setup}-T_{uncertainy}

其时序报告一般如下:

注意,在setup check中,为考虑最差情况,取所有延迟最大,故path type为max。

二、保持时间的检查

保持时间的检查与建立时间的检查具有以下的区别:

1、保持时间的检查是在同一个时钟边沿进行的,即数据的发射路径和数据的捕获路径是同一时钟边沿

2、保持时间与时钟周期是没有任何关系的

我们依旧以上面的时序路径图进行分析,其时序关系如下:

通过这个图,我们可以得到满足保持时间需要达成以下目标:

T_{launch}+T_{ck2q}+T_{dp}>T_{capture}+T_{hold}

即我们之前说到的Hold slack = Data Arrival Time - Data Required Time (hold)> 0 <===>  1+2+3>6+Thold

考虑skew和jitter的偏差的情况下,上述的式子可以修改为:

 T_{launch}+T_{ck2q}+T_{dp}>T_{capture}+T_{hold}+T_{uncertainy} 

其时序报告一般如下:

注意,在setup check中,为考虑最差情况,取所有延迟最小,故path type为min。

一般来说,setup可以通过时钟频率来调整,而hold time是不行的,是一定要满足的。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沧海一升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值