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
    +关注

    关注

    1646

    文章

    22096

    浏览量

    620657
  • 触发器
    +关注

    关注

    14

    文章

    2042

    浏览量

    62347
  • 同步电路
    +关注

    关注

    1

    文章

    60

    浏览量

    13592
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    赛思高保持小型时钟模块:精确时间的守护者

    在我们的日常生活时间是一切的基础。无论是工作、学习还是生活,我们都需要依赖于时间来规划和安排。而在这个快节奏的社会中,如何准确地掌握时间成为了我们必须面对的问题。这时,高
    的头像 发表于 07-22 14:37 ?129次阅读
    赛思高<b class='flag-5'>保持</b>小型时钟模块:精确<b class='flag-5'>时间</b>的守护者

    常见电子类硬件笔试题整理(含答案)

    ,那么超过量就分别被称为建立时间裕量和保持时间裕量。 4、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试) 在组合逻辑,由于门的输入信号通路中经过了不同的延时,导致到达该门的
    发表于 06-27 15:05

    普源示波器时间精度测量方法详解

    普源示波器作为电子测试领域的重要工具,能够准确捕捉和分析电路的电压和电流波形,其时间精度测量在电子电路设计和故障诊断扮演着至关重要的角色。本文将详细介绍普源示波器时间精度的测量方法
    的头像 发表于 04-03 18:02 ?542次阅读
    普源示波器<b class='flag-5'>时间</b>精度测量方法<b class='flag-5'>详解</b>

    为什么ADS1298在初始化过程START引脚的建立时间会有延迟?

    关于 ADS1298,我想澄清下列问题: 1. 为什么 ADS1298 在初始化过程 START 引脚的建立时间会有延迟?如果输入信号在该建立时间过程 (tsettle) 发生变
    发表于 02-17 07:15

    总结了8个常见的知识点

    的信号在时钟信号到来之前,数据稳定不变的时间。如果建立时间不够,时钟采到的数据可能刚好在数据的变化沿,那么写入到触发器数据将是错误的。保持时间
    的头像 发表于 01-24 10:08 ?443次阅读
    总结了8个常见的知识点

    FPGA控制DAC8830,输出35kHz正弦波峰峰值不对是哪里出了问题?

    FPGA控制DAC8830,参考电压5V,能正常输出35Hz正弦波和118Hz方波,但输出35kHz正弦波峰峰值不对,输出的11.8kHz方波形状和峰峰值(应为5V)不对。为什么? 用示波器看35Hz方波从0V到5V的上升时间,为45us左右,芯片手册上说
    发表于 12-26 08:21

    ADC采样保持过程的具体时间要如何确定?

    我用过的ADC芯片是ADC10D1500和ADC083000,主要是用来处理一些脉冲信号。 在datasheet里面经常看到说“该ADC采用了新的采样保持放大器结构”,我理解的ADC采样保持
    发表于 12-24 06:09

    DAC81408的建立时间为12uS,如何理解数据手册的12uS建立时间这个参数呢?

    在数据手册,DAC81408的建立时间为12uS 而爬升速率0~5V为1V/uS,如果控制输出从0V跳变至5V,以此时间计算,时间为5uS,小于12uS的
    发表于 12-09 08:33

    DAC7811想要实现持续1us的100mA电流源,但DAC建立时间都有1us,如何解决?

    要给一个阻性(几十欧)元件施加一个20~80mA的电流,测量电压,计算出准确的阻值,由于功耗限制,电流只允许持续1us,本打算使用DAC+运放+晶体管实现电流源,但找了一圈,发现DAC的建立时间通常都在1us以上,再算上运放的建立时间,肯定>1us,请教该如何实现
    发表于 11-28 06:37

    请问如何确认dac7811的电压建立时间是否满足0.2us?

    我们对dac7811进行了仿真,目的想确认dac7811的电压建立时间是否满足0.2us,仿真结果有些疑问。 (1)、下图是仿真模型 (2)下图是仿真结果, 序号1是输入模拟电压给的时间
    发表于 11-14 06:22

    Java时间戳的使用

    Java时间戳的使用
    的头像 发表于 11-06 16:04 ?569次阅读
    Java<b class='flag-5'>中</b><b class='flag-5'>时间</b>戳的使用

    使用NTP,该如何同步时间?一文详解

    ? 一、NTP通信概述 很多场景,由于业务需要,模块需要保持正确的系统时钟,才能正常工作。但是模块上电后的初试时间戳是946713600(即2000/01/01,16:00:00),所以同步时钟
    的头像 发表于 10-29 13:44 ?966次阅读
    使用NTP,该如何同步<b class='flag-5'>时间</b>?一文<b class='flag-5'>详解</b>!

    超声应用时间增益控制(补偿)

    电子发烧友网站提供《超声应用时间增益控制(补偿).pdf》资料免费下载
    发表于 10-09 11:38 ?0次下载
    超声应用<b class='flag-5'>中</b>的<b class='flag-5'>时间</b>增益控制(补偿)

    PGA281建立时间过长怎么解决?

    我的PGA281增益由1变128时,建立时间Settling time过长有800uS左右(增益切换后延时1ms也没用),可数据手册明明是40us
    发表于 08-22 06:14

    ADS7951+INA826回读建立时间太长是什么原因呢?

    精度要求1%。自己用FPGA打印了采集过程每次的采集码值,发现,刚开始,建立增长很快。但快接近稳定时,码值增长缓慢,甚至有波动的情况。 项目赶进度,烦请各位前辈协助解决问题,万分感激。 请教各位前辈,是不是电路参数那设置的不对,还是什么原因呢?
    发表于 08-21 07:27