建立时间和保持时间

  参考链接:3.3 Verilog 建立时间和保持时间 | 菜鸟教程关键词: 建立时间, 保持时间 对于数字系统而言,建立时间(setup time)和保持时间(hold time)是数字电路时序的基础。数字电路系统的稳定性,基本取决于时序是否满足建立时间和保持时间。所以,这里用一整节的篇幅,来详细的说明建立时间和保持时间的概念。 基本概念 建立时间就是时钟触发事件来临之前,数据需要保持稳定的最小时间,以便数据能够被时钟正确的采样。 保持时间就是时钟触发事件来临之后,数据需要保持稳定的最小时间,以便数..https://www.runoob.com/w3cnote/verilog2-setup-hold-time.html

         建立时间就是时钟触发事件来临之前,数据需要保持稳定的最小时间,以便数据能够被时钟正确的采样。

        保持时间就是时钟触发事件来临之后,数据需要保持稳定的最小时间,以便数据能够被电路准确的传输。

可以通俗的理解为:时钟到来之前,数据需要提前准备好;时钟到来之后,数据还要稳定一段时间。建立时间和保持时间组成了数据稳定的窗口,如下图所示

建立时间约束条件

        数据路径:Tcq + Tcomb + Tsu

        时钟路径:Tclk + Tskew

        数据路径deay:Tcq + Tcomb

下图是一个典型的触发器到触发器之间的数据传输示意图。其中 "Comb" 代表组合逻辑延迟,"Clock Skew" 表示时钟偏移,数据均在时钟上升沿触发。

时钟到来之前,数据需要提前准备好,才能被时钟正确采样,要求数据路径 (data path)时钟路径 (clock path)更快,即数据到达时间(data arrival time)小于数据要求时间(data required time)。则建立时间需要满足的表达式为:

Tcq + Tcomb + Tsu <= Tclk + Tskew (1)

各个时间参数说明如下:

  • Tcq: 寄存器 clock 端到 Q 端的延迟;
  • Tcomb: data path 中的组合逻辑延迟;
  • Tsu: 建立时间;
  • Tclk: 时钟周期;
  • Tskew: 时钟偏移。

对上式进行变换,则理论上电路能够承载的最小时钟周期和最快时钟频率分别为:

最小时钟周期 = Tcq + Tcomb + Tsu - Tskew
最快时钟频率 = 1 / (Tcq + Tcomb + Tsu - Tskew)  

保持时间约束条件

时钟到来之后,数据还要稳定一段时间,这就要求前一级的数据延迟(data delay time)不要大于触发器的保持时间,以免数据被冲刷掉。则保持时间需要满足的表达式为:

Tcq + Tcomb >= Thd + Tskew (2)

各个时间参数说明如下:

  • Tcq: 寄存器 clock 端到 Q 端的延迟;
  • Tcomb: data path 中的组合逻辑延迟;
  • Thd: 保持时间;
  • Tskew: 时钟偏移。

由式 (1) (2) 可以推导出时钟偏移、组合逻辑延迟及时钟周期的约束。

建议大家只需要记住这 2 个最基本的约束条件表达式,需要求取其他参数约束时,再进行推导,以免各种推导造成记忆混乱。

建立时间与保持时间时序图

一个关于建立时间和保持时间的复杂时序图如下所示。

其中,绿色部分表示建立时间的裕量(margin),蓝色部分表示保持时间的裕量。时间裕量,其实就是电路在满足时序约束的条件下,不等式 (1) 或 (2) 两边时间的差值。

建立时间裕量为:(时钟路径时间)-(数据路径时间)
保持时间裕量为:(数据延迟时间) - (保持时间 + 时钟偏移)

该图只是便于理解建立时间和保持时间约束条件的推导。如果这里会造成记忆混乱,建议不要深究(^_^)。

 

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值