数字电路与系统设计课件4

上传人:灯火****19 文档编号:122264501 上传时间:2020-03-03 格式:PPT 页数:127 大小:2.72MB
返回 下载 相关 举报
数字电路与系统设计课件4_第1页
第1页 / 共127页
数字电路与系统设计课件4_第2页
第2页 / 共127页
数字电路与系统设计课件4_第3页
第3页 / 共127页
数字电路与系统设计课件4_第4页
第4页 / 共127页
数字电路与系统设计课件4_第5页
第5页 / 共127页
点击查看更多>>
资源描述

《数字电路与系统设计课件4》由会员分享,可在线阅读,更多相关《数字电路与系统设计课件4(127页珍藏版)》请在金锄头文库上搜索。

1、第4章时序逻辑电路分析与设计 4 1同步时序电路分析4 2触发器级同步时序电路设计4 3模块级同步时序电路设计 4 4异步计数器分析与设计 4 1同步时序电路分析 4 1 1触发器级电路分析 要确定一个用触发器构成的同步时序电路的功能 通常需要经过以下几个分析步骤 根据给定电路写出输出方程组 激励方程组和次态方程组 根据上述三个方程组列出电路的状态表 根据状态表画出电路的状态图 必要时还可画出电路的工作波形 根据状态图 或状态表 工作波形 确定电路的逻辑功 例4 1 分析图4 1所示同步时序电路的功能 并画出电路的工作波形 图4 1例4 1的电路 解输出方程组 激励方程组 将激励函数代入JK触

2、发器的次态方程 得次态方程组 表4 1例4 1状态表 图4 2例4 1的状态图 图4 3例4 3的电路工作波形 由状态图可见 当输入X 0时 电路始终处于保持状态 当输入X 1时 电路呈现出来一个CP脉冲状态加1的特点 且当电路处于状态11 3 时 下一个CP脉冲到来后状态变为00且产生Z 1输出 为四进制加法计数 因此 本电路为一个可控同步四进制加法计数器 X为控制端 Z为进位输出 当控制端X 0时 维持原态 X 1时 进行四进制加法计数 例4 2 分析图4 4所示同步时序电路的功能 并画出电路的工作波形 图4 4例4 2的电路 解输出方程组 激励方程组 次态方程组 表4 2例4 2状态表

3、图4 5例4 2的状态图 从状态图可见 状态 11 是一个死循环 因此 图4 4所示电路是一个非自启动电路 加电工作时必须先清0 清0后 电路处于状态 00 如果X Y 即XY 00或11 维持状态 00 输出GEL 010 如果X Y 即XY 10 电路进入状态 10 输出GEL 100 如果X Y 即XY 01 电路进入状态 01 输出GEL 001 一旦电路进入状态 10 或 01 将不再进行状态转换 而是停止在这些状态上 由此可以判断 该电路是一个高位先入的串行二进制数比较器 X和Y是比较器的两个串行数据输入端 G E L是X Y X Y X Y等三种比较结果的输出端 图4 6例4 2

4、的电路工作波形 4 1 2模块级电路分析 例4 3 图4 7电路由两片4位二进制同步可预置加法计数器74161和少量逻辑门组成 试分析其功能 图4 7例4 3的电路 解两片74161的连接电路极为相似 如果不考虑级联问题 二者完全相同 当QDQCQBQA 0100时 下一个CP脉冲将QDQCQBQA置为1000 当QDQCQBQA 1100时 下一个CP脉冲将QDQCQBQA置为0000 可见 每一片74161都是一个5421BCD码计数器 现在来看两片74161的级联关系 虽然二者的CP端都与时钟脉冲CP相连 但右侧74161的计数控制端P受与门输出控制 而与门输入接左侧74161的QD Q

5、C 只有当左侧74161处于 1100 状态即 9 状态时 下一个CP脉冲到来时右侧74161才能计数 同时左侧74161回到 0000 状态 也就是说 每来10个CP脉冲 左侧74161构成的5421BCD计数器向右侧74161构成的5421BCD计数器输出一个进位脉冲 使右侧5421BCD码计数器状态加1 因此 该电路是一个两位5421BCD码计数器 其中左侧74161构成个位计数器 右侧74161构成十位计数器 例4 4 分析图4 8所示电路的功能 图4 8例4 4的电路 解本题电路的存储器件只有1片74194 从连接情况看 它构成模8扭环形计数器 其它器件都是围绕74194来发挥作用的

