• 建立时间保持时间方程及其影响


    (注:本文翻译自:http://www.edn.com/design/systems-design/4392195/Equations-and-Impacts-of-Setup-and-Hold-Time

    在深入了解建立时间保持时间方程及其影响之前,先让我们简单的了解一下什么事建立时间和保持时间。

    建立时间:建立时间定义为为了使数据正确的锁存,其在时钟有效沿到来前必须稳定的最小时间。任何这一时间的违例将会导致数据捕获错误并产生建立时间违例。

    保持时间:保持时间定义为时钟有效沿后数据必须保持稳定的最小时间。这一时间的违例将导致数据锁存错误,并产生保持时间违例。

    建立时间保持时间方程

      首先定义clock-to-Q延时(Tclock-to-Q),在一个上升沿触发的触发器中,输入信号在时钟的上升沿捕获,并在一小段延时之后(Tclock-to-Q)产生对应的输出。为了使触发器能正确的完成上述任务,其输入端的数据必须在时钟上升沿之前保持一段时间(Tsetup)及之后保持一段时间(Thold)。此外,时钟信号通过时钟树的微小差异称为时钟扭斜(Skew)。

      从图-1我们可以得到建立时间和保持时间的方程。

    图-1 讨论2个触发器的情况

      在上图中,在0时刻,FF1处理D2FF2处理D1。数据D2传播到FF2需要一段时间,从FF1的时钟端开始计时,很明显时间=Tc2q+Tcomb.为了让FF2正确的锁存数据,D2必须在时钟树的第2个上升沿到FF2之前在FF2的D端保持稳定一段时间(setup);因此,为了满足建立时间,方程如下:

    Tc2q + Tcomb + Tsetup ≤ Tclk + Tskew ------- (1)

      为了更好的理解建立时间和保持时间,可以看看下面的时序图:

    图-2 建立时间保持时间时序图

      为了避免保持时间违例,数据在时钟上升沿之后还需要保持一段时间(hold)。满足保持时间的方程如下:

    Tc2q + Tcomb ≥ Thold + Tskew ------- (2)

      从上述两个方程可以很容易的看出,时钟的正扭斜对建立时间有好处对保持时间则反之。有效输入窗如下:

    图-3 有效输入窗

     

    建立时间保持时间例子分析

      考虑图-4的两个D触发器,基于详细的时序信息,我们可以计算出没有时序违例情况下的电路的最大时钟频率。

      

    图-4 两个D触发器的详细时序信息

      时钟插入延时对每个D触发器都是相同的,它不会约束给定的最大时钟工作频率。从上图可看出,其不会违反保持时间约束。考察建立时间有:

    (Time available for data to travel from FF1 to FF2) ≥ (Time needed for data to travel from FF1 to FF2)
    Tclk + Tskew ≥ Tc2q + Tcomb + Ts2
    Tclk + 0.25ns ≥ 0.1ns + 5ns + 3ns
    Tclk ≥ 7.85ns

      最小的时钟周期为7.85ns,最大的频率为127.4MHz.

      从上面的例子可以看出,改善最大时钟频率可以采用如下3种方式:

      1、减小组合逻辑延迟。

      2、如果可以的话,增大时钟扭斜。

      3、用更快的D触发器(更小的Tc2q和Tsetup)。

    时钟到Q端延时对建立时间保持时间约束的影响

      因为触发器内部的锁存电路是两个背靠背的反相器(图-5),其IO特性如图-6。

      为了方便解释,假设0V对应逻辑0,5V对应逻辑1;从图-6可以看出,如果背靠背反向器的输入不是正确的0V,5V,它需要一定的锁存周期来产生稳定的反相器输出,这段延时称之为时钟到Q端延迟(Tclock-to-Q)。

    图-5 锁存用背靠背反向器

    图-6 反向器IO特性

      如果上述延时在触发器之间累加的话,可能会发生数据信号在期望捕获的时钟沿miss掉。

      (全文完)

  • 相关阅读:
    LeetCode153 Find Minimum in Rotated Sorted Array. LeetCode162 Find Peak Element
    LeetCode208 Implement Trie (Prefix Tree). LeetCode211 Add and Search Word
    LeetCode172 Factorial Trailing Zeroes. LeetCode258 Add Digits. LeetCode268 Missing Number
    LeetCode191 Number of 1 Bits. LeetCode231 Power of Two. LeetCode342 Power of Four
    LeetCode225 Implement Stack using Queues
    LeetCode150 Evaluate Reverse Polish Notation
    LeetCode125 Valid Palindrome
    LeetCode128 Longest Consecutive Sequence
    LeetCode124 Binary Tree Maximum Path Sum
    LeetCode123 Best Time to Buy and Sell Stock III
  • 原文地址:https://www.cnblogs.com/lkiller/p/3308305.html
Copyright © 2020-2023  润新知