数字电路设计之同步时序逻辑电路

电子说

1.3w人已加入

描述

作者: 小鱼,Xilinx学术合作

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

FPGA

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

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

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

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

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

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

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

FPGA

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

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

FPGA

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

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

FPGA

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

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

FPGA

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

FPGA

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

FPGA

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

FPGA

编辑:hfy


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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分