0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么寄存器会有建立时间,保持时间要求,以及传输延时的概念

电子工程师 来源:未知 作者:李倩 2018-09-08 10:25 次阅读

寄存器以及建立保持时间,传输延迟的介绍

寄存的图标一般如下图(忽略复位端)。

这里先介绍一下传输门。CMOS传输门如下图所示。由一个PMOS和一个NMOS组成。en接NMOS的G端,en的反向en’ 接PMOS的G端。我们知道,NMOS的G端为高电平时,NMOS管两端导通;PMOS的G端为低电平时,PMOS管两端导通。故当en为高时,PMOS和NMOS管都导通,输入in可以传输到out端;否则,传输门关闭。

问题:为什么要用两个管子,一个PMOS和一个NMOS来实现传输门,而不只用一个NMOS管,或者PMOS来实现传输门?

答案:前面讲CMOS实现与或门时已经提过。

下面给出主从上升沿触发的寄存器MOS级电路图。可以看到,前后两级电路一致,就是传输门的clk接法相反,故叫主从式。

时钟信号为低电平时,传输门T1导通,数据经过反相器I1,传输门T1,反相器I3,传到QM端。此时T2,T3传输门为关闭状态。T4为导通状态,故此时后面半部分的电路结构如下。相当于两个反相器首尾相连,这就是一个琐存结构,维持数据Q不变。

当时钟clk由低电平变成高电平之后,T3导通,原本在clk为低电平时传到QM的数据被传输到后面的Q端。此时T4是关闭的。但是前半部分电路当clk变成高电平之后传输门T1关闭,新的数据D进不来了。而此时T2导通,结构如下,也是一个琐存结构,此时维持低电平时送进来的数据不变。

由上面的分析可得,当clk为低电平时,T1导通,新的数据被送到第一级,但是T3不导通,传不到Q端,T4导通构成一个琐存结构,维持Q的输出不变;当clk由低变成高电平之后,T1关闭,新的数据不会再传进来;同时T2导通,构成一个锁存器维持数据QM不变;同时T3导通,QM传输到Q端;T4不导通,原先琐存的数据不会对Q造成影响。因此整体实现的就是当clk上升沿来到时,数据D才会被更新到Q端。

经过上面的分析我们再来看建立时间与保持时间以及传输延时。

建立时间(tsetup):既数据D至少需要提到于clk上升沿多长时间到来,数据的采集才不会出错。

电路分析可知,在时钟上升沿到来之前数据必须要被送到第一级电路的锁存器里面,即M端。见下图。

为什么呢?

因为如果上升沿到来时,数据没有被送到M端,当时钟上升沿一来,此时T2右端与M端的信号就会不一致;M端为旧数据,T2右端为新数据,那么旧数据可能会将新数据冲掉。

故在clk上升沿到来时,数据要被传到M端,需经过I1,T1,I3, I2 。故在时钟上升沿到来前 tsetup = tI1 + tT1 + tI3 + tI2时间数据D就必须送到寄存器输入端,这个时间就是三个反相器加一个传输门的延时。

保持时间(thold):就是时钟上升沿之后,数据D还需要维持多长时间不变,才不会对输出Q造成影响。

从电路可以看到,当时钟上升沿一来,T1就关闭了,就算关闭具有延迟,上升沿一到,数据立即就变化了,还是要经过一个反相器I1才能传到T1,故不担心数据会被送进去,因此保持时间可以为零。当然这是对于这个主从式结构的寄存器而言,其他的寄存器的保持时间不一定为零。

传输延时(tcq):既时钟上升沿来了之后,数据还需要多久才能传到Q端。

从电路分析,当时钟上升沿来了之后,数据还需要经过T3,I6才能传到Q端,故这个寄存器的传输延时tcq =tI6+tT3 。

这里只是以主从式上升沿触发寄存器为例介绍深入介绍了一下为什么寄存器会有建立时间,保持时间要求,以及传输延时的概念。对于后面如果利用EDA工具做静态时序分析时,这些参数都是由器件或者工艺库直接给出的。

接下来我们会继续探讨时钟同步电路的时序问题与时序优化。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CMOS
    +关注

    关注

    58

    文章

    5691

    浏览量

    235186
  • 寄存器
    +关注

    关注

    31

    文章

    5327

    浏览量

    120067
  • 反相器
    +关注

    关注

    6

    文章

    310

    浏览量

    43252

原文标题:寄存器以及建立保持时间,传输延迟的介绍

