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

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

3天内不再提示

详解FPGA中建立时间与保持时间

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-26 16:59 次阅读

经典面试题:建立时间与保持时间

我曾背过这个答案N多遍,但是依然没有理解。

直到...

一、同步电路设计

同步电路系统设计将系统状态的变化与时钟信号同步,并通过这种理想化的方式降低电路设计难度。同步电路设计是FPGA设计的基础。

但是伴随着集成电路的微缩化和大规模化,同步式电路的一些问题也显现出来。有研究提出了基于异步电路实现FPGA的思路。这个后面再谈。

二、触发器

触发器(Flip Flip,FF)是一种只能存储1个二进制位(bit)的存储单元,可以用作时序逻辑电路的记忆元件。FPGA逻辑单元的D触发器(DFF)就是一种在时钟的上升沿将输入信号的变化传送至输出的边沿D触发器。DFF的符号和真值表如下图所示:

详解FPGA中建立时间与保持时间

详解FPGA中建立时间与保持时间

2.1 D触发器结构

CMOS传输门构成的D边沿触发器电路如下图所示:

详解FPGA中建立时间与保持时间

CMOS工艺下的D-FF结构如下图所示:

详解FPGA中建立时间与保持时间

先由传输门和两个反相器组成一个循环电路(锁存器),再有前后两级锁存器按主从结构连接而成。这里的传输门起开关作用,随着CLK的状态切换开关。只看输出的话,前级锁存器的值会随着时钟输入的变化井然有序的传入后级锁存器。为了防止时钟信号变化时输入信号发生冒险,从而使输入数据稳定的进入前级锁存器,前级锁存器的时钟相位应与输入数据的电路时钟相位相反。

2.2 D触发器工作原理

D-FF的工作原理,如下图所示:

详解FPGA中建立时间与保持时间

当CLK=0时(主锁存器工作),位于前级的主锁存器将输入D的值保存进来,后级的从锁存器将维持上一个时钟周期的数据。由于此时前级与后级的反相器环路之间的传输门是关闭状态,所以前级的信号不会传到后级。

当CLK=1时(从锁存器工作),前级主锁存器的值将会传到后级,同时输入D的信号将会被隔离在外。此时如果前级反相器环路中的信号没有循环一圈以上,就会出现如下图所示的在0和1之间摇摆的中间电位,这就是所谓的亚稳态。

三、建立时间和保持时间

由于亚稳态时间比延迟时间长,在该阶段读取数据可能会引起错误,所以我们引入建立时间(setup time)来约束在时钟上升沿到来之前输入D保持稳定的时间。

当CLK=1时,如果输入D在传输门关闭之前就发生变化,那么本该在下一周期读取的数据就会提前进入锁存器,从而引起反相器环路振荡或产生亚稳态。因此在CLK=1之后也需要输入D维持一定的时间,我们称之为保持时间(hold time)约束。

详解FPGA中建立时间与保持时间

审核编辑:汤梓红

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

    关注

    1602

    文章

    21320

    浏览量

    593173
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60402
  • 同步电路
    +关注

    关注

    1

    文章

    56

    浏览量

    13135
收藏 人收藏

    评论

    相关推荐

    STM32F302K8U6和STM32G431内置的运放 建立时间是多长?

    STM32F302K8U6 和STM32G431 内置的运放 建立时间是多长? 在手册未找到相关描述
    发表于 03-28 08:36

    高速数模转换器(DAC)的建立保持时间

    采用CMOS技术设计的数字电路通常将电源摆幅的中间值作为切换点。因此,时间参考点定在信号边沿的中点。图1波形标明了器件在典型条件下的建立保持时间。注意此时定义的这两个参数均为正值,但
    发表于 02-15 16:57 227次阅读
    高速数模转换器(DAC)的<b class='flag-5'>建立</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>

    关于建立时间保持时间的测量方法

    文件提到两种setup/hold测量方式:10% push-up和pass/fail,按照TSMC说法,前者会更乐观一些,因此如果是采用前者(10% push-up)的测量方式得到建立时间保持时间,需要十份小心时序裕量是否足够
    的头像 发表于 12-05 11:19 841次阅读
    关于<b class='flag-5'>建立时间</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>的测量方法

    浅析D触发器的建立时间保持时间物理含义

    我理解这个D触发正常运转要满足四个约束,第一个是建立时间,第二个是保持时间,第三个是对于最后一个传输门的关断时间的控制,第四个是[时钟周期]() 约束。
    的头像 发表于 12-04 15:44 450次阅读
    浅析D触发器的<b class='flag-5'>建立时间</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>物理含义

    请问两级运算放大器的建立时间如何估算?

    一般运算放大器的datasheet都会给出0.01%建立时间(有的给出0.1%建立时间),比如ADA4897,给出2V阶跃测试时0.01%建立时间为90 ns。 因此对于单运放电路来说,建立
    发表于 11-27 06:54

    多路复用器的建立时间和采样速率的计算

    电子发烧友网站提供《多路复用器的建立时间和采样速率的计算.pdf》资料免费下载
    发表于 11-24 11:03 0次下载
    多路复用器的<b class='flag-5'>建立时间</b>和采样速率的计算

    ad8067如何才能知道阶跃响应误差达到0.01%时的建立时间

    在为ad7610选择一个单电源的驱动放大器,手册推荐的ad8021是双电源,建立时间参数为:Settling Time to 0.01% VO = 1 V step, RL = 500 Ω 23
    发表于 11-17 06:22

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

     信号经过传输线到达接收端之后,就牵涉到建立时间保持时间这两个时序参数,它们表征了时钟边沿触发前后数据需要在锁存器的输入持续时间,是接收器本身的特性。简而言之,时钟边沿触发前,要求数
    发表于 09-04 15:16 421次阅读
    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>裕量

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

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

    FPGA时序约束之建立时间保持时间

    FPGA中时序约束是设计的关键点之一,准确的时钟约束有利于代码功能的完整呈现。进行时序约束,让软件布局布线后的电路能够满足使用的要求。
    发表于 08-14 17:49 825次阅读
    <b class='flag-5'>FPGA</b>时序约束之<b class='flag-5'>建立时间</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>

    FPGA时序分析-建立时间保持时间裕量都是inf怎么解决呢?

    今天有个小伙伴遇到一个问题,就是在vivado里面综合后看到的建立时间保持时间裕量都是inf,我们来看看怎么解决这个问题。
    发表于 07-30 10:26 741次阅读
    <b class='flag-5'>FPGA</b>时序分析-<b class='flag-5'>建立时间</b>和<b class='flag-5'>保持</b><b class='flag-5'>时间</b>裕量都是inf怎么解决呢?

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

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

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

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

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

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

    询问应用工程师:建立时间

    运算放大器建立时间是保证数据采集系统性能的关键参数。为了实现精确的数据采集,运算放大器输出必须在A/D转换器能够准确数字化数据之前建立。然而,建立时间通常不是一个容易测量的参数。
    的头像 发表于 06-17 10:37 415次阅读
    询问应用工程师:<b class='flag-5'>建立时间</b>