• 建立时间和保持时间


    1 模型分析

       理解建立时间保持时间需要一个模型,如下图所示。

    图:触发器时钟和数据模型

      时钟沿到来时采样数据D,将采到的数据寄存下来,并输出到Q端,所以如果没有新的时钟沿到来,则Q端输出的一直是上次采样的数据,每来一个时钟沿,采样一次数据D。那么分析这个建立时间和保持时间,我们分两种情况,一种是clka没有传输延时(clock skew),一种是由传输延时,前者相对容易一些。

    图:建立时间和保持时间

      建立时间太短或者保持时间不够,均不能在clk的上升沿采集到正确的数据。

    后面分析需要用到的参数:
      Tco: 数据正确采样后从D端到达Q端的延时,触发器固有属性,不可改变
      TDelay: D1输出端到D2输入端的组合逻辑延时和布线延时
      Tsu: 触发器的建立时间,触发器固有属性,不可改变
      Th: 触发器的保持时间,触发器固有属性,不可改变
      Tclk: 时钟周期
      t1: 假设源时钟为clka,clka到达D1的延时
      t2: 同t1,是clka到达D2的延时

    2 无传输延迟下的建立时间和保持时间

    2.1 时钟和数据模型

    2.2 建立时间

    2.3 保持时间

      我们假设组合逻辑的Delay延迟非常大,如下图所示。

     

    3 有传输延迟下的建立时间和保持时间

      事实上Clock的传输也是有延时的,如图所示,两个触发器的源时钟为clka,到达D1需要t1的时间,到达D2需要t2的时间,t2−t1t2−t1其实就是我们常说的clock skew(时钟偏斜),就是同一个时钟沿达到D1和D2的时延差别,如果D1和D2离的很远,那么相应的clock skew就会更大。

    3.1 时钟和数据模型

    3.2 建立时间

      红色部分是时钟偏移t2-t1,建立时间的关系式:

    3.3 保持时间

            图中假设组合逻辑延迟很长,棕色部分是时钟的延迟,就是t2-t1的时间差,保持时间如下式:

  • 相关阅读:
    在CentOS7上部署OpenStack 步骤详解
    Linux运维工程师工作手册
    Nginx+Keepalived实现Web服务器负载均衡
    Django Nginx+uwsgi 安装配置
    Docker-搭建Docker Registry
    centos7系统默认防火墙Firewall使用方法
    Shell脚本编写及常见面试题(二)
    Shell脚本编写及常见面试题(一)
    Linux之解决每次git pull/git push都需输入密码设置
    基于thinkphp5的Excel上传
  • 原文地址:https://www.cnblogs.com/yiwenbo/p/11001067.html
Copyright © 2020-2023  润新知