工艺技术_数字电路逻辑设计_第1页
工艺技术_数字电路逻辑设计_第2页
工艺技术_数字电路逻辑设计_第3页
工艺技术_数字电路逻辑设计_第4页
工艺技术_数字电路逻辑设计_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路逻辑设计 第四章组合逻辑电路 完成逻辑功能的电路称为逻辑电路 它可以分为两大类 组合逻辑电路和时序逻辑电路 组合逻辑电路的特点是没有记忆 当前的输出只与当前的输入有关 与以前的历史无关 相比之下 时序电路当前的状态就与现在和过去都有关 我们有时为解决逻辑问题 要设计一种专用的组合电路 对一些被广泛使用的经典组合电路我们可以采用拿来主义 不必重新设计 如 编码器 译码器 数据选择器 分配器等 本章分为两大部分 对给定电路 分析 对实现逻辑关系 设计 第一节组合逻辑电路的分析组合逻辑电路的分析 就是将电路图上的连接 转化为易于归纳的形式 进而了解电路的功能 分析步骤如下 1 从输入向输出逐级推导 得到最终的输出表达式 在这个过程中 有时可以设几个中间变量 2 表达式化简 3 由逻辑表达式列出真值表 4 由真值表 简单逻辑可直接由表达式 概括出逻辑功能 这一步较难 例如 分析下列电路的逻辑功能 逻辑电路分析举例 1 逐级推导表达式 L A B C AB C A BC ABC 2 表达式化简 本例已是最简 3 列出真值表 三位奇数检验器 4 经过总结归纳 输入中有奇数个1时 输出为1 以下我们结合一些常用组合逻辑电路 边学习典型电路 边熟悉分析过程 一 全加器所谓全加器 是指具有从低位进位 向高位进位功能的加法器 如果不考虑低位进位 则称位半加器 与全加器对应的还有全减器 半减器 下面我们分析一位全加器电路 1 为便于分析 设中间变量 和 2 列出真值表 规律 输入有奇数个1时 F 1 输入有两个或以上1 CO 1 3 归纳逻辑功能归纳功能是比较难的 需要积累经验 本例第一步要总结出奇数个1 两个以上1这样的规律 然后再联想出全加器 A和B是被加数 加数 CI是低位进位 F是本位的和 CO是向高位的进位 如果不事先说出分析的是全加器 可能不一定会想到是加法器这类的东西 目前 我们要求能够从真值表归纳出表面的逻辑规律 如 输入有奇数个1时 输出为1 与全加器对应的还有全减器 即带低位借位 向高位借位的减法器 实验课将要求设计 4 多位加法器由多个一位全加器可以构成多位加法器 构成的方法有两种 A 逐位进位加法器 逐位进位加法器各位之间采用串联结构 特点是 电路简单 工作速度慢 B 超前进位加法器 从低位向高位逐次进位 是我们熟悉的计算方法 它的速度慢 其实 经过公式推导 见书P222 我们发现 每一位的进位值只与被加数 加数及最低位进位有关 而被加数 加数及最低位进位在计算开始前就确定了 因此可以同步地计算各位的最终取值 大大缩短计算时间 超前进位加法器的特点是 电路复杂 速度很快 74XX283是4位超前进位加法器集成电路 4位超前进位加法器的内部逻辑图如下 由图可见 电路较复杂 这是为追求速度付出的代价 其实电路很有规律 每位都有相同的四级 由于每位只需考虑本级和低位各级 所以位数越高 电路越繁 位数增加 电路复杂 但延迟时间不增加 这是超前进位的特点 全加器的逻辑符号见书 二 编码器把二进制码按一定规律编排 为每组代码赋予特定的含义 这一过程叫编码 具有编码功能的电路叫编码器 例如 8421码就是一种编码 它按自然二进制的取值为 0 9 阿拉伯数字编码 又如 键盘每个键的键值码 ASCII码等 下面我们要讲的编码器是8线 3线优先编码器 它有8个输入端 有三个编码输出 还有编码允许端 辅助输出端 首先看一下逻辑电路图 1 写出表达式 为简化分析 我们先把ST输入分析后排除 ST信号高电平时起决定性作用 将所有门电路封锁 所有输出全为1 当ST 0时 对电路没有影响 正常工作 下面我们假设允许芯片工作 ST 0 ST 1 由图Y2 IN7 IN6 IN5 IN4Y2 IN7 IN6 IN5 IN4Y1 IN7 IN6 IN5 IN4 IN3 IN5 IN4 IN2 Y0 IN7 IN6 IN5 IN6 IN4 IN3 IN6 IN4 IN2 IN1 从表达式看不出任何规律 还要作真值表 2 列出真值表 3 分析 总结 归纳 从输入分析 ST为1 任何输入均不被编码 ST为0 允许编码 输入低电平有效 同时有多个低电平输入时 对最高下标号输入编码 从输出分析 允许编码时 Y0 Y1 Y2给出编码的三位二进制值 YEX YS 1 编码器不工作 YEX 1 YS 0 编码器工作 但无有效输入 YEX 0 YS 1 编码器工作 已对有效输入编码 即YEX无编码为1 有编码为0 作为扩展位 YS有编码或禁止编码时为1 允许编码但无编码时为0 作为对下级编码器的允许控制 4 逻辑符号 注意信号极性的表示方法 5 扩展举例由两片8线 3线编码器扩展为16线 4线编码器 应用举例 一个呼叫请求控制器 有N条输入线 连接N个按键 请求有优先级 有唯一按键时 输出其对应编码 有多键同时按下时 输出优先级最高者的编码 使用一个优先编码器 就可以满足这一电路 三 译码器译码器的工作过程与编码器相反 它将二进制编码翻译成不同的硬件输出组合 例如 一个2线 4线译码器电路如图 1 写出表达式太简单 不写了 2 列出真值表 3 总结 归纳 通常M线 N线二进制译码器 满足N 2M关系 M位二进制码输入 N条译码线输出 另有若干译码允许端 高或低电平有效 当任一允许端无效时 译码器不工作 输出线全为高 当所有允许端均有效时 译码器工作 对任一个二进制码输入 有唯一的一条输出线为低电平 其他输出端均为高电平 输出线下标号 二进制码值 按照这一原则 3线 8线二进制译码器 4线 16线二进制译码器就很容易理解了 另外还有一些BCD译码器 如4线 10线译码器 74XX138 3线 8线译码器逻辑符号 译码器应用举例 8031单片机有16条地址线 A0 A15 可以寻址64KB内存空间 现有8片存储芯片 每片容量8KB 正好64KB 如果CPU 8031要使用这8片存储器 当然要一片一片地按顺序访问 低8KB 次低8KB 高8KB 硬件上要做一下分配 译码 我们通常用74LS1383线 8线译码器将这64KB空间分为8份 每份对应一条译码输出 作为 片选 信号 如图所示 单片机地址译码电路 译码器作为数据分配器所谓数据分配器是指输入端有一组数据 输出端有多个 通过选择可以使输入与任一个输出端逻辑相连 四 数值比较器比较器的作用是给出两个数据的大小信息 大于 小于或等于 模拟比较器只有大于 小于 一位数值比较器的电路如图 1 写出表达式 FA B A AB ABFA B AAB BAB AB AB A BFA B BAB AB 2 列出真值表 3 归纳A 1B 0大于A 0B 1小于A 1B 1或A 0B 0等于 上述一位比较器是组成多位比较器的基础 可以用它构成任意位比较器 多位比较器的比较规律是从高位开始 出现不等即可知谁大谁小 如果所有位均相等 则两数相等 书中举例说明4位数值并行比较器 我们对它进行简要的分析 A A3A2A1A0 B B3B2B1B0 相等 P0 A0 B0P1 A1 B1A BP2 A2 B2P3 A3 B3同或者 相同则1 FA B P0 P1 P2 P3都相同者 相等 小于AB如果高位相等 本位Ai Bi 则A B 可以推导出P15 P14 P13和P12 FA B P15 P14 P13 P12注意书中推导有误 按书上的推导逻辑 当A B 0时 大于 小于和等于都为真 自相矛盾 这提醒我们分析问题考虑要全面 不能想当然 为避免出错 设计之后要检验 比较器逻辑符号 五 数据选择器前面说过的数据分配器是只有一个输入 多个输出 一到多 数据选择器与之相反 是多到一 如8选1数据选择器在数据选择器内部可采用各种电路 如传输门 与或逻辑 分别建立每位输入数据Di与输出Y的连接 由选择输入A0 A1 A2等决定当前哪一个输入可以输出 数据选择器的扩展 由8选1扩展为32选1 第一种扩展方法 第二种扩展方法 六 奇偶检验 产生电路 自学 奇偶校验电路是数字电路中容错的一种基本方法 在内存校验 串行通讯等方面得到广泛应用 也有奇偶检验器 发生器专用芯片 第二节组合逻辑电路设计根据功能要求 实现具体电路设计 本节分为用门电路设计和用中规模功能器件设计 一 采用门电路设计1 一般设计方法设计过程与分析过程正好相反 其步骤如下 1 搞清功能要求 明确因果关系 设置输入 输出变量 2 列出真值表 3 写出逻辑表达式 4 化简逻辑表达式 5 表达式变换 根据对使用器件的要求 6 画出逻辑电路图 例题 火灾报警系统 有三种探测器 烟感 温感和光感 为防止误报 规定只有两种或两种以上发出报警才确认 并启动声光报警设备 用与非门实现 解 1 根据题意 设探头为输入 分别用A B C代表烟感 温感和光感三种探头 取值为1 报警0 无报警设报警器输出为F1 启动设备0 关闭设备 2 列出真值表 3 写出逻辑表达式F ABC ABC ABC ABC 4 化简表达式F AB AC BC 5 因为指定用与非门实现 所以要对表达式进行变换 F AB AC BC AB AC BC 6 画出电路图也可以写或与式 再两次求反 用或非门实现 2 输入只有原变量 使用与非门的设计 所谓输入只有原变量 没有反变量是指第一级的输入信号只能由A B C D等组成 不能出现ABCD等 要解决这个问题似乎很简单 将所有的反变量都加一个反相器 但这样简单处理的结果是门太多 为了获得最佳设计 我们可以通过表达式变换 用尽量少的电路满足只有原变量的要求 例如 在只有原变量输入的条件下 实现逻辑函数F A B C D m 4 5 6 7 8 9 10 11 12 13 14 解 用卡诺图化简 F A B AB B C A D两次求反 F A B AB B C A D A B AB B C A D 用反相器解决只有原变量问题 不用动脑筋 但增加了四个门 來自中国最大的资料库下载 如果将表达式进行变换 可以简化电路 F A B AB B C A D A B D B C A ABD BAC再两次求反F ABD BAC经过表达式变换 带 非号 的项合并了 逻辑门也减少了 如右图 有时 为了减少带 非号 的项 还可以考虑利用多余项 寻求进一步化简的可能 当然 不一定都能再简化 F AB AB BC AD AB AB BC AD BD AC A B C D B A C D ABCD BACD AABCD BABCD两次求反F AABCDBABCD 总结上述简化过程 我们可以发现 电路越来越简单了 但所需级数没变 三级 输入级是为了解决 非号 而存在的 带 非号 的项 称为尾部因子 越多 输入级越复杂 因此我们要尽量减少带 非号 的项 中间级的门数与表达式乘积项的多少有关 应尽量减少乘积项个数 下面我们归纳一下在只有原变量 没有反变量输入的条件下 用与非门实现逻辑函数时设计步骤 第一步 用卡诺图化简 得到最简与 或式 第二步 寻找所有的多余项 将可以用来实现合并尾部因子者加入 无此可能者不要 如 F AB AC BD BC AC BACD加入不能简化 第三步 尾部因子变换如ABCD AABCD第四步 两次求反 得与非 与非表达式 第五步 画出逻辑图 书上例题 自己看看 3 如果规定使用 或非门 实现逻辑函数 也要求输入只有原变量 没有反变量 怎么办 核心方法还是与非门的方法 只是在开头和结尾时 各加一个对偶变换 即 由F求F 再求F 对F 按与非门实现方法设计 得到与非 与非式 再求对偶 得到或非 或非式 自学书上例题 注F m F存在项 F m F不存在项 F m 2n 1 F不存在项 4 设计举例例5 5设计一个4位二进制代码转换为格雷码电路 这个题有四个输入 四个输出 我们根据真值表 分别列出每个输出的卡诺图 如同做了四个单输出的题 例5 6设计8421BCD七段译码电路 解 七段显示我们十分熟悉 但显示数字的大小与数码管的亮灭没有算法规律 因此我们要为它们建立一个联系 即译码电路 根据显示数据和显示段的关系 列出真值表 由真值表可知 这是共阳的LED显示块或加反相驱动 做出卡诺图 多输出电路要综合考虑 每个输出都最简未必整体最佳 电路图见书显示器件的驱动反相驱动 通用七段译码器芯片举例74LS48 通用的七段译码器 除完成由二进制数据到显示码的转换之外 还提供了一些辅助功能 如 消隐 BI 可强行灭掉所有显示 灯测试 LT 可强行使所有显示段都发亮 检查有没有亮不了的 灭零输入 RBI 当本位数值为0时 是显示0还是显示 黑 由灭零输入决定 灭零输出 RBO 当本位数值为0 灭零输入为0 且不进行灯测试时 RBO 0灭零输入和灭零输出是配合使用的 目的是突出有效信息 去掉无用信息 00123 45600 二 采用中规模集成器件实现组合逻辑 前面我们学习了几种中规模的器件 如译码器 数据选择器等 它们本身是为实现某种逻辑功能而设计的 但由于它们的一些特点 我们也可以用它们来实现任意逻辑函数 逻辑函数的一种最基本的形式就是最小项表达式 任一逻辑函数都可以表示为若干最小项之和 如果有一种硬件电路 相当于最小项加法器 并且可以任意选择加数 被加数们 它就可以称为逻辑函数生成器 数据选择器就具有这种功能 下面我们分别介绍用数据选择器和译码器实现逻辑函数的方法 1 用2n选1数据选择器实现n变量逻辑函数 我们知道 8选1数据选择器的输出表达式为 Y A2A1A0D0 A2A1A0D1 A2A1A0D2 A2A1A0D3 A2A1A0D4 A2A1A0D5 A2A1A0D6 A2A1A0D7由表达式我们可以发现 数据选择器就是一个大加法器 D0 D7可以分别控制8个最小项的存在 设置D0 D7 我们就可以构造任意逻辑函数 例如 用数据选择器实现下列逻辑函数 F A B C m 1 4 7 解 因该函数包含三个最小项 使其对应的三个 存在开关 设置为1 即D1 D4 D7 1 高电平 其他开关为0 即D0 D2 D3 D5 D6 0 低电平 电路如图 8选1数据选择器有3个选择输入端 可以实现3变量逻辑函数 如果逻辑函数的变量数为2个 则可以将高位输入端A2接地 数据端只用D0 D3 如果逻辑函数的变量数为4个 又该怎么办呢 2 输入变量数多于选择器输入端时的设计当输入变量数多于选择器输入端时 有两种方法 1 扩展法 先将选择器扩展 变成更多输入端的选择器以满足要求 关键是扩展 自己看书 2 降维法 如果不能扩展选择器 就只有在数据端D0 Dn上想办法了 即不能简单地将Dx接高接地了 而是要和逻辑输入建立某种关系 逻辑函数F有n个逻辑变量 称为n维逻辑函数 n维逻辑函数可以用n维卡诺图表示 n维卡诺图方格中的1表示相应最小项存在于F 方格中为0 表示相应最小项不存在 如果方格中填一个Q表示什么呢 Q 1 最小项存在 Q 0 最小项不存在 说明Q也是逻辑函数的一个变量 第n 1个变量 称为记图变量 引入一个记图变量后 就可以用n维卡诺图 表示n 1维逻辑函数了 再增加记图变量 还可以表示更多维的逻辑函数 在前面用数据选择器实现逻辑函数时 最小项存在 相应D端接1 不存在接0 如果最小项存在与否决定于Q 则相应数据端应接Q 总之 用低维数据选择器实现高维逻辑函数时 首先要降维 将多出的变量作为记图变量 下面我们通过例题学习降维法的设计方法 例5 10用8选1数据选择器实现逻辑函数F A B C D m 1 5 6 7 9 11 12 13 14 解 由于8选1有三个输入端 F函数有四个输入变量 所以要先降维 设以D为记图变量 第一步 降维 第二步 确定数据端的设置 一个方格对应一个D端 D0 D2 D4 D5 DD3 D6 1D1 0D7 D第三步 画逻辑电路图 例5 11用8选1数据选择器实现逻辑函数F A B C D E m 0 1 3 9 11 12 13 14 20 21 22 23 26 31 逻辑电路图 书中给出进一步降维的情况 自己看书 归纳一下卡诺图降维的规律 如果要把X作为记图变量 它在原卡诺图中 X 0时取值F X 1时取值为G 则合二为一后的取值为 XF XG 两点说明 1 当需要降维处理时 将谁作为记图变量是任意的 但结果是不同的 哪一种选择最佳还没有一个固定的判断方法 2 数据选择器最适于实现单一输出的逻辑函数 如果要实现多输出逻辑函数 就要用多个选择器 相比之下用译码器实现多输出逻辑函数更方便些 3 用译码器实现组合逻辑 一个n线 2n线译码器的输出包含了n变量的所有最小项 或者说 每个输出只与一个最小项对应 例如 3线 8线译码器 满足如下关系 Y0 ABC m0 Y1 ABC m1 Y7 ABC m7即输出信号与最小项反相 有一逻辑函数F A B C ABC ABC用译码器实现 解 F A B C m0 m7 Y0 Y7 Y0 Y7 书例5 12是一个多输出的逻辑函数 就按上述方法 如同做了三道单输出的题一样 实验课要求用译码器设计全减器 请考虑一下 用译码器实现逻辑函数比较容易 要注意的是译码器的输出Y不是最小项 而是最小项的 非 Yi mi 4 采用全加器实现组合逻辑函数用全加器实现逻辑函数 不具有普遍意义 它不能实现任意逻辑函数 只适

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论