建立时间裕量与保持时间裕量的简单理解

之前刚接触FPGA时候,了解到时序约束这一块,遇到一个概念就是建立时间裕量以及保持时间裕量,让人十分费解;

如今秋招已过,也见过许多这种类型的题目,但是大多类似,都是如下模型;

很久以前也有过仔细分析,但是总觉得繁复,让人看了有些恐怖,需要求数据要求时间和数据到达时间,然后建立时间裕量等于数据要求时间减去数据到达时间。如:建立裕量

这样理解也没有问题,可以推出数据的建立裕量:

上面假设时钟偏斜为零。

当然理解上述推到方法也行,但是我想还是简单粗暴的想法让人更容易理解:

有如下时序模型:

系统时钟需要满足如下关系:

T + T_{skew} \geq T_{cq} + T_{gate}+ T_{su}

时钟T是固定的,那么建立时间裕量,不过是满足dff建立时钟之后,还宽裕出来的时间:

Setup Slack = T + T_{skew} - T_{cq} - T_{gate} - T_{su}

同理,保持时间需要满足的关系为:

T_{skew} + T_h \leq T_{cq}+T_{gate}

额外提示:

所有的一切Tskew都是如下:

T_{skew} = T_{clk2} - T_{clk1}

所以,Tskew有可能为正,也有可能为负,负的话就有利于满足保持时间,正的话就有利于满足建立时间;

所以,保持时间裕量也不过是满足dff保持时间后,宽裕出来的时间:

Hold Slack = T_{cq}+T_{gate}-T_{skew} - T_h


最后,无论是建立时间裕量还是保持时间裕量,为正则满足时序要求,为负则不满足时序。

对于建立时间裕量:

Setup Slack = T + T_{skew} - T_{cq} - T_{gate} - T_{su}

可见,组合逻辑延迟Tgate不能太大,太大会影响建立时间的满足;

对于保持时间裕量:

Hold Slack = T_{cq}+T_{gate}-T_{skew} - T_h

可见,门延迟Tgate也不能太小,太小则不利于保持时间满足。


回忆参考:时序分析之静态时序分析基础

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李锐博恩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值