【转】【时序电路——DFF再理解】

本文纠正了对DFF的传统误解,强调从电路原理分析其在时钟上升沿的捕获和输出机制。讲解了D锁存器的消除不确定状态设计和D触发器在不同时钟状态下的数据处理。重点阐述了数据锁定、setuptime和holdtime概念。
摘要由CSDN通过智能技术生成

【转】时序电路——DFF再理解

不正确的理解

之前理解的,DFF在时钟的上升沿进行对D端的数据采集,再下一个时钟的上升沿来临,Q端输出D端采集的数据。能这么理解,是离开书本时间太长了,又观察到了仿真波形的影响,这么理解只是在描述仿真波形的表征现象,并非根本的原理;

正确的理解

思路:正确的理解应该从DFF本身出发,通过DFF的电路原理图分析DFF的电路工作原理,了解时钟上升沿之前和之后内部逻辑如何变化,如何影响了从D端到Q端的数据输出。

D锁存器

D锁存器的电路为消除逻辑门控SR锁存器不确定状态,在电路的S和R输入端连接一个非门(Inverter),从而保证了S和R同时为0的条件,参考下图由与非门构成的D锁存器电路图:
在这里插入图片描述

如果D信号在E=1期间发生变化,电路提供的信号路径将使Q端信号跟随D端变化。在E由1跳变为0以后,锁存器将锁存跳变前瞬间D端的逻辑值,可以暂存1位二进制数据。又因为有Inverter的存在,SR锁存器不会存在S&R==1的状态,所以就有了D锁存器的捕获数据,E为0的时候会一直维持数据状态。

D触发器

时钟脉冲边沿作用下的状态刷新称为触发,具有这种特性的存储单元电路称为触发器。D触发器的电路图如下(图中的SR为了标注有两级SR锁存器,方便逻辑推理):
在这里插入图片描述

以上升沿触发为例,进一步分析D触发器在上升沿捕获数据,并维持锁存的过程。

当D端为0,CLK为0时,此时第一级的D锁存器输出为0,第二级SR锁存器处于保持状态,详情参考下图:
在这里插入图片描述

若继续保持D端为0,CLK变为1时,第一级D锁存器处于保持状态,第二级的SR锁存器将上一次的D值传递到Q端输出,详情参考下图:

在这里插入图片描述

若在D端数值发生改变为1,且CLK仍然为1,第一级的D锁存器仍处于保持状态,不会由于D端的变化而改变,更不会影响最后Q端的输出。

在这里插入图片描述

若D端继续保持为1,CLK转换为0,此时第一级D锁存器的输出为D端的数据,Q端输出仍为保持状态;

在这里插入图片描述

若D端数据继续保持为1,CLK转换为高,第一级D锁存器的结果就会输出到Q端,Q端的值也就随着CLK的上升沿,捕获到了1,并进行输出到Q端;

从逻辑图中,也可以看出DFF的数据捕获和输出都需要满足一定的时间约束:

  1. 时钟上升沿到来之前,数据需要经过第一级锁存器,需要花费一定的时间,这段时间就是setup time,如果数据到达的时间无法满足setup time,在上升沿来到时第一级锁存器可能无法锁存到稳定的数据;
  2. 时钟上升沿到来之后,数据到输出需要经过第二级锁存器输出到Q端,也需要花费一定的时间,这段时间就是hold time,稳定之后才能用于下一级工作;

总结

DFF捕获时钟上升沿的D端数据,并在Q端输出,一直维持到下一时钟上升沿到来之前。在此期间,D端的数据变化不会直接影响到Q端的输出。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值