320 likes | 574 Views
第4章 同步时序逻辑电路-2. 4.4.3 状态编码 4.4.4 确定激励函数和输出函数 4.4.5 同步时序逻辑电路的设计 举例 4.5 常用中大规模时序逻辑功能电路. 导航:1、点击“右键”,选择“全屏显示 ”- 全屏显示 2、点击“右键”,选择“下一张” - 播放 PP 3、 点击游览器左上角“后退” , 退出 PP. 第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计.
E N D
第4章 同步时序逻辑电路-2 4.4.3 状态编码 4.4.4 确定激励函数和输出函数 4.4.5 同步时序逻辑电路的设计举例 4.5 常用中大规模时序逻辑功能电路 导航:1、点击“右键”,选择“全屏显示”-全屏显示 2、点击“右键”,选择“下一张”-播放PP 3、点击游览器左上角“后退”,退出PP
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 4.4.3状态编码 对最小化状态表中用字母或数字表示的状态指定一个二进制代码,称状态编码或称状态分配。状态编码后的最小化状态表称为二进制状态表。 实践表明,状态编码的方案不同,所得到的输出函数和激励函数的表达式也不相同,从而使设计出来的时序逻辑电路其复杂程度也不相同。 状态编码: 1)确定状态编码的长度,即二进制代码的位数,也就是触发器的个数。 状态编码的长度是由最小化状态表中的状态个数确定。设最小化状态表的状态数为N,状态编码的长度为m,状态数N与状态编码长度m的关系为: 2m-1 < N ≤2m。 例如,若某状态表的状态数N = 4,状态编码二进制代码的位数应为m = 2。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 2)最佳的或者接近最佳的状态分配方案, 以便使所设计的同步时序逻辑电路的输出函数和激励函数最简单。 二进制代码的位数确定后,寻找一种最佳的或接近最佳的状态编码方案。 究竟哪个状态用哪种二进制代码,可以有多种状态分配方案供选择。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 由表4-267可知,当状态数目较少时,可以研究各种可能的状态编码方案,从中选出一种最佳的方案。但是,当状态数目增大时,编码方案数急剧增多,要在众多的状态编码方案中找出一种最佳编码方案是困难的。 实践表明,状态编码方案的好坏还与所采用的触发器类型有关。也就是,某种状态编码方案,对某种触发器是最佳的编码方案,然而换成另一种触发器就不一定是最佳的状态编码方案。由此可见,一种最佳状态编码方案涉及的因素很多。 工程上采用的方法是依据一定的状态分配(编码)原则来获得最佳或者接近最佳的状态编码方案。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 状态编码是在一种称为二进制状态分配表进行的。二进制状态分配表与卡诺图的结构相同,二进制状态分配表中使用的变量是yr…y1 y0。在二进制状态分配表中,有公共边的两个小方块称为相邻。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 状态编码一般遵循如下的基本原则: (1) 状态表中的两个现态,如果在相同外部输入条件下,这两个现态的次态相同,则尽可能给这两个现态分配相邻的代码。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 状态编码一般遵循如下的基本原则: (2) 状态表中的一个现态,如果在不同外部输入条件下,这个现态的两个次态不相同,则尽可能给这两个次态分配相邻的代码。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 状态编码一般遵循如下的基本原则: (3) 状态表中两个现态,如果在不同外部输入条件下,这个次态有相同的外部输出,则尽可能给两个现态分配相邻的代码。 (4) 状态表中出现次数最多的状态在状态编码上为逻辑0。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 例4-9 对表4-278 所示状态表进行状态编码。 图4-40 3种状态分配方案
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 将图4-40 b分配方案中:A:00, B:01, C:11, D:10,代入表4-27中,得到表4-28所示的二进制状态表。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 4.4.4确定激励函数和输出函数 同步时序逻辑电路通过状态编码得到二进制状态表之后,根据二进制状态表和选定触发器,求得激励函数和输出函数表达式。 使用触发器作为存储电路设计同步时序逻辑电路时,需要用到触发器从现态yn转移到次态yn+1时所需的数据输入,这就是触发器的激励表。 触发器的激励表可以从触发器的状态表中推出。 在触发器激励表中,把触发器的现态yn和次态yn+1作为自变量,触发器的输入作为因变量。 表4-2930~表4-323列出了R-S触发器激励表、J-K触发器激励表、D触发器激励表和T触发器激励表。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 例4-10 选用D触发器,求出表4-33所示二进制状态表的激励函数表达式和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 例4-10 选用D触发器,求出表4-33所示二进制状态表的激励函数表达式和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 例4-10 选用D触发器,求出表4-33所示二进制状态表的激励函数表达式和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 例4-10 选用D触发器,求出表4-33所示二进制状态表的激励函数表达式和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 解:D触发器的次态方程是yn+1 = D。也就是,D触发器的次态只与它的输入D有关,与现态无关。因此表4-334中的次态也就是D触发器的输入,这样可以由表4-334二进制状态表画出激励函数卡诺图和输出函数卡诺图,如图4-41所示。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 4.4.5同步时序逻辑电路设计举例 在计算机中同步时序逻辑电路的应用十分广泛。 为了熟悉同步时序逻辑电路设计的方法,下面给出几个设计实例。 例4-11 采用J-K触发器设计一个序列检测器,用来检测外部输入x的串行二进制序列。当外部输入中有“001”序列时,序列检测器的外部输出Z = 1,在其他情况下,外部输出Z = 0,如图4-42所示。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 解:第1步,画出原始状态图和状态表。 根据题意,设计的序列检测器有一个外部输入x和一个外部输出Z。输出和输入的逻辑关系为:当外部输入x第一个为“0”时,外部输出Z为“0”;当外部输入x第二个为“0”,输出Z为0;当外部输入x第三个为“1”,外部输出Z才为“1”。假定有一个外部输入x序列以及外部输出为 输入 x: 0 0 0 1 0 0 1 1 1 0 输出 Z: 0 0 0 1 0 0 1 0 0 0
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第2步,状态简化。 可以找出最大等效类( A, D ),( B ),(C)。并以A代替最大等效类( A, D ),以B代替最大等效类( B ),以C代替最大等效类( C )。得到最小化状态表如表4-35所示。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 表4-36 二进制状态表 第3步,状态编码。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第4步,列出激励函数和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第4步,列出激励函数和输出函数表达式。 1)激励函数和输出函数卡诺图: 2)激励函数和输出函数真值表:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第4步,列出激励函数和输出函数表达式。用J-K触发器组成存储电路。根据表4-36和J-K触发器激励表,列出激励函数和输出函数真值表,如表4-37所示。由表4-38画出激励函数和输出函数卡诺图,如图4-45所示。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 通常,在设计中,如果触发器所能表示的状态数目大于电路所需的工作状态数,需要对设计的同步时序逻辑电路的实际状态转移进行检查,目的在于检查时序逻辑电路有没有无效状态,以及同步时序逻辑电路是否能够在电路偶然进入无效状态以后,在外部输入和时钟信号作用下,用有限的状态转移进入到有效状态。如果能够用有限的状态转移进入到有效状态,则设计的同步时序逻辑电路称为具有自恢复功能。设计的同步时序逻辑电路如果不能够用有限的状态转移进入到有效状态,称为挂起。另外,电路偶然进入无效状态,还要检查是否产生错误的外部输出信号。一旦发现所设计的电路存在挂起现象或者有错误的外部输出,需对该电路进行修改。 对所设计的同步时序电路进行检查是对设计同步时序逻辑电路进行分析,得到状态图,检查有没有无效状态和产生错误的外部输出信号。下面分析图4-46的同步时序逻辑电路。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 图4-47是分析图4-46的同步时序逻辑电路图的状态图。首先检查有没有无效状态。从图4-47可以看出,一旦电路进入状态“11”,不管输入x是“1”还是“0”,在时钟信号作用下,电路进入有效状态,不存在挂起现象。然后检查有没有产生错误的外部输出信号。在图4-47中若电路处于无效状态“11”,当输入x为“1”时,产生一个错误的外部输出“1”。为消除这个错误输出,需对输出函数表达式作适当修改。将图4-45中输出函数卡诺图修改为图4-48所示的输出函数卡诺图。修改后的输出函数表达式为
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 例4-12 采用D触发器设计一个2位二进制加1计数器。当x = 1时,电路不计数。当x = 0时,在时钟脉冲作用下加1计数。计数器有一个外部输出Z,当加1计数产生进位时,Z = 1,其他情况下Z = 0。 解:采用同步时序逻辑电路设计计数器,首先列出原始状态表。由于原始状态表是用二进制数表示计数,也没有多余的状态,所以可以不用进行状态化简和状态分配的设计步骤。 第1步,画出状态图和状态表。根据题目要求,设状态用y2、y1表示。 计数器的状态图如图4-49所示,二进制状态表如表4-38所示。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第2步,确定激励函数和输出函数。 1)激励函数和输出函数卡诺图: 2)激励函数和输出函数真值表:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计