数字逻辑第4章 4.4.3 状态编码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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 同步时序逻辑电路的设计
状态编码一般遵循如下的基本原则: (3) 状态表中两个现态,如果在不同外部输入 (X=0且X=1) 条件 下,这个次态有相同的外部输出,则尽可能给两个现态分配相 邻的代码。 例如:A、D现态,在X=0且X=1时 ,输出相同。则A、D 相邻。 (4) 状态表中出现次数最多的状态在状态编码上为逻辑0。
输出函数的表达式:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
4.4.5同步时序逻辑电路设计举例 在计算机中同步时序逻辑电路的应用十分广泛。 为了熟悉 同步时序逻辑电路设计的方法,下面给出几个设计实例。 例4-11 采用J-K触发器设计一个序列检测器,用来检测外部输 入x的串行二进制序列。当外部输入中有“001”序列时,序列 检测器的外部输出Z = 1,在其他情况下,外部输出Z = 0,如 图4-42所示。
第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 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第2步,确定激励函数和 输出函数。 1)激励函数和输出函 数卡诺图: 2)激励函数和输出函数真值表:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.5 常用中大规模时序逻辑功能电路
输出函数表达式:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
通常,在设计中,如果触发器所能表示的状态数目大于电 路所需的工作状态数,需要对设计的同步时序逻辑电路的实际 状态转移进行检查,目的在于检查时序逻辑电路有没有无效状 态,以及同步时序逻辑电路是否能够在电路偶然进入无效状态 以后,在外部输入和时钟信号作用下,用有限的状态转移进入 到有效状态。如果能够用有限的状态转移进入到有效状态,则 设计的同步时序逻辑电路称为具有自恢复功能。设计的同步时 序逻辑电路如果不能够用有限的状态转移进入到有效状态,称 为挂起。另外,电路偶然进入无效状态,还要检查是否产生错 误的外部输出信号。一旦发现所设计的电路存在挂起现象或者 有错误的外部输出,需对该电路进行修改。 对所设计的同步时序电路进行检查是对设计同步时序逻辑 电路进行分析,得到状态图,检查有没有无效状态和产生错误 的外部输出信号。下面分析图4-46的同步时序逻辑电路。
触发器D2的激励函数:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
例4-10 选用D触发器,求出表4-33所示二进制状态表的激 励函数表达式和输出函数表达式。 做激励函数卡诺图 :
触发器D1的激励函数:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
例4-10 选用D触发器,求出表4-33所示二进制状态表的激 励函数表达式和输出函数表达式。 输出函数的卡诺图 :
第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 同步时序逻辑电路的设计
2)最佳的或者接近最佳的状态分配方案,
状态编码的长度 确定以后,然后给每个 状态一个二进制数-状 态编码。
状态编码可以有多 种方式,例如: A: 00 01 10 …. B: 01 00 01….
这样:哪个状态用哪种二进制 编码,有多种状态编码方案供选择。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第2步,状态简化。 可以找出最大等效类( A, D ), ( B ),(C)。并以A代替最大等 效类( A, D ),以B代替最大等效 类( B ),以C代替最大等效类 ( C )。得到最小化状态表如表435所示。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 表4-36 二进制状态表 第3步,状态编码。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
状态编码一般遵循如下的基本原则: (2) 状态表中的一个现态,如果在不同外部输入 (X=0且X=1) 条 件下,这个现态的两个次态不相同,则尽可能给这两个次态分 配相邻的代码。 例如:A、C、D现态,在X=0且X=1时 ,次态不相同。则 C、B--A、D--C、D相邻。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
需 要 记 住
!
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
例4-10 选用D触发器,求出表4-33所示二进制状态表的激 励函数表达式和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
例4-10 选用D触发器,求出表4-33所示二进制状态表的激 励函数表达式和输出函数表达式。 D触发器的次态方程是yn+1 = D 做激励函数卡诺图 :
第4章 同步时序逻辑电路
4.1 时序逻辑电路的结构模型与分类 4.2 触发器 4.3 同步时序逻辑电路的分析 4.3.1 同步时序逻辑电路的分析方法 4.3.2 同步时序逻辑电路的分析举例1、2 4.3.2 同步时序逻辑电路的分析举例3、4 4.4 同步时序逻辑电路的设计 4.4.1 建立原始状态图和状态表 4.4.2 状态化简 4.4.3 状态编码 4.4.4 确定激励函数和输出函数 4.4.5 同步时序逻辑电路的设计举例 4.5 常用中大规模时序逻辑功能电路
状态编码是在一种称为二进制状态分配表进行的。 二进制状态分配表与卡诺图的结构相同,二进制状源自文库分配 表中使用的变量是yr…y1 y0。 在二进制状态分配表中,有公共边的两个小方块称为相 邻。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 状态编码一般遵循如下的基本原则: (1) 状态表中的两个现态,如果在相同外部输入(X=0或X=1)条 件下,这两个现态的次态相同,则尽可能给这两个现态分配相 邻的代码。 例如:B、C现态,在X=0,次态为A。则B、C相邻。 简称: “ 次态相同,现态相邻 ”
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第4步,列出激励函数和输出 函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
第4步,列出激励函数和 输出函数表达式。 1)激励函数和输出函数真 值表: 2)激励函数和输出函数卡诺图:
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计 第4步,列出激励函数和输出函数表达式。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计
4.4.3状态编码 对最小化状态表中用字母或数字表示的状态指定一个二进 制代码,称状态编码或称状态分配。状态编码后的最小化状态 表称为二进制状态表。 状态编码有2个内容: 1)确定状态编码的长度,即二进制代码的位数,也就是 触发器的个数。 状态编码的长度是由最小化状态表中的状态个数确定。 设最小化状态表的状态数为N,状态编码的长度为m,状 态数N与状态编码长度m的关系为: 2m-1 < N ≤2m。 例如,若某状态表的状态数N = 4,状态编码二进制代码 的位数应为m = 2。
第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 同步时序逻辑电路的设计
图4-47是分析图4-46得到的同步时序逻辑电路图的状态 图。 首先检查有没有无效状态。从图4-47可以看出,一旦电 路进入状态“11”,不管输入x是“1”还是“0”,在时钟 信号作用下,电路进入有效状态,不存在挂起现象。 然后检查有没有产生错误的外部输出信号。 在图4-47中若电路处于无效状态“11”,当输入x为“1” 时,产生一个错误的外部输出“1”。为消除这个错误输出, 需对输出函数表达式作适当修改。 将图4-45中输出函数卡诺图修改为图4-48所示的输出函 数卡诺图。修改后的输出函数表达式为
状态编码涉及到:状态编 码的方案不同,所得到的输出 函数和激励函数的表达式也不 相同,从而使设计出来的时序 逻辑电路的复杂程度也不相同。 状态编码是: 对于一组状态,寻找一种好的,
C: 10 10 00….
D: 11 11 11…
最佳的,接近最佳的状态编码方案。
第4章 同步时序逻辑电路 4.4 同步时序逻辑电路的设计