1、第 6 章 时序电路的分析与设计 第第 6 章章 时序电路的分析与设计时序电路的分析与设计 6.1 同步时序逻辑电路的分析同步时序逻辑电路的分析 6.2 同步时序电路的设计方法同步时序电路的设计方法6.3 计数器计数器 6.4 寄存器寄存器第 6 章 时序电路的分析与设计 6.1 同步时序逻辑电路的分析同步时序逻辑电路的分析 同步时序逻辑电路的分析步骤:同步时序逻辑电路的分析步骤: 求时序电路的求时序电路的次态方程次态方程,激励(输入)方程,激励(输入)方程,输出方程。输出方程。 画出画出真值表,状态表,状态图,波形图真值表,状态表,状态图,波形图。(没没有输入的时候有输入的时候, 不画状态表
2、不画状态表) 分析逻辑功能分析逻辑功能(不要求不要求)。 第 6 章 时序电路的分析与设计 例例 1 分析下图逻辑功能。分析下图逻辑功能。(要求记笔记要求记笔记)1JC11K1JC11KFF1FF0CP=1X&ZQ1Q1Q0Q0100 KJ第 6 章 时序电路的分析与设计 解:解: 求输出方程和激励方程,次态方程。求输出方程和激励方程,次态方程。 nnnQQXZQXKJKJ01011001nnnnnnnnnnnnnQQKQJQQQXQQXQQXQKQJQ0000010101010111111)(第 6 章 时序电路的分析与设计 列真值表列真值表, 状态表,状态表, 画状态图,画波形图。画状态图
3、,画波形图。 nnQQX01ZQQnn1011000010001100010110011000100111101000110010111100第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 00011011Q1Q01/01/01/11/00/00/00/0X/Z0/0第 6 章 时序电路的分析与设计 波形图波形图 XQ0Q1Z123456789CP第 6 章 时序电路的分析与设计 逻辑功能分析逻辑功能分析(不要求不要求) 。 从以上分析可以看出,当外部输入从以上分析可以看出,当外部输入X=0时,状态转移按时,状态转移按0001101100规律变化,实现模规律变化,实现模4加
4、法计数器的功能;加法计数器的功能;当当X=1时,状态转移按时,状态转移按0011100100规律变化,实现规律变化,实现模模4减法计数器的功能。减法计数器的功能。该电路是一个同步模该电路是一个同步模4可逆计数器可逆计数器。X为加为加/减控制信号,减控制信号,Z为借位输出。为借位输出。 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 列真值表,状态表,列真值表,状态表, 画状态图,画波形图。画状态图,画波形图。 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设
5、计 列真值表,状态表,列真值表,状态表, 画状态图,画波形图。画状态图,画波形图。 第 6 章 时序电路的分析与设计 注意注意:此题中此题中 第 6 章 时序电路的分析与设计 解:解: 求输出方程和激励方程,次态方程。求输出方程和激励方程,次态方程。 第 6 章 时序电路的分析与设计 列状态表,列状态表, 画状态图,画波形图。画状态图,画波形图。 第 6 章 时序电路的分析与设计 例例 分析下图逻辑功能分析下图逻辑功能(可不讲可不讲)。1DC1FF21DC1FF11DC1FF0CP1Z1Z0Z2第 6 章 时序电路的分析与设计 D2=Q1, D1=Q0,Z2=Q2, Z1=Q1, Z0=Q0
6、01010QQQQD解:解: 求输出方程,激励方程,状态方程。求输出方程,激励方程,状态方程。0101001111212,QQDQQDQQDQnnn第 6 章 时序电路的分析与设计 列状态表,真值表,列状态表,真值表, 画状态图,波形图。画状态图,波形图。 第 6 章 时序电路的分析与设计 图 6-12 例 6-2 状态图 000001010101Q2Q1Q0100110011111第 6 章 时序电路的分析与设计 画波形图。 图 6-13 例 6-2 波形图 123456CPQ0Q1Q2第 6 章 时序电路的分析与设计 逻辑功能分析。逻辑功能分析。 从以上分析可以看出,该电路在从以上分析可以
7、看出,该电路在CP脉冲作用下,脉冲作用下,把宽度为把宽度为T的脉冲以三次分配给的脉冲以三次分配给Q0、 Q和和Q2各端,因各端,因此,该电路是一个此,该电路是一个脉冲分配器脉冲分配器。由状态图和波形图可。由状态图和波形图可以看出,该电路每经过三个时钟周期循环一次,并且以看出,该电路每经过三个时钟周期循环一次,并且该电路具有自启动能力。该电路具有自启动能力。 第 6 章 时序电路的分析与设计 练习练习: 课后第课后第4题,题, 第第6题题(a) (只需写出方程只需写出方程)第 6 章 时序电路的分析与设计 6.2 同步时序电路的设计方法同步时序电路的设计方法 同步时序电路设计过程同步时序电路设计
8、过程:1.列真值表,卡诺图化简得到最简的激励方程,输出方程,列真值表,卡诺图化简得到最简的激励方程,输出方程,次态方程。次态方程。2. 画出逻辑图画出逻辑图第 6 章 时序电路的分析与设计 要求记笔记要求记笔记第 6 章 时序电路的分析与设计 1.列真值表,卡诺图化简得激励方程,输出方程,次态方程。列真值表,卡诺图化简得激励方程,输出方程,次态方程。第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 2. 画出逻辑图画出逻辑图第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 1.列真值表,卡诺图化简得激励方程,输出方程,次态方
9、程。列真值表,卡诺图化简得激励方程,输出方程,次态方程。(X-A Q2-B Q1-C )第 6 章 时序电路的分析与设计 nnnnnnnnnnnnnnnnnnnnnnnnnnnnQXJXQKQJQKQQXQXQQQXQXQQQXQXQXQXQQXQQXQXQQQXQXQXCABAQ212111112121212121211212111212111第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 2. 画出逻辑图画出逻辑图第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 1.列真值表,卡诺图化简得激励方程,输出方程,次态方程。列真值表,卡诺图化简得激励方程,输
10、出方程,次态方程。第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 2. 画出逻辑图画出逻辑图第 6 章 时序电路的分析与设计 6.4 寄存器寄存器1.定义:定义:用来暂存二进制代码(如数据,指令)的逻辑用来暂存二进制代码(如数据,指令)的逻辑部件,能实现对数据的清除,接收,保存和输出等功能。部件,能实现对数据的清除,接收,保存和输出等功能。2.分类:分类:锁存器,寄存器,移位寄存器。锁存器,寄存器,移位寄存器。 注意:注意:1)锁存器和寄存器功能一致,区别仅在于寄锁存器和寄存器功能一致,区别仅在于寄存器是边沿触发,锁存器是电平触发。若输入的
11、有效数存器是边沿触发,锁存器是电平触发。若输入的有效数据稳定先于触发信号,采用寄存器;若输入的有效数据据稳定先于触发信号,采用寄存器;若输入的有效数据的稳定滞后于触发信号,则用锁存器。的稳定滞后于触发信号,则用锁存器。 2)移位寄存器具有移位和寄存两个功能。移位寄存器具有移位和寄存两个功能。第 6 章 时序电路的分析与设计 作业:作业:课后第课后第5, 9第 6 章 时序电路的分析与设计 第六章知识点总结:第六章知识点总结:1. 同步时序逻辑电路的分析步骤:同步时序逻辑电路的分析步骤: 求次态方程,激励(输入)方程,输出方程。求次态方程,激励(输入)方程,输出方程。 画出真值表,状态表,状态图
12、,波形图。画出真值表,状态表,状态图,波形图。(没有输入的时没有输入的时候候, 不画状态表不画状态表)2. 同步时序电路设计过程同步时序电路设计过程:列真值表,卡诺图化简得到最简的激励方程,输出方程,次列真值表,卡诺图化简得到最简的激励方程,输出方程,次态方程。态方程。 画出逻辑图画出逻辑图3. 寄存器相关概念寄存器相关概念第 6 章 时序电路的分析与设计 后无后无第 6 章 时序电路的分析与设计 (不讲不讲)例例4 建立建立“111”序列检测器的原始状态图和原始状序列检测器的原始状态图和原始状态表。态表。 该电路的功能是当连续输入三个或三个以上该电路的功能是当连续输入三个或三个以上“1”时,
13、时, 电路输出为电路输出为1,否则输出为,否则输出为0。 解:解: 1. 确定输入变量,输出变量,建立原始状态图,原确定输入变量,输出变量,建立原始状态图,原始状态表。始状态表。 设输入变量为设输入变量为X, 输出变量为输出变量为ZX 011011111011Z 000000111000 第 6 章 时序电路的分析与设计 设置状态。设置状态。 S0: 初始状态,初始状态, 表示电路还没有收到一个有效的表示电路还没有收到一个有效的1。 S1: 表示电路收到了一个表示电路收到了一个1的状态。的状态。 S2: 表示电路收到了连续两个表示电路收到了连续两个1的状态。的状态。 S3: 表示电路收到了连续
14、三个表示电路收到了连续三个1的状态。的状态。 第 6 章 时序电路的分析与设计 原始状态表。原始状态表。 以每一个状态作为现态,分析在各种输入条件下电路应以每一个状态作为现态,分析在各种输入条件下电路应转向的新状态和输出。该电路有一个输入变量转向的新状态和输出。该电路有一个输入变量X,因此,每,因此,每个状态都有两条转移线,画状态图时应先从初始状态个状态都有两条转移线,画状态图时应先从初始状态S0出发出发 当电路处于当电路处于S0状态时,若输入状态时,若输入X=0,则输出,则输出Z=0,电路保持,电路保持S0状态不变,表示还未收到过状态不变,表示还未收到过1;若输入;若输入X=1,电路应记住,
15、电路应记住输入了一个输入了一个1,因此,电路应转向新状态,因此,电路应转向新状态S1,输出,输出Z=0。当。当电路处于电路处于S1状态时,若输入状态时,若输入X=0,则输出,则输出Z=0,电路回到,电路回到S0状态重新开始;若输入状态重新开始;若输入X=1,电路应记住连续输入了两个,电路应记住连续输入了两个1因此,电路应转向新状态因此,电路应转向新状态S2,输出,输出Z=0。以此类推,可以画。以此类推,可以画出完整的状态图如图出完整的状态图如图6-31所示,并可作状态表如表所示,并可作状态表如表6-14所示。所示。 第 6 章 时序电路的分析与设计 原始状态表原始状态表 第 6 章 时序电路的
16、分析与设计 原始状态图原始状态图 S00/0S1S2S30/01/01/01/10/00/0X/Z1/1第 6 章 时序电路的分析与设计 当电路处于当电路处于S0状态时,表示电路还没有收到一个有效的状态时,表示电路还没有收到一个有效的1,则,则输出输出Z=0;若输入;若输入X=0,则电路保持,则电路保持S0状态不变;若输入状态不变;若输入X=1, 电电路应记住输入了一个路应记住输入了一个1, 电路应转向新状态电路应转向新状态S1。当电路处于。当电路处于S1状态状态时,表示电路收到了一个时,表示电路收到了一个1,则输出,则输出Z=0;若输入;若输入X=0,电路回到,电路回到S0状态重新开始;若输
17、入状态重新开始;若输入X=1,电路应记住连续输入了两个,电路应记住连续输入了两个1,因,因此,电路应转向新状态此,电路应转向新状态S2。当电路处于。当电路处于S2状态时,状态时, 表示电路收到表示电路收到了两个了两个1,则输出,则输出Z=0;若输入;若输入X=0,电路回到,电路回到S0状态重新开始;状态重新开始;若输入若输入X=1,电路应记住连续输入了三个,电路应记住连续输入了三个1, 因此,电路应转向新因此,电路应转向新状态状态S3。当电路处于。当电路处于S3状态时,表示电路收到了三个状态时,表示电路收到了三个1,则输出,则输出Z=1;若输入;若输入X=0,电路回到,电路回到S0状态重新开始
18、;若输入状态重新开始;若输入X=1,根据,根据题意,电路可保持原状态题意,电路可保持原状态S3不变即可。不变即可。 这样,就可以得到这样,就可以得到Moore型结构的原始状态图如图型结构的原始状态图如图6-32所示,所示, 并可作状态表如表并可作状态表如表6-15所示。所示。 第 6 章 时序电路的分析与设计 状态化简。状态化简。 由原始状态表可得到由原始状态表可得到S2,S3是等价的,可以合并为一个状是等价的,可以合并为一个状态用态用S2代替,所以最终状态是代替,所以最终状态是3个。个。 第 6 章 时序电路的分析与设计 状态分配状态分配简化状态表简化状态表 第 6 章 时序电路的分析与设计
19、 若是四个状态,则用下表若是四个状态,则用下表 第 6 章 时序电路的分析与设计 在建立原始状态图和原始状态表时,将重点放在正确地反在建立原始状态图和原始状态表时,将重点放在正确地反映设计要求上,因而往往可能会多设置一些状态,但状态数目映设计要求上,因而往往可能会多设置一些状态,但状态数目的多少将直接影响到所需触发器的个数。的多少将直接影响到所需触发器的个数。对于具有对于具有M个状态的个状态的时序电路来说,时序电路来说, 所需触发器的个数所需触发器的个数n由下式决定:由下式决定: nnM221可见,状态数目减少会使触发器的数目减少并简化电路。可见,状态数目减少会使触发器的数目减少并简化电路。
20、因此,因此,状态简化的目的就是要消去多余状态,以得到最简状态图和最状态简化的目的就是要消去多余状态,以得到最简状态图和最简状态表。简状态表。 如何状态分配如何状态分配第 6 章 时序电路的分析与设计 该时序电路共有三个状态,采用两个该时序电路共有三个状态,采用两个JK触发器,状态变量触发器,状态变量为为Q1、Q0。 按原则一,按原则一,S1S2相邻;按原则二,相邻;按原则二,S0S1和和S0S2相邻;相邻; 按按原则三,原则三,S0S1相邻。综合考虑后分配相邻。综合考虑后分配S0S1和和S1S2相邻,这样相邻,这样就不能兼顾就不能兼顾S0S2相邻,状态分配编码表如图相邻,状态分配编码表如图6-
21、36所示。所示。 最后最后状态分配为状态分配为S0=00, S1=10,S2=11。状态分配后得到如表。状态分配后得到如表6-22(c)二进制状态表,它是一个非完全描述时序电路的设计。)二进制状态表,它是一个非完全描述时序电路的设计。 第 6 章 时序电路的分析与设计 2. 卡诺图化简得到最简的激励方程,输出方程,次态方程。卡诺图化简得到最简的激励方程,输出方程,次态方程。 第 6 章 时序电路的分析与设计 第 6 章 时序电路的分析与设计 图 6-37 例 6- 6 次态与输出卡诺图 ZcQbQann)( ;)( ;)(1011Q1Q0X010001101001(a)1110Q1Q0X010
22、001001001(b)1110Q1Q0X010001000001(c)1110第 6 章 时序电路的分析与设计 Z=XQ0次态方程为:次态方程为:Q1n+1=XQ0n+1=XQ1n第 6 章 时序电路的分析与设计 将卡诺图化简后的结果与将卡诺图化简后的结果与JK触发器的标准方程对比,可得到:触发器的标准方程对比,可得到:001101111XQQXQQXQQXQnn最后的激励方程:最后的激励方程:输出方程为输出方程为:0001011)0(_,XQZJXKXQJXKXJ或者1111QKQJQn第 6 章 时序电路的分析与设计 自启动检查。(自启动检查。(舍舍) 图 6-38 例6-6 状态图 0
23、01011011/10/01/0X/ZQ1Q00/00/01/10/01/0第 6 章 时序电路的分析与设计 表 6-23 完全状态表 第 6 章 时序电路的分析与设计 3. 画出逻辑图画出逻辑图图 6-39 “111”序列检测器逻辑图 1JC11K1JC11K&FF0Z&FF1Q1Q01CPX第 6 章 时序电路的分析与设计 【例例 6-4】 建立一个余3码误码检测器的原始状态图和原始状态表。 余3码高位在前、低位在后串行地加到检测器的输入端。电路每接收一组代码,即在收到第四位代码时判断一下。若是错误代码,则输出为1,否则输出为0,电路又回到初始状态并开始接收下一组代码。 解:解: 确定输入
24、变量和输出变量。 输入变量X为串行输入余3码, 高位在前, 低位在后; 输出变量Z为误码输出。 第 6 章 时序电路的分析与设计 设置状态。 该电路属于串行码组检测,对输入序列每四位一组进行检测后才复位,以表示前一组代码已检测结束并准备下一组代码的检测,因此,初始状态表示电路准备开始检测一组代码。本命题的状态图采用树形结构,从初始状态开始,每接收一位代码便设置一个状态。例如,电路处于初始状态S0,收到余3码的第一位(最高位),代码可能是1,也可能是0。若为0,状态转到S1分支;若为1,状态转到S2分支。当电路分别处于S1或S2状态时,表示电路将接收第二位代码,当第二位代码到达,由S1派生出S3
25、和S4分支,由S2派生出S9和S10分支。 若电路处于S5,表示已收到了输入序列的高三位(余3码的高三位)为000,因而,不论收到第四位数码是0还是1,均应回到S0状态(一组代码检测结束),且输出Z=1,表示收到的是错误代码。 第 6 章 时序电路的分析与设计 图 6-33 例 6-4 原始状态图 S0S4S8S7S6S5S1S30/11/10/11/00/01/00/01/00/01/00/01/00/01/0S10S14S13S12S11S2S90/01/00/01/00/01/10/11/10/01/00/01/00/01/0SiX/Z0/01/0第 6 章 时序电路的分析与设计 6.4
26、.2 状态化简状态化简 在建立原始状态图和原始状态表时,将重点放在正确地反映设计要求上,因而往往可能会多设置一些状态,但状态数目的多少将直接影响到所需触发器的个数。对于具有M个状态的时序电路来说, 所需触发器的个数n由下式决定: nnM221可见,状态数目减少会使触发器的数目减少并简化电路。 因此,状态简化的目的就是要消去多余状态,以得到最简状态图和最简状态表。 第 6 章 时序电路的分析与设计 1. 状态的等价状态的等价 设Si和Sj是原始状态表中的两个状态,若分别以Si和Sj为初始状态,加入任意的输入序列,电路均产生相同的输出序列, 即两个状态的转移效果相同,则称Si和Sj是等价状态或等价
27、状态对,记作SiSj。凡是相互等价的状态都可以合并成一个状态。 第 6 章 时序电路的分析与设计 在状态表中判断两个状态是否等价的具体条件如下: 第一,在相同的输入条件下都有相同的输出。 第二,在相同的输入条件下次态也等价。 这可能有三种情况: 次态相同; 次态交错; 次态互为隐含条件。 第 6 章 时序电路的分析与设计 表 6-16 原始状态表 第 6 章 时序电路的分析与设计 例如,在表6-16 所示的原始状态表中,对于状态S2和S5, 当输入X=0时,输出相同(输出都为1),次态也相同(次态都为S5);当输入X=1时,输出相同(输出都为0),次态也相同(次态都为S3)。即可以确定,若分别
28、以S2和S5为初始状态,加入任意的输入序列,电路均产生相同的输出序列。因此,状态S2和S5为等价状态,记作S2S5。 再看S6和S7 两个状态。当输入X=1时,输出相同,次态也相同;当输入X=0时,次态交错。这说明无论以S6还是以S7为初始状态,在接收到输入1以前将不断地在S6和S7之间相互转换,且保持输出为1;一旦收到了输入1,则都转向S5。 因此,从转移效果来看它们是相同的,这两个状态等价, 记作S6S7第 6 章 时序电路的分析与设计 对于S1和S3这两个状态,当输入X=1时,输出相同,次态交错;当输入X=0时,输出相同,次态分别是S2和S4,而S2和S4是否等价的隐含条件是S1和S3等
29、价,这就是互为隐含条件的情况,其转移效果也是相同的,所以S1和S3等价,S2和S4也等价,记作S1S3、 S2S4。 第 6 章 时序电路的分析与设计 等价状态具有传递性:若Si和Sj等价,Si和Sk等价,则Sj和Sk也等价,记作SjSk。相互等价状态的集合称为等价类, 凡不被其它等价类所包含的等价类称为最大等价类。例如, 根据等价状态的传递性可知,若有SiSj和SiSk,则有SjSk,它们都称为等价类,而只有SiSjSk才是最大等价类。另外,在状态表中,若某一状态和其它状态都不等价,则其本身就是一个最大等价类。状态表的化简, 实际就是寻找所有最大等价类,并将最大等价类合并,最后得到最简状态表
30、。所以,表6-16中所有最大等价类为S1S3S2S4S5S6S7,化简后的状态表如表6-17所示。 第 6 章 时序电路的分析与设计 表 6-17 最简状态表 第 6 章 时序电路的分析与设计 表 6-18 原始状态表 第 6 章 时序电路的分析与设计 2. 隐含表化简隐含表化简 1) 作隐含表 隐含表格是一种两项比较的直角三角形表格,对于表6 18的原始状态表其隐含表如图6-34(a)所示。隐含表的纵坐标为B、C、D、E、F、G六个状态(缺头),横坐标为A、B、C、D、E、F六个状态(少尾),表中的每一个小格用来表示一个状态对的等价比较情况。这种表格能保证每两个状态进行比较,而且可以逐步确定
31、所有的等价状态,使用方便。 第 6 章 时序电路的分析与设计 2) 顺序比较 对原始状态表中的每一对状态逐一比较, 结果有三种情况: 状态对肯定不等价, 在小格内填。 状态对肯定等价, 在小格内填。 状态是否等价取决于隐含条件的, 则把隐含状态对填入, 需作进一步比较。 按上述规则将表6 18顺序比较后, 所得的隐含表如图6-34(b)所示。 第 6 章 时序电路的分析与设计 图 6-34 隐含表简化状态 BCDEFGABC D EF(a)CF BCDEFGAB C DEF(b)BECFAECDDE BCDEFGAB C DE F(c)第 6 章 时序电路的分析与设计 3) 关连比较对顺序比较
32、中需要进一步比较的状态对进行比较 从图6-34(b)可见,顺序比较后只有C和F已确定是等价状态对,记为CF。但AB、AE、BE、DG是否为等价状态对还需要检查其隐含状态对,其余状态均不等价。 状态A和B是否等价决定于隐含状态对C、F。因为C、F为等价,所以状态A和B为等价状态对,记为AB。 状态A和E是否等价决定于隐含状态对B、E,而状态B和E是否等价决定于隐含状态对C、F和A、E,而已有CF,故又回到了自身,所以有AE和BE。 状态D和G是否等价决定于隐含状态对C、D 和D、E,而状态对C、 D 和D、 E不等价, 所以状态D和G不等价。 第 6 章 时序电路的分析与设计 4) 找出最大等价
33、类 根据以上求得的全部等价状态对,可求得该状态表的最大等价类为 ABE 、 CF 、 D和G。 5) 列出最简状态表 从每一个最大等价类中选出一个为代表,现分别从最大等价类ABE 、 CF 、 D和G中选出A 、 C 、D 和G,作为简化后的四个状态, 最后可作出最简状态表如表6 - 19所示。 第 6 章 时序电路的分析与设计 表 6-19 最简状态表 第 6 章 时序电路的分析与设计 6.4.3 状态分配状态分配 状态分配是指将状态表中每一个字符表示的状态赋以适当的二进制代码,得到代码形式的状态表(二进制状态表),以便求出激励函数和输出函数, 最后完成时序电路的设计。状态分配合适与否,虽然
34、不影响触发器的级数,但对所设计的时序电路的复杂程度有一定的影响。然而,要得到最佳分配方案是很困难的。这首先是因为编码的方案太多,如果触发器的个数为n,实际状态数为M,则一共有2n种不同代码。 若要将2n种代码分配到M个状态中去,并考虑到一些实际情况,有效的分配方案数为 !)!2()!12(nMNnn第 6 章 时序电路的分析与设计 可见,当M增大时,N值将急剧增加,要寻找一个最佳方案很困难。此外,虽然人们已提出了许多算法,但也都还不成熟,因此在理论上这个问题还没解决。 在众多算法中,相邻法比较直观、简单,便于采用。它有三条原则,即符合下列条件的状态应尽可能分配相邻的二进制代码: 具有相同次态的
35、现态。 同一现态下的次态。 具有相同输出的现态。 三条原则以第一条为主, 兼顾第二、 第三条。 第 6 章 时序电路的分析与设计 6.3 计数器计数器 计数器的主要功能是累计输入脉冲的个数。它不仅可以用来计数、 分频, 还可以对系统进行定时、顺序控制等, 是数字系统中应用最广泛的时序逻辑部件之一。计数器是一个周期性的时序电路,其状态图有一个闭合环,闭合环循环一次所需要的时钟脉冲其状态图有一个闭合环,闭合环循环一次所需要的时钟脉冲的个数称为计数器的模值的个数称为计数器的模值M。由。由n个触发器构成的计数器,其模值个触发器构成的计数器,其模值M一般应满足一般应满足2n-1M2n。 计数器有许多不同
36、的类型。按时钟控制方式来分,有异步、同步两大类; 按计数过程中数值的增减来分,有加法、减法、可逆计数器三类;按模值来分,有二进制、十进值和任意进制计数器。 第 6 章 时序电路的分析与设计 表表 6-7 计数器分类计数器分类 第 6 章 时序电路的分析与设计 1) 同步二进制加法计数器同步二进制加法计数器 图图 6-19 同步二进制加法计数器同步二进制加法计数器 1JC11K1JC11K1JC11K&FF3FF1CPZ1JC11KFF0RDRDRDRDRD&FF2Q3Q2&Q1Q0第 6 章 时序电路的分析与设计 01233301222011100001231QQQKJTQQKJTQKJTKJ
37、TQQQQZ电路的输出函数和控制函数为 将控制函数代入T触发器的特征方程 , 可得状态转移函数: QTQn1301213201121011010)()(QQQQQQQQQQQQQQnnnn第 6 章 时序电路的分析与设计 表 6-8 同步二进制加法计数器状态表 第 6 章 时序电路的分析与设计 图 6-20 同步二进制加法计数器状态图 1/02/00/03/04/05/06/07/015/014/013/012/011/010/09/08/0Q/Z第 6 章 时序电路的分析与设计 图 6-21 同步二进制加法计数器波形图 1CPQ3Q2Q1Q02345678910 11 12 13 14 15
38、 16Z第 6 章 时序电路的分析与设计 2) 同步十进制可逆计数器(加减控制式) 图 6-22 同步十进制可逆计数器 FF01JC11K& 1FF11JC11K& 1FF21JC11K& 1FF31JC11KCP&1&MQ0Q1Q2Q3CB第 6 章 时序电路的分析与设计 由逻辑电路可以写出其输出函数和激励函数为 21021030332110103211010232103032103010321030)()()(1QQQMQQQQQMTQQQQQMQMQQQQQQMQMQTQQQQMQMQQQQQMQMQTTQQQQMBQMQC第 6 章 时序电路的分析与设计 由T触发器的特征方程(Qn+1
39、=TQ)和其激励函数可求得各触发器的状态方程。但由T触发器的特征表已知:当T=1时,触发器发生状态转换;当T=0时,触发器保持原状态, 因此,根据Ti及Qi的取值可直接求得 。由此,可得到该电路有效状态的转移情况如表6-9所示。根据表6-9可画出有效状态转移图如图6-23所示。当M=1、初始状态为全0时的工作波形如图6-24所示。该电路具有多余状态,对多余状态的检查如表6-10所示,不难看出该电路具有自启动特性。 1niQ第 6 章 时序电路的分析与设计 表 6-9 同步十进制可逆计数器状态表一(有效状态) 第 6 章 时序电路的分析与设计 续表续表 第 6 章 时序电路的分析与设计 图 6-
40、23 同步十进制可逆计数器状态图 12034987651/10/10/00/01/01/01/01/00/00/00/00/00/01/00/00/01/01/01/01/0第 6 章 时序电路的分析与设计 图 6-24 可逆计数器M=1时的波形图1CPQ3Q2Q1Q02345678910C第 6 章 时序电路的分析与设计 表 6-10 同步十进制可逆计数器状态表二(无效状态) 第 6 章 时序电路的分析与设计 3. 脉冲分配器脉冲分配器 图 6-25 脉冲分配器(a) 逻辑电路图; (b) 状态图; (c) 工作波形图 FF01JC11KQ0C1Q11J1K & & & &FF1W0W1W2
41、W3(a)00/100001/000110/010011/0010Q0Q1/W0W1W2W3(b)1CPW1W0Q1Q02345678W2W3(c)CP第 6 章 时序电路的分析与设计 由电路可写出输出函数和激励函数为 01011010103102101100,QKQJQKQJQQWQQWQQWQQW 结合JK触发器的特征方程 , 可得新状态方程: QKQJQn10101011110101010000011QQQQQQKQJQQQQQQQKQJQnn第 6 章 时序电路的分析与设计 由输出函数和新状态方程可得状态转换表如表6-11,状态转换图和工作波形分别如图6-25(b)、(c)所示。由工作
42、波形图可清楚地看到,电路在时钟脉冲的作用下,按一定顺序轮流地输出脉冲信号。由于电路能在时钟脉冲作用下将脉冲信号按顺序分配到各个输出端,故称其为脉冲分配器。 第 6 章 时序电路的分析与设计 表表 6-11 脉冲分配器状态表脉冲分配器状态表 第 6 章 时序电路的分析与设计 4. 序列信号发生器序列信号发生器 图6-26(a) 所示为序列信号发生器的逻辑电路图。由图可见,该电路由三个D触发器构成的移位寄存器和与非门构成的组合电路组成。由电路可写出其输出函数和激励函数分别为 120121211002,QDQDQQQQQQDQZ结合D触发器的特征方程Qn+1=D,可得新状态方程: 112011212
43、11010,QDQQQQQQQQDnnn第 6 章 时序电路的分析与设计 图 6-26 序列信号发生器(a) 逻辑电路图; (b) 状态图; (c) 工作波形图 &1DC11DC11DC1FF1FF2FF0CPQ0Q1Q2(a)000/0100/0010/0101/1110/0001/1011/1111/1Q0Q1Q2/Z(b)1CPQ2Q1Q0D02345678(c)11100010100111101000011100111100Z第 6 章 时序电路的分析与设计 表 6-12 序列信号发生器的状态表 第 6 章 时序电路的分析与设计 【例例 6-7】 用用JK触发器设计一个五进制同步计数器
44、,触发器设计一个五进制同步计数器,要求状态转换关系为要求状态转换关系为 000 001 011 101 110 解:本例属于给定状态时序电路设计问题。解:本例属于给定状态时序电路设计问题。 列状态表。列状态表。 根据题意,该时序电路有三个状态变量,设状态变量根据题意,该时序电路有三个状态变量,设状态变量为为Q2、Q1、Q0,可作出二进制状态表如表,可作出二进制状态表如表6-24所示,它是所示,它是一个非完全描述时序电路的设计。一个非完全描述时序电路的设计。 第 6 章 时序电路的分析与设计 表 6-24 例 6-7 状态表一 第 6 章 时序电路的分析与设计 图 6-40 表6-24 次态卡诺
45、图 101112)( ;)( ;)(nnnQcQbQa 确定激励函数和输出函数。确定激励函数和输出函数。 010Q2Q1Q0000111100101(a)000Q2Q1Q0000111100111(b)011Q2Q1Q0000111100110(c)第 6 章 时序电路的分析与设计 由次态卡诺图求出其状态方程和激励函数如下: 202002021010110111212212112,1,QKQJQQQQQKQJQQQQKQJQQQQQnnn 自启动检查。 根据以上状态方程,检查多余状态的转移情况如表6-25所示,其完整的状态图如图6-41所示。 第 6 章 时序电路的分析与设计 表表 6-25
46、多余状态转移表多余状态转移表 第 6 章 时序电路的分析与设计 图 6-41 例 6-7 状态图 111001110011101010Q2Q1Q0100000第 6 章 时序电路的分析与设计 从图6-41可以看出,该电路一旦进入状态100,就不能进入计数主循环,因而该电路不能实现自启动,需要修改设计。 在非完全描述时序电路中,由于存在无效状态,使得在激励函数的获取过程中出现了任意项。在求取激励函数时,如果某任意项被圈入,则该任意项被确认为1,否则被确认为0。 由于圈法的随意性,故无效状态的转移可能出现死循环而使电路不能自启动。当电路不能自启动时,解决的方法有多种。 第 6 章 时序电路的分析与
47、设计 第一种方法,将原来的非完全描述时序电路中没有描述的状态的转移情况加以定义,使其成为完全描述时序电路。如将表6-24状态表中的无效状态的转移方向均定义为000,则可得到一个完全描述时序电路的状态表如表6-26。显然,按照表6-26设计的时序电路,不存在死循环问题,因为它是完全描述的。这种方法由于失去了任意项,会增加电路的复杂程度。 第 6 章 时序电路的分析与设计 第二种方法,改变原来的圈法。如果盲目地改变所有激励函数的圈法,则其工作量大,效果差。若在分析观察的基础上改变某激励函数的圈法,则能获得较满意的效果。观察图6-40 次态卡诺图,如果希望能尽量使用任意项,只能对(a)和(c)的圈法
48、作修改。现对(c)的圈法作修改,它仅改变Q0的转移,新的圈法如图6 - 42所示。 分析新圈法可知:状态010将转移到100(原转移到101, 现在最后一位Q0转为0),状态100将转移到101(原转移到100,现最后一位Q0转为1)。 由分析可以看出,新圈法将克服死循环,也不增加激励函数的复杂程度。 第 6 章 时序电路的分析与设计 图 6-42 修整后圈法 由新圈法得 2010020110,QKQJQQQQQn011Q2Q1Q0000111100110(c) Qn+10第 6 章 时序电路的分析与设计 表 6-27 多余状态转移表 重新检查多余状态的转移情况如表6-27所示,其状态图如图6
49、-43所示,可以看到该电路具有自启动能力。如果修改6- 40(a)的圈法,可以得到同样的效果。 第 6 章 时序电路的分析与设计 111001110011101100Q2Q1Q0000图 6-43010第 6 章 时序电路的分析与设计 画逻辑图。 图 6-44 例 6-7 逻辑图 1JC11JC1FF1FF01JC1FF2CPQ0Q21K1K1KQ1第 6 章 时序电路的分析与设计 【 例例 6-8 】用用D触发器设计一个模七同步加法计数器触发器设计一个模七同步加法计数器。 解:解: 本例属于给定状态时序电路设计问题。本例属于给定状态时序电路设计问题。 列状态表。列状态表。 根据题意,该时序电
50、路有三个状态变量。设状态变量为根据题意,该时序电路有三个状态变量。设状态变量为Q2、 Q1、Q0,可作出二进制状态表如表,可作出二进制状态表如表6-28所示,它是一个非完全所示,它是一个非完全描述时序电路的设计。描述时序电路的设计。 确定激励函数和输出函数。确定激励函数和输出函数。 由表由表6-28状态表分别画出状态表分别画出Q2、Q1、Q0的次态卡诺图如图的次态卡诺图如图6- 45(a)、(b)、 (c)所示。所示。 第 6 章 时序电路的分析与设计 表 6-28 例 6-8 状态表 第 6 章 时序电路的分析与设计 图 6-45 例 6-8 次态卡诺图 101112)( ;)( ;)(nn