第五章时序逻辑电路.docx
《第五章时序逻辑电路.docx》由会员分享,可在线阅读,更多相关《第五章时序逻辑电路.docx(22页珍藏版)》请在冰豆网上搜索。
第五章时序逻辑电路
一, 特点 结构 分类
学习指导:
通过本知识点的学习,了解时序逻辑电路的结构,掌握组合逻辑电路与时序电路的区别及时序电路的分类方法。
某时刻的特定输出仅决定于该时刻的输入,而与电路原来的状态无关。
时序电路的特点
数字逻辑电路按工作特点分为两大类:
一类是组合逻辑电路,简称组合电路;
另一类是时序逻辑电路,简称时序电路。
时序电路与组合电路的区别:
如果一个电路,由触发器和组合电路组成,那么它就有能力把前一时刻输入信号作用的结果,记忆在触发器中。
这样,电路在某一给定时刻的输出不仅取决于该时刻电路的输入,而且还取决于该时刻电路的状态(触发器的状态)。
所谓时序就是电路的状态与时间顺序有密切关系,预定操作是按时间顺序逐个进行的
时序电路的特点是电路在任一时刻的稳定输出,不仅取决于该时刻电路的输入,而且还与电路过去的输入有关,因此这种电路必须具有存储电路(绝大多数由触发器构成)保证记忆能力,以便保存电路过去的输入状态。
∙时序电路的结构
时序电路的一般结构如图5-1所示,它由组合电路和存储电路两部分组成,图5-1中X(X1、X2、······Xn)代表输入信号,Z(Z1、Z2、······Xm)代表输出信号,W(W1、W2、······Wh)代表存储电路控制信号,Y(Y1、Y2、······Yk)代表存储电路输出状态(时钟信号未标出),这些信号之间的关系可以用下列三个方程(函数)表示:
输出方程:
Z(tn)=F[X(tn),Y(tn)] (5-1)
状态方程:
Y(tn+1)=G[W(tn),Y(tn)] (5-2)
各触发器的输入端表达式.
控制方程:
W(tn)=H[X(tn),Y(tn)] (5-3)
各方程中tn、tn+1表示相邻的两个离散时间
Y(tn)一般表示存储电路(各触发器)输出现时的状态,简称现态,或原状态
Y(tn+1)则描述存储电路下一个工作周期(来过一个时钟脉冲以后)的状态,简称次态、或新状态.
∙时序电路的分类
由输出方程可知,时序电路的现时输出Z(tn)决定于存储电路的现时状态Y(tn)及时序电路的现时输入X(tn)。
有许多时序电路较简单,其输出只与存储电路现态Y(tn)有关,与现时输入X(tn)无关。
因此,式(5-1)可改写成:
Z(tn)=F[Y(tn)] 这类时序电路称穆尔型(Moore)电路(5-4)
输出符合式(5-1)的时序电路则称为米莱型(Mealy)电路。
时序电路分为两类:
同步时序电路和异步时序电路。
同步时序电路:
有一个统一的时钟脉冲源,存储电路里所有触发器的状态变化,都在同一个控制脉冲CP作用下同时发生,在电路结构上,存储电路中各触发器时钟脉冲端接同一个时钟脉冲源。
因此,时钟脉冲对存储电路的更新,起着同步作用。
异步时序电路:
没有统一的时钟脉冲,或者虽然有时钟脉冲,但是不起同步作用,而是作为输入变量之一作用于电路。
返回
二,分析方法 分析举例
∙同步时序逻辑电路的分析方法
存储电路里所有触发器的状态变化,都在同一个控制脉冲CP作用下同时发生,即存储电路中各触发器时钟脉冲端接同一个时钟脉冲源。
第一步 写出各触发器的控制函数和电路的输出函数;
第二步 写出触发器的状态方程;
第三步 作出电路的状态转换表及状态转换图;
第四步 作时序波形图;
第五步 最后综合上述分析得到电路的逻辑功能。
∙同步时序逻辑电路的分析举例
例:
已知某同步时序电路的逻辑图如图5-2所示,试分析此电路的逻辑功能。
解:
图5-2中,两个T触发器组成了存储电路,输入信号为X,输出信号为Z。
这是一个具有输入信号的同步时序电路。
一般分析方法如下:
1.写出各触发器的控制函数和电路的输出函数
所谓的触发器的控制函数就是各触发器的输入端的表达试,也称驱动方程。
而电路的输出函数就是指组合电路部分的输出。
由此可得:
触发器的控制函数为:
T1n=Xn T2n=XnQ1n
电路的输出函数为:
Zn=XnQ2nQ1n
2.写出触发器的状态方程
对于同步时序逻辑电路,由于组成电路的所有触发器受同一时钟源控制,当有时钟脉冲跳变沿到来时各触发器的状态将由各触发器的特性方程来决定其次态输出值;当没有时钟脉冲作用时,各触发器将保持原态。
因此,同步时序逻辑电路的状态方程就是各触发器的特性方程。
T触发器的状态方程为
将各触发器的控制函数代入状态方程,得
3.作出电路的状态转换表及状态转换图
在同步时序电路中,输入与状态转换关系可以用表格来表示。
这样建立的表就是状态转换表,简称状态表。
也可以用图解方式表示。
这样建立的图就是状态转换图,简称状态图。
得到状态转换表可按以下方法:
首先将电路的现在输入Xn,触发器的原状态Q2nQ1n的全部组合列入表内,再将Xn、Q2n、Q1n代入触发器的控制函数T2n、T1n和输出函数Zn,将所得结果写入对应的格内。
然后,再根据控制函数及触发器的状态方程,求出触发器的次态Q2n+1Q1n+1(也可根据T触发器的逻辑功能即触发器的真值表求次态),填入表内,所得表5-1称为状态转换表。
表5-1 状态转换表
现输入
现态
现控制输入
次态
现输出
Xn
Q2nQ1n
T2nT1n
Q2n+1Q1n+1
Z
0
0
0
0
1
1
1
1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 0
0 0
0 0
0 1
1 1
0 1
1 1
0 0
0 1
1 0
1 1
0 1
1 0
1 1
0 0
0
0
0
0
0
0
0
1
为了更清晰,状态转换表还可以更形象地绘成状态转换图。
电路中有两个触发器,共有四个状态,将这四个状态用四个圆圈表示,并在其中标上二进制数码。
两个状态之间的转换,用带箭头的连线表示,并在连线旁边标上转换条件及输出,写成Xn/Zn的形式。
比如,若现在处于状态00,当输入Xn=1时,产生输出Zn=0,时钟脉冲作用后,新状态将转换至01状态,故用从00状态出发,指向01状态的带箭头的连线表示,并在连线旁边标以1/0。
用同样的方法,可画出此电路的全部状态转换图,如图5-3所示。
从图5-2可清楚地看出,图5-2所示电路是一个可控模4计数器。
输入X端是一个控制端,时钟脉冲作为计数脉冲输入。
当Xn=1时,若触发器初始状态为00,则在三个时钟脉冲作用之后,产生1的输出,表示计数器已计满。
第四个时钟脉冲作用之后,触发器恢复到初始状态00。
若Xn继续为1,电路重复上述过程。
当Xn=0时,不论电路处于什么状态,时钟脉冲作用之后,仍保持原状态不变。
4.作时序波形图
有时为了更好地描述电路的工作过程,常需画出电路的时序波形图。
即画出在时钟脉冲作用下同步时序电路的输入、输出波形图。
它反映了时序电路在给定初始状态下,对于给定输入序列的响应。
设模4计数器的初始状态Q2nQ1n为00,输入X的序列为1111100111,求时序电路的响
应,并画出电路的输出波形图。
在输入信号X作用下,首先利用状态表或状态图,作出时序电路的状态响应序列,然后再画输出波形。
已设触发器的初始状态Q2nQ1n=00,在时钟脉冲作用下,当输入X的序列为1111100111时,则触发器状态序列将是00→01→10→11→00→01→01→01→10→11→00。
再根据触发器状态序列,作出输出波形图,如图6-4所示。
图中T触发器是在时钟脉冲的上升沿时电路转换。
由时序波形图看出,时序电路的输出不仅取决于该时刻电路的输入,而且同电路内部状态的历史情况有关。
对于结构较为简单的电路,可以不作状态转换表,直接绘出状态转换图,进而判明电路的逻辑功能。
在不要求作时序波形图时,第四步也可省略。
图5-2所示可控模4计数器的输出不仅取决于电路本身的状态,而且也与输入变量X有关,属于米莱型电路。
返回
三,设计方法 设计举例
1,设计方法
电路的设计又称为电路的综合。
设计的过程是分析的逆过程。
通常根据指标要求,设计能实现其逻辑功能的电路。
最终画出实现要求逻辑功能的逻辑电路图。
设计的一般步骤是:
第一步,根据要求构成原始状态转换图和原始状态转换表;
第二步,对原始状态转换表进行状态简化,消去多余的状态,求得最小化状态表;
第三步,对简化后的状态转换表进行状态分配,即状态编码,把简化后的状态转换表中的每个状态,用一个二进制代码表示;
第四步,选定触发器类型,编写编码后的状态转换表,求出控制函数表达式和输出函数表达式;
第五步,绘出逻辑电路图;
第六步,绘出全状态转换图,并检查是否符合设计要求。
若符合要求,设计完毕,若不符合要求,重新设计。
设计举例
下面通过例子,对同步时序电路的设计步骤分别来说明。
例4:
设计一“011”序列检测器,每当输入011码时,对应最后一个1,电路输出为1。
第一步,形成原始状态转换图(或称转移图)与原始状态转换表。
根据题目要求所设计的序列检测器的功能是用来检测011信号。
因此,电路应具有一个输入端X和一个输出端Z,输入X为一串随机信号,当其中出现011序列时,检测器输出Z为1,在其它输入序列情况下,检测器输出Z为0。
由于我们并不知道实现上述逻辑功能的同步时序电路需要多少个状态,因而用文字A、B······描述电路的状态,并假定某个状态为初始状态。
再根据输入条件确定次态,依此类推,直到所有现态到次态的转换关系都被确定为止。
由于此时序电路仅有一个输入,因而每个现态可能有两个转移方向。
若电路的初始状态为A,当输入X为1时,电路没有出现我们要检测的序列,因此电路的状态仍然停留在状态A,因为从1开始的输入序列并不是需识别的序列,电路输出亦为0。
当输入X为0时,电路就从状态A进入新的状态B,这意味着出现了需要识别序列的第一位代码,电路输出仍为0。
原始状态转换图如图5-5所示。
若电路处于状态B,输入X为1时,它是被识别的输入序列011的第二位代码,于是电路转换到新的状态C,输出为0;若输入X为0时,它是被识别的输入序列011的第一位代码,于是电路仍处于状态B,输出为0。
若电路处于状态C,输入X为1时,它是被识别的输入序列011的第三位代码,于是电路检测到序列码,转换到新的状态D,输出为1;若输入X为0时,它是被识别的输入序列011的第一位代码,于是电路将转到状态B,输出为0。
若电路处于状态D,输入X为0时,它是被识别的输入序列011的第一位代码,于是电路转换到状态B,输出为0;若输入X为1时,它不是要识别的下一个输入序列码的第一位代码,于是电路将转到状态A,输出为0。
于是得到该时序电路的原始状态转换图如图5-5和原始状态转换表如表5-2所示。
表中X为现输入,Sn为现态,Sn+1为次态,Zn为现输出.
第二步,状态简化。
状态之间都有一定的关系,所以有些状态可以合并为一个状态。
哪些状态可以合并,哪些状态不可以合并?
表中的任意两个或几个状态如果对于任意的输入序列,它们相应的输出都相同,这些状态称之为等价状态。
等价状态可以合并为一个状态。
如果对于任意的输入序列,它们相应的输出不完全相同,称之为不等价状态,不等价状态不能合并。
表5-2中状态,A与C及B与C在X=1时,A与B的输出均为0,而C的输出为1,A和C,B和C不等价,不能合并,因此,凡是在相应输入条件下,输出不相同的状态都是不等价状态。
因为它们所产生的输出效果不同,这些状态不能合并。
再看状态A和B,是否能合并?
任选一输入序列X为110······,从状态A出发,相应的输出Z为000······,从状态B出发,相应的输出Z为010······。
它们的输出不同,因此,A和B也不能合并。
而状态A和状态D,在输入X为0时,它们的次态都是B,输出都是0。
在输入X为1时,它们的次态都是A,输出都是0。
即在相同的输入时,它们的次态和输出都是相同的,对于任意的输入序列,必然产生相同的输出。
因此,状态A和状态D是等价状态,可以合并为一个状态,合并后用A代替,得最简化状态表5-3。
第三步,状态分配(状态编码)。
1.如果某些状态的次态组合相同,或在某些输入条件下次态相同,应尽可能给这些状态分配相邻的代码。
(最重要)
2.当两个或更多个状态是某一状态的新状态时,应尽可能给这些状态分配相邻的代码。
3.为了使输出表达式简单些,应尽可能给输出相同的状态分配相邻的代码。
现在将表5-3用二进制代码进行编码,表中有A、B、C三个状态,需要两个触发器。
两个触发器有00、01、10、11四种组合,可以用其中的三种分别代表A、B、C状态。
状态A和B在相应的输入下其输出相同,可以给以相邻的代码。
以00代替A,以01代替B,状态C可以取10,也可以取11。
不论取哪一个都不能作到既和A相邻又和B相邻,这里取10代替状态C。
于是表5-3可改绘成表5-4。
其中Q1Q0代表两个触发器的状态。
第四步,确定触发器类型,编写状态转换表,求触发器的控制函数及电路的输出函数表达式。
本例选用T触发器。
根据T触发器的激励表与表5-4,作出电路的全状态转换表如表5-5所示。
在表5-5中,根据表5-4所示内容,首先填出X=0与X=1时电路的现态与次态,及相应的现输出;再根据T触发器的激励表填写相应的T1、T0的状态,次态与现态相同,则相应的T填0,次态与现态相反,则相应的T填1。
如:
在X=0时,现态Q1Q0=00,时钟脉冲作用后,电路将转为新状态01,触发器Q1没有转换,则T1应填0,触发器Q0由状态0转换为状态1,则相应的T0应填1。
表5-5全状态转换表
现输入
现态
次态
现控制输入
输出
X
Q1Q0
Q1Q0
T1T0
Z
0
0
0
1
1
1
0 0
0 1
1 0
0 0
0 1
1 0
0 1
0 1
0 1
0 0
1 0
0 0
0 1
0 0
1 1
0 0
1 1
1 0
0
0
0
0
0
1
0
1
1 1
1 1
0 1
0 0
1 0
1 1
0
0
Q1Q0的11状态没有被利用,所以将原态Q1Q0=11填在表中横线下面。
根据表5-5可作出T1、T0的卡诺图如图5-11所示。
图中第四个状态11均以约束项对待。
由卡诺图可求出各函数的表达式。
输出函数Z的表达式为:
再根据卡诺图中对于约束项的使用情况,反填状态转换表,以得到全状态转换表。
例如:
对于T0,Q1Q0X为111时,已圈入是以1对待,则在表5-5中,对应的这一栏中T0填为1,110未圈入,是以0对待,则在表中对应的这一栏中,T0填为0。
T1、T0各项按同样道理填写。
填完之后,再根据T的状态,反填次态。
如T=0,则次态与现态相同;如T=1,则次态与现态相反。
由此得到全状态转换表如表5-5所示。
第五步,绘逻辑电路图。
根据T1、T0、Z的逻辑表达式,绘出逻辑电路图如图5-7所示。
第六步,绘全状态转换图。
全状态转换图是指包含触发器所有状态组合的转换图。
可由全状态转换表得到。
如图5-8所示。
由全状态转换图看出:
此电路在输入X序列为011时,输出Z为1,11状态虽为多余状态,但并不是孤立状态,一旦电路处于该状态,在时钟脉冲的作用下,自动回到电路的有效状态,因此这是一个自启动电路,符合设计要求。
上面讨论了同步时序电路设计的最基本步骤和方法,在实际设计中,要灵活运用这些方法,而不能局限在一定的步骤。
下面通过例子,进一步掌握设计方法。
例5:
设计一同步模4可逆计数器(用T触发器实现)。
第一步,列出原始状态转换图
设电路的输入端为X,当控制信号X=0时为递增四进制计数器;X=1时为递减四进制计数器。
输出端为Z进位(或借位)输出端。
计数状态按自然二进制码转换,则状态转换图如图5-9(a)所示。
表5-8全状态转换表
现输入
现态
次态
现控制输入
现输出
X
Q1 Q0
Q1 Q0
T1 T0
Z
0
0 0
0 1
0 1
0
0
0 1
1 0
1 1
0
0
1 0
1 1
0 1
0
0
1 1
0 0
1 1
0
1
0 0
1 1
1 1
0
1
1 1
1 0
0 1
0
1
1 0
0 1
1 1
0
1
0 1
0 0
0 1
0
图5-9原始状态图
第二步,选定触发器类型,求控制函数及输出函数表达式。
状态数为4,因此,n=2,选用2个T触发器实现。
根据T触发器的激励表与原始状态转换图,作出电路的全状态转换表,如表5-8所示。
在表5-8中,首先根据原始状态转换图填出横线以上的现输入、现态与次态以及现输出,再根据T触发器的功能,填写各个触发器控制输入端的状态。
根据表5-8可作出各控制函数的卡诺图,如图5-10所示。
由于两个触发器共4个状态,而三进制计数器只有三个有效状态,还有一个状态正常计数过程中不会出现,作任意项处理,在卡诺图中以Φ表示。
由卡诺图得出控制函数表达式
T0=1
输出函数Z的表达式:
第三步,绘逻辑电路图。
根据T1、T0及Z的逻辑表达式,绘出模4可逆的同步计数器的逻辑电路图如图5-10所示。
图5-10T1卡诺图
图5-11 模4可逆同步计数器的逻辑图
第四步,绘全状态转换图。
由于模4可逆计数器已包含了所有的状态,因此全状态转换图即为原始状态图。
回页首
返回
2, 状态转换表的简化 观察法 隐含表法
学习指导:
通过本知识点学习,掌握用观察法和隐含表法对状态进行简化,状态简化的实质就是寻找最大等价类并合并达到状态简化的目的。
∙用观察法进行状态简化
状态简化的实质就是要寻找等价状态。
在状态转换表中判断两个状态是否等价的具体条件如下:
在同样的输入条件下都有相同的输出。
表5-7(a)原始状态转换表
X Sn
0
1
A
B
C
D
E
F
G
B/0
E/1
D/0
E/1
E/1
G/1
F/1
C/0
C/0
A/0
A/0
C/0
E/0
E/0
第一,表5-7(a)中,状态B和状态E,当X=0时输出相同均为1,次态相同均为E;
当X=1时输出相同均为0,次态相同均为C。
B和E等价,记为[B,E]。
第二,在同样的输入条件下次态也等价。
判断次态等价的条件有下面三种情况:
1.次态相同或某些次态和各自的现态相同;
2.次态交错;
状态F和状态G,当X=1时输出相同,次态也相同。
当X=0时输出相同,次态交错,这两个状态等价,记作[F,G]。
3.次态互为隐含条件。
对于状态A和状态C,当X=1时,输出相同,次态交错;当X=0时,输出相同,次态分别为B、D。
由此可见,A和C等价与否决定于B、D是否等价。
若B、D等价,则A、C等价。
称B、D等价是A和C等价的先决条件或称隐含条件。
现在再检查B和D是否等价。
我们观察到当X=0时,输出相同,次态相同;当X=1时,输出相同,次态为A与C。
因此,B和D等价的隐含条件是A和C等价。
因此这里出现了互为隐含条件的情况,其转换效果也是相同的,所以A和C等价,B和D也等价,记作[A,C]、[B,D]。
从以上分析可见,状态等价的基本条件是输出必须相同,然后再比较次态是否等价。
等价状态具有传递性:
若A与B等价,又有A与C等价,则B与C也等价。
记作[B,C]。
相互等价状态的集合称为等价类,凡不被其它等价类所包含的等价类称为最大等价类。
例如根据等价状态的传递性可知,若有[A,B]、[A,C]则有[B,C],它们都称为等价类,而只有[A,B,C]才为最大等价类。
另外,在状态转换表中若某一状态和其它状态都不等价,则其本身就是一个最大等价类。
状态转换表化简实际就是寻找所有的最大等价类,并将等价状态合并,最后得到最简状态转换表。
所以表5-7(a)的最大等价类为[A,C]、[F,G]、[B,D,E]。
将等价状态A、C合并,合并后用A代表;等价状态F、G合并,合并后用F代表;等价状态B、D、E合并,合并后用B代表。
得最简状态转换表如表5-7(b)所示。
表5-7(b)最简状态转换表
XSn
0
1
A
B
F
B/0
B/1
F/1
A/0
A/0
B/0
Sn+1╱Zn
∙用隐含表法简化
对简单的状态转换表可以采用上述观察法简化,但对较复杂的状态转换表须采用隐含表法进行状态简化。
隐含表法是一种系统的比较方法,下面通过例子介绍这种方法。
例:
对表5-8(a)所示的状态转换表进行简化
表5-8(a) 状态转换表
X1X2Sn
00
01
11
10
A
B
C
D
E
F
G
H
D/0
C/1
C/1
D/0
C/1
D/0
G/0
B/1
D/0
D/0
D/0
B/0
F/0
D/0
G/0
D/0
F/0
E/1
E/1
A/0
E/1
A/0
A/0
E/1
A/0
F/0
A/0
F/0
A/0
F/0
A/0
A/0
Sn+1╱Zn
这是一个完全给定状态转换表,用隐含表法进行状态简化。
一般分三步进行。
第一步,作隐含表。
(1)作隐含表格。
隐含表格是一种直角三角形的表格,对于表表5-8(a)状态转换表,表中共有8个状态,为了保证在各状态两两比较时不致遗漏,先作出如表5-8(b)所示的隐含表格,它称为状态对图。
其特点是“缺头”、“少尾”,即纵坐标为B、C、D、E、F、G、H七个状态(缺头),横坐标为A、B、C、D、E、F、G七个状态(少尾)。
表中每个方格对应了由它的纵坐标和横坐标决定的一对状态,如左上角的方格代表状态对A、B,右下角的方格代表状态对H、G,且用这些方格来表示一个状态对的等价关系。
B
C
D
E
F
G
H
A
B
C
D
E
F
G