文章出处:【微信号:LF-FPGA,微信公众号:小鱼FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    静态时序之建立时间保持时间分析

    静态时序分析包括建立时间分析和保持时间分析。建立时间设置不正确可以通过降低芯片工作频率解决,保持时间
    的头像 发表于 08-22 10:38 4202次阅读

    芯片设计进阶之路—从CMOS到建立时间保持时间

    建立时间(setup time)和保持时间(hold time)是时序分析中最重要的概念之一,深入理解建立时间
    发表于 06-21 10:44 1707次阅读
    芯片设计进阶之路—从CMOS到<b class='flag-5'>建立时间</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>

    建立时间保持时间讨论

    是一条路径上的相连的两个寄存器,数据输入到 T1 经过1 个 clk 之后,传输到 T2;Tco 为经过寄存器 T1 的传输延时;Tdela
    发表于 03-10 23:19

    FPGA实战演练逻辑篇51:建立时间保持时间

    8.10 建立时间保持时间都满足要求的情况如图8.11所示的波形,同样的一些信号,但我们发现reg3in在clk_r3的建立时间内发生了变
    发表于 07-17 12:02

    什么叫建立时间,保持时间,和恢复时间

    什么叫建立时间,保持时间,和恢复时间
    发表于 04-08 16:52

    保持时间建立时间

    如图,建立时间保持时间都是针对的时钟沿,如图所示,时钟沿有一个上升的过程,图中虚线与clk上升沿的交点是什么?幅值的50%?还是低电平(低于2.5V)往高电平(高于2.5V)跳转的那个点?
    发表于 11-29 00:20

    数字 IC 笔试面试必考点(9)建立时间以及保持时间 精选资料分享

    建立时间(Setup Time)是指触发的时钟信号上升沿到来之前,数据保持稳定不变的时间。  输入信号应该提前时钟上升沿(如上升沿有效)Tsu时间
    发表于 07-26 07:36

    为什么触发要满足建立时间保持时间

    什么是同步逻辑和异步逻辑?同步电路和异步电路的区别在哪?为什么触发要满足建立时间保持时间?什么是亚稳态?为什么两级触发可以防止亚稳态传
    发表于 08-09 06:14

    为什么触发要满足建立时间保持时间

    什么是同步逻辑和异步逻辑?同步电路和异步电路的区别在哪?为什么触发要满足建立时间保持时间
    发表于 09-28 08:51

    线与逻辑、锁存、缓冲建立时间、缓冲时间的基本概念

    基本概念:线与逻辑、锁存、缓冲建立时间、缓冲时间 基本概念:线与逻辑、锁存
    发表于 08-21 15:17 1328次阅读

    建立时间保持时间(setup time 和 hold time)

    建立时间保持时间贯穿了整个时序分析过程。只要涉及到同步时序电路,那么必然有上升沿、下降沿采样,那么无法避免setup-time 和 hold-time这两个概念。 1. 什么是set
    发表于 02-08 14:48 6007次阅读

    数字IC设计中的建立时间保持时间

      本文主要介绍了建立时间保持时间
    的头像 发表于 06-21 14:38 2573次阅读
    数字IC设计中的<b class='flag-5'>建立时间</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>

    到底什么是建立时间/保持时间

    在时序电路设计中,建立时间/保持时间可以说是出现频率最高的几个词之一了,人们对其定义已经耳熟能详,对涉及其的计算(比如检查时序是否正确,计算最大频率等)网上也有很多。
    的头像 发表于 06-27 15:43 1.4w次阅读
    到底什么是<b class='flag-5'>建立时间</b>/<b class='flag-5'>保持</b><b class='flag-5'>时间</b>?

    SOC设计中的建立时间保持时间

    建立时间保持时间是SOC设计中的两个重要概念。它们都与时序分析有关,是确保芯片正常工作的关键因素。
    的头像 发表于 08-23 09:44 955次阅读

    PCB传输线建立时间保持时间建立时间裕量和保持时间裕量

     信号经过传输线到达接收端之后,就牵涉到建立时间保持时间这两个时序参数,它们表征了时钟边沿触发前后数据需要在锁存的输入持续
    发表于 09-04 15:16 824次阅读
    PCB<b class='flag-5'>传输</b>线<b class='flag-5'>建立时间</b>、<b class='flag-5'>保持</b><b class='flag-5'>时间</b>、<b class='flag-5'>建立时间</b>裕量和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>裕量