学习数字逻辑这门课程的目的有两个,第一是为了后续的电路设计,是硬件工程师的入门课程;第二则是为了更好地理解计算机的工作原理,为后续嵌入式开发、软件开发等打下坚实的基础。绝大部分人应该属于后者,毕竟纯粹的硬件开发工程师职位不多。
时序电路是数字逻辑这门课的关键,因为引入了时间这一维度,理解掌握其功能特性的难度比组合逻辑要高,因此,很多童鞋可能学到这有点晕,这是正常现象。应对办法也很简单:熟记典型的几个触发器功能特征,多做几个习题,对付考试和后续课程的理解绰绰有余。

时序电路这门课程的要求是最终能够进行简单的电路设计(包括组合逻辑和时序逻辑),完成特定的功能。学会跑之前,要先学会走,也就是先看看别人的电路是怎么设计的,分析其规律,然后再尝试设计简单的电路。
要对时序电路进行分析,需要先理解其结构特征,时序电路的基本结构如下图所示:
由图1知,时序电路由组合变换电路、存储电路和对外输出的组合电路三部分组成。一般情况下,称存储电路中保存的数据为时序电路的状态;外部输出Z有两种形式,一种是Z只与电路的现态相关,称为Moore型电路,一种是与电路的状态和外部输入相关,称为Mealy型电路。
要分析时序电路,很多教材上要写第一步做什么、第二步做什么之类的,这种方法很容易让童鞋们死记硬背,误入歧途,较为合理的方法应该是抓住时序电路的本质,即是什么导致电路状态发生改变?电路的状态如何改变?电路的对外输出是什么规律?这三个问题搞清楚了,画出电路的状态迁移图,根据状态迁移图对其功能进行说明,简单的分析就算完成了。
什么导致电路状态发生改变?
电路状态如何改变?
电路对外的输出是什么规律?
综上,只要抓住这三个方程,电路分析不是什么难事,大家只要掌握这个规律,没有分析不了的电路。
根据上面的原理,下面由简单到难,分别举两个例子进行分析。
显然,这时一个同步的Mealy型电路(Z与输入和X和D触发器的状态相关),分别写出输出方程、激励方程和次态方程:
由此,可以写出电路的次态(状态转移)和输出:
根据输出表,画出电路的状态转移图和波形图,分别入图5和图6所示:
根据状态转移图,很容易看出,例1中的功能为:当输入为1时,电路状态变化,且当处于0状态时,输入1,输出为1,当处于1状态时,输入1,输出为0;其它输入(即0),电路状态保持不变,且输出为1.
其中的D 0 的输入为D 00 *D 01

这个电路中每个触发器的激励方程为:
对于这样的电路,可以口述,假设Q 3 Q 2 Q 1 Q 0 初态为0000,当一个时钟脉冲来临时,Q 3 Q 2 Q 1 Q 0 转换为:0001;再来一个时钟脉冲则为:0011,类似进行分析,可以得到其转换状态为:
类似这样的电路在后续学习中非常常见,请大家熟悉,并且最好能直接口述或绘制其状态转移图
对于时序电路分析,抓住核心的三个方程(根据情况),很容易绘制状态转移图和波形图。
如有错,请各位批评指正!
时序逻辑电路 简称时序电路
时序电路,它是由最基本的 逻辑门 电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与 组合电路 最本质的区别在于时序电路具有记忆功能.时序电路的特点是:输出不仅取决于当时的输入值,而且还与电路过去的状态有关.它类似于含储能元件的电感或电容的电路,如 触发器 、 锁存器 、 计数器 、 移位寄存器 、 储存器 等电路都是时序电路的典型器件.
时序逻辑电路的状态是由存储电路来记忆和表示的.
编辑本段 导读 虽然组合逻辑电路能够很好地处理像加、减等这样的操作,但是要单独使用组合逻辑电路,使操作按照一定的顺序执行,需要串联起许多组合逻辑电路,而要通过硬件实现这种电路带价是很大的,并且灵活性也很差.为了实现一种有效而且灵活的操作序列,我们需要构造一种能够存储各种操作之间的信息的电路,我们称这种电路为时序电路.
编辑本段 时序电路的定义 虽然每个数字电路系统可能包含有组合电路,但是在实际应用中绝大多数的系统还包括存储元件,我们将这样的系统描述为时序电路.
时序电路的框图如图7.1.1所示.组合电路和存储元件互联后组成了时序电路.存储元件是能够存储二进制信息的电路.存储元件在某一时刻存储的二进制信息定义为该时刻存储元件的状态.时序电路通过其输入端从周围接受二进制信息.时序电路的输入以及存储元件的当前状态共同决定了时序电路输出的二进制数据,同时它们也确定了存储元件的下一个状态.从框图中我们可以看出,时序电路的输出不仅仅是输入的函数,而且也是存储元件的当前状态的函数.存储元件的下一个状态也是输入以及当前状态的函数.因此,时序电路可以由输入、内部状态和输出构成的时间序列完全确定.

逻辑设计领域主要有两种类型的时序电路,它们分类的标准取决于我们观察到的输入信息的时机和内部状态改变的时机.同步时序电路( synchronous sequential circuit )的行为可以根据其在离散的时间点上的信号信息来定义.而异步时序电路( asynchronous sequential circuit )的行为则取决于任意时刻的输入信号以及输入信号在连续的时间内变化的顺序.
编辑本段 时序电路的分析 时序电路的行为是由输入、输出和电路当前状态决定的.输出和下一状态是输入和当前状态的函数.通过对时序电路进行分析,可以得到关于输入、输出和状态三者的时序的一个合理描述.
如果一个电路包含这样的触发器,该触发器的时钟输入是直接驱动或者有一个时钟信号间接驱动的,同时这个电路在正常执行时不需加载直接置位和间接置位,那么我们就称这个电路为同步时序电路.触发器可以是任何类型的,逻辑图可以包括也可以不包括组合逻辑.
输入方程 时序电路的逻辑图通常包括触发器和组合门.我们所使用地触发器类型和组合电路的一系列布尔函数为我们提供了绘制时序电路逻辑图所需要的全部信息.在组合逻辑电路中,触发器输入信号的产生,可以用一系列的布尔函数描述,我们称这些布尔函数为触发器的输入方程( flip-flop input equation ).在这里,我们同样将采用传统的表示方法,使用触发器的输入符号作为触发器输入方程中的变量,使用触发器的输出符号作为变量下标.在组核电路中,触发器的输入方程是一系列布尔表达式,下表变量是组合电路的输出符号.因为在电路中触发器的输出端始终与输入端相连,所以命名为“触发器的输入方程”.
触发器输入方程为指定时序电路的逻辑图提供了一种间接的代数表达方法.这些方程的字母符号隐含了所用的触发器的类型,同时完全确定了驱动触发器的组合逻辑电路.时间变量在触发器输入方程中没有指明,但是已经暗含在触发器C输入端的时钟之中.,2,