6、 画出电路的全状态图 有助于电路功能的分析 根据移位寄存器74194和译码器74154的功能特点 容易画出电路的全状态图 如图4 9所示 从状态图可见 这是一个自启动的 值发生器 周期性地在输出端Z3Z2Z1Z0依次产生3 1 4 1 5 9 2 6等8位 值的8421BCD码输出 图4 9例4 4电路的全状态图 4 2触发器级同步时序电路设计 4 2 1设计步骤 1 导出原始状态图或状态表 2 状态化简 状态分配 4 触发器选型 5 导出输出和激励函数表达式 6 检查多余状态 打破无效循环 7 画电路图 4 2 2导出原始状态图或状态表 1 状态定义法状态定义法的基本思路是 认真分析电路要实

7、现的功能 定义输入 输出变量和用来记忆输入历史的若干状态 然后分别以这些状态为现态 在不同的输入条件下确定电路的次态和输出 由此得到电路的原始状态图或状态表 本书将这种设计方法称为状态定义法 定义状态的原则是 宁多勿缺 使原始状态图或状态表全面 准确地体现设计要求的逻辑功能 多余的状态可以在状态化简时消除 例4 5 导出 1111 序列检测器的原始状态图和状态表 当连续输入四个或四个以上的1时 电路输出为1 其它情况下电路输出为0 解上一章介绍移位寄存器的应用时 已经介绍过序列检测器 此处 1111 序列检测器的功能是 对输入X逐位进行检测 若输入序列中出现 1111 则最后一个1输入时 输出

8、Z为1 若随后的输入仍为1 输出继续为1 其它情况下 输出Z为0 显然 该序列检测器应该记住收到X中连续的1的个数 因此可以定义以下状态 状态S0 表示未收到1 已收到的输入码是0 状态S1 表示已收到一个1 状态S2 表示已收到两个连续的1 即已收到11 状态S3 表示已收到三个连续的1 即已收到111 状态S4 表示已连续收到四个或四个以上的1 分别以S0 S4为现态 按照功能要求确定在不同输入条件下的输出和次态 即可得到完整的原始状态图 如图4 10所示 图4 10例4 5的原始状态图 当电路处于状态S0时 表明电路未收到1 若此时输入X 0 则电路的输出为0 次态仍为S0 若此时输入X

9、 1 则电路收到第一个1 进入收到一个1的状态 输出为0 次态为S1 当电路处于S1时 表明电路已收到一个1 若此时输入X 0 接收1111的过程被打断 前面刚收到的1作废 电路返回到未收到有效1的状态 输出为0 次态为S0 若此时输入X 1 则电路连续收到两个1 进入连续收到两个1的状态 输出为0 次态为S2 当电路处于S2时 表明电路已连续收到两个1 若此时输入X 0 则接收1111的过程被打断 前面刚连续收到的11作废 电路返回到未收到有效1的状态 输出为0 次态为S0 若此时输入X 1 则电路连续收到三个1 进入连续收到三个1的状态 输出为0 次态为S3 当电路处于S3时 表明电路已收

10、到三个连续的1 若此时输入X 0 则接收1111的过程被打断 前面刚连续收到的111作废 电路返回到未收到有效1的状态 输出为0 次态为S0 若此时输入X 1 则电路连续收到四个1 进入连续收到四个1的状态 输出为1 次态为S4 当电路处于S4时 表明电路已收到四个或四个以上连续的1 若输入X 0 则接收1111的过程被打断 前面连续收到的多个1作废 电路返回到未收到有效1的状态 输出为0 次态为S0 若此时输入X 1 则电路已连续收到四个以上的1 根据题意 输出为1 次态仍为S4 电路停留在状态S4 由原始状态图得到原始状态表 如表4 3所示 从原始状态表可以清楚地看出 S3和S4状态在相同

11、的输入下有相同的次态和输出 说明二者的作用是等价的 因此S3和S4是等价状态 可以合并为一个状态 合并等价状态前 电路有5个状态 需要3个触发器才能实现 合并等价状态后 电路只有4个状态 用两个触发器就可以实现 由此可见状态化简对于简化电路 降低成本是非常重要的 表4 3表4 5的原始状态表 2 列表法列表法的基本思路是 n位序列检测器需要记忆前面收到的n 1位 即需要2n 1个状态来记忆输入的历史 分别表示收到全0到全1的2n 1种情况 再根据收到的第n位 决定电路的输出和次态 从而得到电路的原始状态表和状态图 列表法本质上也属于状态定义法 只不过先导出原始状态表 后导出原始状态图 这种方法

