FPGA之时序电路的理解

FPGA之时序电路的理解,第1张

一。 概述

时序逻辑示意图,如下图所示。数据从一个寄存器出来,经过组合逻辑到达下一个寄存器。

FPGA之时序电路的理解,FPGA之时序电路的理解,第2张

在学习数字电路的过程中,我们都知道时序逻辑,但是大家对时序逻辑真的了解吗?

(1)纯组合逻辑电路的缺点在哪?

(3)纯组合逻辑电路完成不了什么功能?

(2)为什么需要时钟和寄存器呢?

带着这三个疑问我们来认识一下时序逻辑电路。

二。 同步时序逻辑电路的作用

1. 时序逻辑电路对于组合逻辑的毛刺具有容忍度,从而改善电路的时序特性。同时电路的更新由时钟控制。

比如,在组合逻辑中当各路信号的路径长度不一样时那么组合逻辑的输出就会出现毛刺。如下图所示。F0和F1到达最后一个或门的路径长度不一样,那么在F端就会出现毛刺。

FPGA之时序电路的理解,FPGA之时序电路的理解,第3张

图片来自书籍《Verilog HDL高级数字设计》

毛刺信号如下图影印部分所示,由于C经过一个非门才到达下面的与门,故F1相对于F0有延迟,那么在F端就会造成毛刺,这个毛刺就是有短暂的时间输出为0。

FPGA之时序电路的理解,FPGA之时序电路的理解,第4张

图片来自书籍《Verilog HDL高级数字设计》

但是利用时序电路,数据A,B,C的触发是在时钟沿,输出信号F也是在时钟沿去采,而这个时钟沿到来的时间是在F输出稳定之后,故对电路的毛刺具有容忍度。如下图,可以看到最后寄存器的输出O就不存在毛刺。

FPGA之时序电路的理解,FPGA之时序电路的理解,第5张

这个特性使得在时序逻辑电路里面,电路的输出被采集到寄存器里面,并送往下一级电路的时候都是确定的而且是准确的,从而整体电路都是随着时钟沿在更新。

2. 纯组合逻辑只能由当前输入决定当前输出,而不能实现带反馈的逻辑,如下图所示,这样的话,你的电路就会陷入死循环而无法使用。

FPGA之时序电路的理解,FPGA之时序电路的理解,第6张

比如做一个计数器,如果我们用如下的组合逻辑的方式描述就会出问题。

FPGA之时序电路的理解,FPGA之时序电路的理解,第7张

而这种带反馈的逻辑,必须要通过寄存器把输出暂存起来,再由时钟沿去控制数据的反馈更新,这样电路才有意义。

FPGA之时序电路的理解,FPGA之时序电路的理解,第8张

故计数器的正确描述方式如下。

FPGA之时序电路的理解,FPGA之时序电路的理解,第9张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2582665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存