12、特别适合序列长度较短的重叠型多序列检测 对于不允许输入序列码重叠的序列检测器 不能采用列表法 因为它不能区分前面的0或1是否已经被用过 此外 如果输入序列属于分组输入 也不能采用列表法 因为它也无法区分输入0 1的分组 例4 6 某序列检测器有一个输入X和一个输出Z 当收到的输入序列为 101 或 0110 时 在上述序列的最后一位到来时 输出Z 1 其它情况下Z 0 允许输入序列码重叠 试列出其原始状态表 解本题中是指 序列 101 中的最后一位1可以作为下一组 101 序列的第一个1 后两位 01 也可以作为下一组 0110 序列的前两位 同理 序列 0110 的最后一位0可以作为下一组

13、0110 序列的第一个0 后两位的 10 也可以作为下一组 101 序列的前两位 本例也可以采用上例的状态定义法 先画出原始状态图 再列出原始状态表 此处采用列表法直接得到原始状态表 由于要检测的最长序列是0110 即n 4 所以电路要记住已收到的前3位数码 前3位数码共有000 111等8种不同的取值 为此 设置S0 S78个状态来分别记忆这8种不同取值 以S0 S7为现态 结合当前第4位的输入值X就可以确定输出Z的取值和电路的次态 从而得到电路的原始状态表 如表4 4所示 表4 4例4 6原始状态表 表4 4中状态S0 S7左边的数码是各状态记忆的已收到的前面三位数码 当电路的现态是S0时

14、 表示已收到000 若此时的输入是X 0 则收到的4位数码为0000 3位数码为000 均不是要检测的序列 所以输出Z 0 电路需要记住的后3位数码是000 所以次态是S0 若X 1 则收到的4位数码是0001 3位数码是001 也不是要检测的序列 所以输出Z 0 电路需要记住的后3位数码是001 所以次态是S1 由此构成了表4 4中的第000行 当电路的现态是S1时 表示已收到001 若输入X 0 则收到的4位数码是0010 3位数码是010 仍不是要检测的序列 所以输出Z 0 电路需要记住的后三位数码是010 所以次态是S2 若X 1 则收到的4位数码是0011 3位数码是011 也不是要

15、检测的序列 所以输出Z 0 电路需要记住的后三位数码是011 所以次态是S3 由此构成了表4 4中的第001行 当电路的现态是S2时 表示已收到010 若输入X 0 则收到的4位数码是0100 3位数码是100 都不是要检测的序列 所以输出Z 0 电路需要记住的后三位数码是100 所以次态是S4 若X 1 则收到的4位数码是0101 不是要检测的序列 但3位数码是101 是要检测的序列 所以输出Z 1 电路需要记住的后三位数码是101 所以次态是S5 由此构成了表4 4中的第010行 3 树干分支法 状态定义法和列表法中 状态的含义非常清楚 但在实际设计过程中 人们有时候并不需要预先将各个状态

16、的含义定义得一清二楚 只要整个状态图或状态表能满足设计功能要求即可 此时可采用树干分支法直接画出原始状态图 省却逐个定义状态的麻烦 树干分支法的基本思路是 将要检测的序列作为树干 其余输入组合作为分支 先一厢情愿画树干 然后再画分支 由此得到电路的原始状态图和状态表 树干分支法和状态定义法一样 适合所有的序列检测 但对于多序列检测 因需要多个树干而使得原始状态数较多 这是树干分支法的不足之处 例4 7 用树干分支法画出重叠型和非重叠型 1010 序列检测器的原始状态图 解 无论是否允许重叠 序列检测器的树干都是 1010 因此可以先画出 1010 这条树干 如图4 11所示 实际上 采用树干分支法画好原始状态图的树干后 各个状态的含义就已经清楚了 只不过一开始未定义而已 例如本例中 状态A作为初始状态表示未收到有效的 1 状态B表示收到1个有效的 1 状态C表示收到 10 状态D表示收到 101 状态E表示收到 1010 图4 11 1010 序列检测器的树干 图4 12 1010 序列检测器的原始状态图 重叠型和非重叠型 1010 序列检测器的原始状态图仅在电路处于状态E时有所不同

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号