第三章 组合逻辑电路的分析与设计 3.1 逻辑电路设计文档标准 框图 门的符号标准 信号名和有效级 引端的有效级 引端有效级的变换 图面布局及总线

Slides:



Advertisements
Similar presentations
12 届减数分裂复习(蔡志敬) 给你一双翅膀,让你自由翱翔!. ※真核细胞分裂的方式 有丝分裂 无丝分裂 减数分裂.
Advertisements

第五章 企业所得税、个人所得税.
九十五年國文科命題知能 研習分享.
2011年会计初级职称全国统考 初级会计实务 教案 主讲:高峰 2010年12月.
人力资源管理资格考证(四级) 总体情况说明.
财经法规与会计职业道德 Company Logo.
第四章 组合逻辑电路 第 四 章 组 合 逻 辑 电 路.
编码、译码、显示电路. 编码、译码、显示电路 实验目的 学习实验中各种故障的检测、排除。 学习编码器原理及使用。 熟悉七段译码器的逻辑功能和使用。 掌握七段显示器的使用方法。 实验三 译码器及应用 实验目的 学习实验中各种故障的检测、排除。 学习编码器原理及使用。 熟悉七段译码器的逻辑功能和使用。
全国一级建造师执业资格考试 《建设工程法规及相关知识》 高 唱
行政诉讼法.
新课程背景下高考数学试题的研究 ---高考的变化趋势
服务热线: 菏泽教师招聘考试统考Q群: 菏泽教师统考教育基础模拟题解析.
普 通 话.
小学语文毕业总复习 ( 基础知识部分) 牡丹区实验小学侯宪梅.
教学的内容和方法.
26个英语字母 let's go!.
小学语文教学论 湖南第一师范文史系.
专题4 地表变化及影响.
会计学 第九章 财务会计报告.
了解太平天国运动的主要史实,认识农民起义在民主革命时期的作用与局限性。
专题二 识图题增分技巧.
Combinational Logic 組合邏輯
第一章 民法概述 一、民法概念 P4 二、民法的调整对象 三、民法的分类 四、民法的渊源 P10 五、民法的适用范围(效力范围)
第七章 财务报告 财务报告 第一节 财务报告概述 一、财务报告及其目标: 1、概念:财务报告是指企业对外提供的反映企业某一特定日期
发展心理学 王 荣 山.
出入口Y27 往塔城街口/中興醫院 出入口Y25 往延平北路一段/中興醫院 出入口Y23往延平北路一段 出入口Y21往延平北路一段
电在我们日常生活、现代化社会中的应用: 电 是 什 么?.
第十课 创新意识与社会进步 1.辩证的否定观:辩证否定、形而上学的否定观
政治第二轮专题复习专题七 辩 证 法.
第四章 组合逻辑电路 4.1 概 述 4.2 组合逻辑电路的分析与设计 4.3 常用组合逻辑电路 4.4 用PLD实现组合电路
第20章 门电路和组合逻辑电路 20.1 脉冲信号 20.2 基本门电路及其组合 20.3 TTL门电路 20.4 CMOS门电路
第17章 组合逻辑电路 17.1 组合逻辑电路的基本知识 17.2 常见的组合逻辑电路.
数字电子技术 Digital Electronics Technology
第三章 组合逻辑电路 第一节 组合电路的分析和设计 第二节 组合逻辑电路中的竞争与冒险 第三节 超高速集成电路硬件描述语言VHDL
数字电子技术基础 信息科学与工程学院·基础电子教研室.
第四章第一节 增值税法律制度2 主讲老师:梁天 经济法基础.
第七章 财务报告 主讲老师:王琼 上周知识回顾.
经济法基础习题课 第7讲 主讲老师:赵钢.
數位邏輯簡介.
版权所有,引用请注明出处 第三章、运算方法与运算器 原著 谭志虎 主讲(改编) 蒋文斌.
吉林大学远程教育课件 数 字 逻 辑 (第十九讲) 主讲人 : 魏 达 学 时:48.
第六章 采用中、大规模 集成电路的逻辑设计.
第 二 章 逻 辑 代 数 基 础.
张沛老师带你玩转国际英标.
26个英语字母.
第七章 门电路和组合逻辑电路 7.1 基本概念 模拟信号 电子电路中的信号 数字信号 模拟信号:随时间连续变化的信号 正弦波信号 三角波信号
数字电子技术 Digital Electronics Technology
第三章 组合逻辑电路.
第 4 章 组合逻辑电路 4.1 组合逻辑电路的分析 4.2 组合逻辑电路的设计 4.3 常用MSI组合逻辑器件及应用
桶式移位器 简单浮点编码器 双优先级编码器 级联比较器 关模比较器
数字电子技术 湖南计算机高等专科学校李中发 胡锦 制作.
第6章 计算机的运算方法 6.1 无符号数和有符号数 6.2 数的定点表示和浮点表示 6.3 定点运算 6.4 浮点四则运算
10.2 排列 2006年4月6日.
练习: 由三个不同的英文字母和三个不同的阿拉伯数字组成一个六位号码(每位不能重复),并且3个英文字母必须合成一组出现,3个阿拉伯数字必须合成一组出现,一共有多少种方法?
第四章 组合逻辑电路 4.1 组合逻辑电路的分析与设计 4.2 常用组合逻辑电路 4.3 组合逻辑电路的竞争与冒险.
computer organization principle
第20章 门电路和组合逻辑电路 20.1 脉冲信号 20.2 基本门电路及其组合 20.3 TTL门电路 20.4 MOS门电路
第3章 组合逻辑电路.
乘法公式 (1) 乘法分配律 (2) 和的平方公式 (3) 差的平方公式 (4) 平方差公式.
中级会计实务 ——第三章 固定资产 主讲:孙文静
计算机学院 数字逻辑实验的要求.
经济法基础习题课 主讲:赵钢.
第五章 相交线与平行线 三线八角.
電子白板百萬小學堂 本活動建議搭配電子白板 學生最多可分成2~6組(請按組別按鈕) 老師可以視時間多少,來進行活動 每一組要回答十個問題。
7.1 逻辑代数与门电路 逻辑代数初步 1. 数字电路中的数制和码制 (1) 数制及其转换
会计基础 第二章 会计要素与会计等式 刘颖
组合逻辑电路 ——中规模组合逻辑集成电路.
两个变量的线性相关 琼海市嘉积中学 梅小青.
坚持,努力,机会留给有准备的人 第一章 四大金融资产总结 主讲老师:陈嫣.
相关知识回顾 1.垂线的定义: 2.线段中点的定义: 3.角的平分线的定义:
Presentation transcript:

第三章 组合逻辑电路的分析与设计 3.1 逻辑电路设计文档标准 3.1.1 框图 3.1.2 门的符号标准 3.1.3 信号名和有效级 3.1.4 引端的有效级 3.1.5 引端有效级的变换 3.1.6 图面布局及总线 3.1.7 时间图 3.2 组合电路分析 3.2.1 穷举法 3.2.2 逻辑代数法 3.2.3 利用摩根定律分析 3.2.4 利用卡诺图 3.3 组合电路设计 3.3.1 根据逻辑问题的描述写出逻辑表达式 3.3.2 逻辑电路的变换 3.4 组合电路中的竞争与险象 3.4.1 竞争现象 3.4.2 险象 3.4.3 险象的判别 3.4.4 险象的消除 3.5 常用MSI组合逻辑器件及应用 3.5.1 译码器 3.5.2 编码器 3.5.3 三态缓冲器 3.5.4 多路选择器 3.5.5 奇偶校验电路 3.5.6 比较器 3.5.7 加法器

第三章 组合逻辑电路的分析与设计 Combinational Logic Circuit Analysis & Design 第三章 组合逻辑电路的分析与设计 Combinational Logic Circuit Analysis & Design 逻辑电路的分类:组合逻辑电路 Combinational Logic Circuit 时序逻辑电路 Sequential Logic Circuits 组合逻辑电路的特点:电路输出仅取决于当时的输入, 而与过去的输入情况无关。 时序逻辑电路的特点:电路输出不仅取决于当时的输入, 而且也与过去的输入情况有关, 即与过去的电路状态有关。

组合逻辑电路的模型 组合电路 ••• x1 xn f1 fm

3.1 逻辑电路设计文档标准 Documentation Standards 用结构化的思想完成一个复杂系统的分析与设计过程: 1. 整个复杂系统划分成若干子系统; 2. 每个子系统划分成较为简单、较为规范的电路单元; 3. 自顶向下地规划设计(Top-down Modular Design) , 从下而上的进行分析和设计(Bottom-up Process); 4. 建立一套标准化的逻辑电路描述文档。 计算机行业中的各类标准文档 电子逻辑布图及规格说明等——专门从事硬件设计与制造方面的工作(由行业标准协会提供,如:内存芯片标准化,IEEE,网络7层协议等) 系统软件协议等——专门从事软件平台设计与编制方面的工作 硬件维护手册、技术手册等——专门从事硬件维护与维修方面的工作(由制造商提供) 软件技术手册、用户参考等——专门从事软件维护与开发方面的工作 应用软件等文档——应用单位用户 (由 应用软件编制人员和用户提供) 作为规范化的技术“语言” ,逻辑电路设计文档标准在对数字系统的分析、设计和技术交流中都很重要。 一个电路系统的文档至少应包括如下五个方面。

子系统框图:将一个大系统的划分成几个子系统,由这几个子系统构成说明整个系统组成的总框图。按子系统再分别构成其框图。如上例图。 3.1.1 框图 (Block Diagram): ① 用方框、圆框等粗略表示系统的输入、输出、功能模块(或称子系统),各模块的功能用文字加以说明; 用带箭头连线表示模块之间主要信息通路、流向和控制信号。 1. 系统总框图: 表示一个完整的系统模块。 参见书P80图3.2。 子系统框图:将一个大系统的划分成几个子系统,由这几个子系统构成说明整个系统组成的总框图。按子系统再分别构成其框图。如上例图。

2. 逻辑图 (Logic Diagram) 将框图的粗略表示,具体地用文字说明器件类型。例如32位寄存器: 32位寄存器框图及逻辑图 32 4×74LS377 32 (b) 框图 32寄存器 32 (a) 框图 32位寄存器框图及逻辑图 32 8 (C)逻辑图 74LS377

3. 原理图 (Schematic Diagram) 在逻辑电路图(Logic Diagram)中,详细标明器件类型、端脚之间的连接、信号名等条件细节,再次细化逻辑电路图。 逻辑图参见书P79图3.1( c )。 原理图参见书P89图3.19。 4. 时间图 (Timing Diagram) 反映逻辑信号之间对应的时间关系,特别是要能反映出关键信号之间因果关系和传输延迟。 参见书P92图3.22和图3.23。

5. 结构化逻辑描述 (Structured Logic Description) 说明结构化逻辑器件的内部功能,如PLA、存储器芯片或者某些具有专门功能的中、大规模器件; 用逻辑等式、状态表(图)、功能表或程序表等形式说明。 6. 电路说明 (Circuit Description) 用文字简明叙述电路的使用方法; 解释内部的工作方法; 列出设计和操作中所有可能的潜在缺陷,以及在使用不当中隐含的问题。

3.1.2 门的符号标准 (Gate Symbols Standards) ⒈ 逻辑门的符号标准: 长方形符号:中国国标、IEC标准、IEEE标准 变形符号: IEEE标准 常用门的符号表示参见下页所示。

异或门 图3.3 常用逻辑门的两种表示形式 电路名称 原符号 变形符号 跟随器 非 门 与 门 或 门 与非门 或非门 与或非门 1 & 图3.3 常用逻辑门的两种表示形式 电路名称 原符号 变形符号 跟随器 非 门 与 门 或 门 与非门 或非门 与或非门 异或门 1 & ≥1 =1

⒉ 门的等效符号: 对上述常用门中输入信号进行有效级变换(变反),并按照DeMorgan定律得到的门的等效符号。 ⒉ 门的等效符号: 对上述常用门中输入信号进行有效级变换(变反),并按照DeMorgan定律得到的门的等效符号。 实际上,等效变换即为小圆圈(表示反相器)在门的符号上的出现和移动。如下图 1 ≥1 & ≥1 1 & & 逻辑门的等效符号参见下页所示。

逻辑门的等效符号 电路名称 原符号 等效符号 跟随器 非 门 与 门 或 门 与非门 或非门 1 1 1 1 & & & & ≥1 ≥1 非 门 与 门 或 门 与非门 或非门 1 1 1 1 & ≥1 ≥1 & & ≥1 ≥1 &

3.1.3 信号名和有效级 (Signal Names and Active Levels) ⒈ 信号命名: 为了电路分析,对电路的各个输入、输出信号进行规范化命名,即取名最好源自信号的名称或者是它的缩写。如: 数据信号Datai (Di); 地址信号Addri (Ai); 控制信号Conti (Ci)、Reset、Set、 … ; 检测信号Ready、Error、 …、 等待信号Wait、…; 片选信号CS;使能信号EN; …。 参见书P91图3.21。

⒉ 信号的有效级 (Active levels for Signals) ⑴ 控制信号、测试信号等: 此类信号都有一个与之对应的有效级。 当信号处在其有效级时,逻辑电路才能正确地执行其功能。 ⑵ 在正逻辑中,高电平与逻辑“1”等效, 低电平与逻辑“0”等效。 (参见书第二章P27图2.2) ⑶ 有效级分高有效或低有效。 高有效:信号为高电平或为逻辑“1”时为有效; 低有效:信号为低电平或为逻辑“0”时为有效;

⑷ 有效级的约定(即表示法): 低电平有效 高电平有效 ACK- ERROR.L ACS(L) CS* /EN RESET# ACK+ 用一些符号作为信号名的前缀或后缀,这些符号反映了信号的有效性,如下表所示。 低电平有效 高电平有效 ACK- ERROR.L ACS(L) CS* /EN RESET# ACK+ ERROR.H ACS(H) CS EN RESET 本书采用表中“EN(高有效)、/EN(低有效)”的这一组表示法。

⑸ 信号名 不能采用反变量符号, 不能采用逻辑表达式。 如下图中,RDY (准备好) 为 测试信号, /EN (使能) 为 控制信号, F 逻辑电路

⑹ 例:设计一个逻辑。 使得加电(高有效信号)时产生一个低有效输出,系统不复位(低有效信号),内部锁InTerLock关闭(低有效信号),给出一个运行信号(低有效信号) ,数据已准备好(高有效信号)。 确定信号名: 输入变量 加电= PWR,复位= /RST,内部锁= /ITL, 运行= /RUN,数据准备好= READY 输出变量 输出= /OUT READY /OUT & /RUN PWR /ITL /RST

3.1.4 引端的有效级(Active levels for pins) 本书采用的是“逻辑非符号体制”。 另一种是“极性符号体制” (略)。 引端的有效级: 是指电路的输入、输出上的物理量 与电路的内部逻辑状态的对应关系。 对应关系:指选用器件的引端的有效级 与所给信号的有效级相匹配。

逻辑非符号体制 在本体制下存在两级对应关系: ⑴ 电路的外部逻辑状态与内部逻辑状态的对应关系。 例:所示框图中 a、b、c、d为外部逻辑状态; ENABLE、DO、RDY、SID为内部逻辑状态。 & ≥1 ENABLE … a DO RDY SID b c d 器件框图上不带逻辑非符号(小圆圈) 器件框图上带逻辑非符号 a … b c d ≥1 & ENABLE DO RDY SID

例:如图所示 ① 器件框图上不带逻辑非符号(即小圆圈)的输入 a 与 X、输出 c 与 Z 的关系:若 Z = f(X),则 c = f(a) a c X Z a X 1 Z c 1 ② 器件框图上带逻辑非符号的输入a 与 X、输出 c 与Z 的关系:若 Z = f(X),则 c = Z = f(X) = f ( a ) a c X Z a X 1 Z c 1

正逻辑约定 ⑵ 电路的输入、输出信号的物理量 与电路的外部逻辑状态的对应关系, 用正逻辑或负逻辑加以约定。 如下图所示: Z = XY c = Z = XY = a b 逻辑电平对应关系:H (高电平) —— “1”(外部逻辑状态) L (低电平) —— “0”(外部逻辑状态) X Y Z 0 0 0 1 1 0 1 1 1 a b c 0 0 0 1 1 0 1 1 1 a b c L L L H H L H H H L & X Y Z a b c

负逻辑约定 如下图所示:Z = X+Y c = Z = X +Y = a + b 逻辑电平对应关系:H (高电平) —— “0”(外部逻辑状态) L (低电平) —— “1”(外部逻辑状态) X Y Z 0 0 0 1 1 0 1 1 1 a b c 0 0 0 1 1 0 1 1 1 a b c H H H L L H L L L H ≥1 X Y Z a b c 注:本书采用逻辑非符号体制的正逻辑约定。

3.1.5 引端有效级的变换 (Bubble-to-bubble Logic design) 目的:使逻辑电路的功能一目了然 结果:使所选用器件引端的有效级 与 所给的信号有效级 相匹配 方法:对器件引端的有效级进行变换。 例:下面两组的各四种分别表示四个完成同一逻辑功能的器件: 四种 “或” 功能 “与” ≥1 或门(7432) ≥1 或非门(7402) ≥1 与非门(7400) ≥1 与门(7408) & 与门(7408) & 与非门(7400) & 或非门(7402) & 或门(7432)

1. 引端有效级的变换,包括: ① 输入引端的变换:或为高有效、或为低有效, ② 输出引端的变换:分别为高有效、或低有效。 1. 引端有效级的变换,包括: ① 输入引端的变换:或为高有效、或为低有效, ② 输出引端的变换:分别为高有效、或低有效。 例 如下图 Busy = REY·REQ 对应了四种电路。 & REY REQ BUSY 高有效输入、高有效输出 & REY REQ /BUSY 高有效输入、低有效输出 & /REY /REQ BUSY 低有效输入、高有效输出 & /REY /REQ /BUSY 低有效输入、低有效输出

2. 引端有效级的变换规则 (Bubble-to-bubble Logic Design Rules) 规则1: 任何输入或输出端加上或删去逻辑非符号 (即小圆圈),且其对应的信号有效级变反,则逻辑图的功能不变。 & A /B F & /A /B F & /A B /F

规则2: 逻辑图内部连线的两端,同时加上或删去逻辑非符号,则逻辑图的功能不变。 ≥1 & A B C D F ≥1 & A B C D F

规则3: 单个逻辑非符号在内部连线两端移动时逻辑图的功能不变。 & ≥1 A B C D F & ≥1 A B C D F

规则4: 若一个门的输入输出端同时加上或删去逻辑非符号,或输入、输出信号有效级同时取反,且门的符号“与”、 “或”互变时,则得到的新的逻辑图的功能不变。 ≥1 A B F & A B F ≥1 /A /B /F

变换的最终目标 变换后的结果应满足下列规定 ⑴ 器件的 输出信号有效级 应 与 对应的 输出引端的有效级 一致。 ⑴ 器件的 输出信号有效级 应 与 对应的 输出引端的有效级 一致。 即输出端有逻辑非符号,输出信号为低有效,否则为高有效。 如前面四个变换规则所示: 若与门的输出端无逻辑非符号,则F为高有效; 与门的输出端有逻辑非符号,则/F为低有效。

⑵ 当 输入信号有效级 与其 对应的 输入端有效级 一致时, ⑵ 当 输入信号有效级 与其 对应的 输入端有效级 一致时, 当该信号有效时,则器件内部逻辑功能有效。 即 输入端有逻辑非符号,输入信号为低有效, 否则 输入端没有逻辑非符号,输入信号为高有效。 如:下图所示: 选择输入信号SEL连接到与非门①的输入端(无逻辑非符号),则选择DATA=A时的SEL是高有效; SEL还连接到非门②的输入端(有逻辑非符号),则选择DATA= B时的SEL是低有效。 DATA SEL BSEL A B & 1 ① ② ≥1 ASEL 即输出数据信号DATA如下: { DATA = A 当SEL = 1 B 当SEL = 0

则 当该信号无效时,则器件内部逻辑功能才有效。这是应尽量避免出现的情况。 ⑶ 若 输入信号有效级 与其 对应的 输入端有效级 不一致时, 则 当该信号无效时,则器件内部逻辑功能才有效。这是应尽量避免出现的情况。 例 下图中选择信号SEL的有效性不明确。 SEL BSEL A B & 1 ① ② ASEL DATA ≥1

3.1.6 图面布局及总线 (Drawing Layout and Buses) 在逻辑图及原理图中,规定: 信息流:默认从左至右,或者从上到下,若不能保证则使用箭头提示信息流方向,有单向和双向之分。 A B A B 逻辑器件:输入端画在左边,输出端画在右边。 图中应注明所用集成电路的型号、连线的引端号、电 路在整个原理图中的编号以及输入、输出信号名等。

需要分页画出的原理图要合理地划分出每页的模块,既要完整又要使页与页之间的连线尽可能地少,并清楚地标注出它们之间的连接关系。 信息线的交叉点:手工作图时用圆点表示,CAD作图 时用T型。参见书P89图3.18所示。 手工画 机器画 (a) 交叉 (b) 连接 (c) 连接 不允许

总线的表示法: 单向总线符号 双向总线符号 2 总线的接点 没有连接的交叉 (a)双线表示总线 (b)单线表示总线

3.1.7 时间图 参见书92图3.22和图3.23。

3.2 组合电路分析 Combinational Logic Circuit Analysis 电路分析的目的: 根据给定电路,分析该电路输出与输入之间的逻辑关系,得出电路的逻辑功能的描述,进而评估此电路的性能,还可进一步改进电路。 分析的一般步骤:如下图所示: 逻辑 电路图 写出逻辑 表达式 列出 真值表 分析逻辑 功能 改进 电路 用卡诺图 化简 表达式

3.2.1 穷举法 穷举法的结果是真值表。 即:列出n个输入变量的所有2n个输入组合,并根据每一个输入组合决定所有门的输出,逐级推出电路的输出,得到真值表。 例:分析如图3输入——1输出的逻辑电路。 x y z F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 F & ≥1 x 1 y z

3.2.2 逻辑代数法 F =(x+y) z + (xyz) F = xz + yz + xyz 与或式 根据电路逐级写出各门的输出表达式,直至写出整个电路的输出逻辑表达式。如下图: F =(x+y) z + (xyz) 根据布尔代数进行表达式变换,如下: F = xz + yz + xyz 与或式 = (x + z)(y + z) ( x + y + z) 或与式 = (xz)(yz)(xyz) 与非—与非式 F & ≥1 x 1 y z 上述表达式对应不同结构的逻辑电路。参见书P95图3.25。

3.2.3 利用摩根定律分析 F = (AB C) + (A+B+C) + (A+D) = (A+B) C (A+B+C)(A+D) 若电路采用与非门和或非门实现,函数表达式需要反复应用摩根定律简化: F = (AB C) + (A+B+C) + (A+D) = (A+B) C (A+B+C)(A+D) = (( A+B ) C) ( A+B+C )(A+D) = (A+B) C (A+D) 对应不同结构的逻辑电路,参见书P96图3.26、 P97图3.27 。

3.2.4 利用卡诺图化简函数,通过函数表达式或真值表分析其逻辑功能。 3.2.4 利用卡诺图化简函数,通过函数表达式或真值表分析其逻辑功能。 例1:分析如图逻辑电路。 F & ≥1 A ⊕ C B P1 P2 P3 P4 P5 P6 P1 = AC P2 = A + B P3 = B + C P4 = A ⊕C P5 = P1 P2 = AC A+B = A + B P6 = P3 + P4 = B + C + A ⊕C = A B C F = P5 P6 = (A + B) A B C = 0 + 0 = 1 这是一个输出恒为 1 的逻辑电路。

F = AB BC CA = AB + BC + CA 例2:分析如图逻辑电路。 写出最简表达式: & A B C F 例2:分析如图逻辑电路。 写出最简表达式: F = AB BC CA = AB + BC + CA 从表达式直接看不出明确的逻辑关系,再通过真值表来分析: A B C F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 从真值表可以得出: 这是一个三变量非一致电路。

A8 = B8 + B4 + B2 = B8 B4 B2 A4 = B4 ⊕ B2 = B4B2 + B4B2 A2 = B2 通过真值表来分析: 例3:分析如图逻辑电路。 B8 B4 B2 B1 A8 A4 A2 A1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 写出最简表达式: A8 = B8 + B4 + B2 = B8 B4 B2 A4 = B4 ⊕ B2 = B4B2 + B4B2 A2 = B2 A1 = B1 =1 B8 1 B4 B2 B1 A8 A4 A2 A1 ≥1 这是一个BCD码对9变补器。

y0 = x0 y1 = x1⊕x0 y2 = x2⊕(x1+ y1) = x2⊕(x1+ x1⊕ x0) = x2⊕(x1+ x0) 例4:分析如图逻辑电路。 =1 x3(MSB) x2 x1 x0(LSB) y3 y2 y1 y0 ≥1 1. 写出最简表达式: y0 = x0 y1 = x1⊕x0 y2 = x2⊕(x1+ y1) = x2⊕(x1+ x1⊕ x0) = x2⊕(x1+ x0) y3 = x3⊕(x2+ y2) = x3⊕(x2+ x2⊕(x1+ x0)) = x3⊕(x2+ x1+ x0)

x3x2x1x0 y3y2y1y0 y0 = x0 y1 = x1⊕x0 y2 = x2⊕(x1+ x0) 2. 函数最简表达式: 3. 通过真值表来分析: x3x2x1x0 y3y2y1y0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 y0 = x0 y1 = x1⊕x0 y2 = x2⊕(x1+ x0) y3 = x3⊕(x2+ x1+ x0) 1 1 1 1 结论: 这是一个二进制变补器,也称16变补器。

3.3 组合电路设计 Combinational Logic Circuit Design 目的:根据要实现的逻辑功能,利用逻辑代数方法实现逻辑电路分析的一般步骤,如下图所示: 分析设计要求 确定输入输出变量;逻辑关系;有无无关项d 列出真值表 填入卡诺图进行化简 由卡诺图得到最简与或式 写出最简逻辑表达式 根据所选用门的类型 表达式变换 画出电路逻辑图 要求:电路用最少的逻辑门(集成块)、最少的输入端数。

3.3.1 根据逻辑问题的描述写出逻辑表达式 一、逻辑问题描述—真值表—逻辑表达式 1. 半加器 Half-Adder 例 设计一个二进制一位全加器。 1. 半加器 Half-Adder 输入变量:加数A、B Sh = AB + AB = A⊕B 输出函数:和 Sh、进位Ch = AAB BAB Ch = AB = AB A B Sh A B Sh Ch 0 0 0 1 1 0 1 1 1 & A B Sh Ch A B Ch 1

2. 全加器Full-Adder Si = Ai⊕Bi ⊕Ci-1 输出函数:本位和 Si、本位向高位的进位Ci Ai Bi Ci-1 Si Ci 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 AiBi Ci-1 Si Ci AiBi Ci-1 1 1 Si = Ai⊕Bi ⊕Ci-1 = AiBi Ci-1 + AiBiCi-1 + AiBiCi-1 + AiBi Ci-1 Ci = AiBi + Ai Ci-1 + Bi Ci-1 二级与或电路参见书P98图3.28( c )。

2. 全加器Full-Adder Si = Ai⊕Bi ⊕Ci-1 Ci = AiBi + Ai Ci-1 + Bi Ci-1 用异或门和与、或门构成电路: Si = Ai⊕Bi ⊕Ci-1 Ci = AiBi + Ai Ci-1 + Bi Ci-1 Ai Bi Ci-1 Ci Si =1 & ≥1

2. 全加器Full-Adder Ci = AiBi + Ai Ci-1 + Bi Ci-1 Si = m1 + m2 + m4 + m7 用“与或非”门实现全加器 1 Ci = AiBi + Ai Ci-1 + Bi Ci-1 Ci AiBi Ci-1 Si = m1 + m2 + m4 + m7 1 m1 = Ci-1 • Ci m2 = Bi • Ci 禁止法 Ci AiBi Ci-1 m4 = Ai • Ci 1 m7 = Ai • Bi • Ci-1 故 Si = Ci-1 • Ci + Bi • Ci + Ai • Ci + Ai • Bi • Ci-1 = Ci • ( Ci-1 + Bi + Ai ) + Ai • Bi • Ci-1

2. 全加器Full-Adder Ci = AiBi + Ai Ci-1 + Bi Ci-1 用“与或非”门实现全加器 Si = Ci • ( Ci-1 + Bi + Ai ) + Ai • Bi • Ci-1 A i B i C i-1 ≥1 & Si Ci 全加器 Ai Bi Ci-1 Si Ci

二、逻辑问题描述—简化真值表—逻辑表达式 5. 比较器 Comparators 输入变量:两个正整数 x = x2x1 , y = y2y1 输出函数:三个比较结果F1(x > y),F2(x < y),F3(x = y) x2 y2 x1 y1 F1 F2 F3 1 0 d d 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 ① 根据先比较高位后比较低位的原则,列出使函数为1的简化真值表:

F3 = x2y2x1y1 + x2y2x1y1 + x2y2x1y1 + x2y2x1y1 ②由简化真值表直接写出逻辑表达式: x2 y2 x1 y1 F1 F2 F3 1 0 d d 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 比较电路 x2 x1 y2 F1 F2 y1 F3 F1 = x2y2 + x2y2x1y1 + x2y2x1y1 F2 = x2y2 + x2y2x1y1 + x2y2x1y1 F3 = x2y2x1y1 + x2y2x1y1 + x2y2x1y1 + x2y2x1y1 逻辑电路图参见书P98图3.28(c)。

三、逻辑问题描述——逻辑表达式 ALARM = PANIC + ENABLE • EXITING • SECURE 6. 由逻辑问题描述直接写出逻辑表达式。 例 设计一个房间报警电路。如果 ① 意外事件发生输入PANIC为1; ② 使能输入ENABLE为1、出口标志输入EXITING为0、 房间没有加密(SECURE); 则 报警输出ALARM为1。 如果 窗(WINDOW)、门(DOOR)及车库(GARAGE)都是1 则 房间加密(SECURE)。 ALARM = PANIC + ENABLE • EXITING • SECURE SECURE = WINDOW • DOOR • GARAGE ALARM = PANIC + ENABLE • EXITING • (WINDOW • DOOR • GARAGE)

报警电路逻辑图 PANIC ENABLE EXTING WINDOW DOOR GARAGE SECURE ALARM 1 & ≥1

思考题:设计一个两位二进制数乘法器。 x2x1 y2y1 z4z3z2z1 分析:输入变量 X = x2x1 Y = y2y1 x2x1 输出变量 Z = z4z3z2z1 x2x1 y2y1 z4z3z2z1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 x2x1 z4 y2y1 1 1 z3 1 1 z2 z1

思考题:设计一个两位二进制数乘法器。 z4 = x2x1 y2y1 z3 = x2x1y2 + x2y2y1 分析:输入变量 X = x2x1 Y = y2y1 输出变量 Z = z4z3z2z1 x2x1 z4 y2y1 1 1 z4 = x2x1 y2y1 z3 = x2x1y2 + x2y2y1 z2 = x2x1y1 + x2y2y1 + x2x1y2 + x1y2y1 z1 = x1y1 输出函数: z3 1 1 z2 z1

思考题:开关控制电路 分析:输入变量K1、 K2、 K3、 K4、 K5、 K6、和 K7 某一集体宿舍,共住有7人,公用一套照明设施,每人床头都有一个控制开关,要求每按动开关一下,就改变一次灯的状态(即亮→灭、灭→亮)。试设计出此灯控开关电路。 分析:输入变量K1、 K2、 K3、 K4、 K5、 K6、和 K7 输出变量 F 设开关初态F = 0 当K1 K2 K3 K4 K5 K6K6 均为 0 可以从四变量输入分析入手,找出生成输出函数的特征和规律。

思考题: 码制转换电路 输入为2421码ABCD 输出为余3码Y3Y2Y1Y0 分析 列出真值表: 十进制数 A B C D 分析 列出真值表: 十进制数 A B C D Y3Y2Y1Y0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 d

AB CD Y3 AB CD Y2 A B C D Y3Y2Y1Y0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 d A B C D Y3Y2Y1Y0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 d A B C D Y3Y2Y1Y0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 d A B C D Y3Y2Y1Y0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 d A B C D Y3Y2Y1Y0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 d d 1 d d 1 d AB CD Y1 AB CD Y0 1 d d d 1 d

Y3 = A Y2 = AB + AC + AD + BCD Y1 = A⊕C⊕D Y0 = D AB CD Y3 AB CD Y2 AB

3.3.2 逻辑电路的变换 transform of Logic Circuit 一、“与—或”电路变换为“与非—与非”电路 例 F = A + BC + DEH + G = A + BC + DEH + G (原函数二次求反) = A BC DEH G (运用反演规则) = A BC DEH G

F = A + BC + DEH + G = A BC DEH G 对应的二个不同的电路如下: A 1 & B C D E H G F A ≥1 B C D E H G F A & ≥1 B C D E H G F 1

二、“或—与”电路变换为“或非—或非”电路 例 F = (A + B)(C + D)(E + H + G) = (A + B)(C + D)(E + H + G) (原函数二次求反) = (A + B)+(C + D)+(E + H + G) (运用反演规则) = (A + B) • (C + D) • (E + H + G) (运用反演规则) A ≥1 B C D E H F & G A ≥1 B C D E H F G &

三、“与—或”电路变换为“与或非”电路 例 F = AC + AB (图a) = AC + AB (原函数二次求反) (图b) 1 ≥1 & ( c ) F = AC + AB (运用反演规则) = (A + C)(A + B) = AB + AC F = AB + AC (图c) A B C F ≥1 & 1 (a) A B C F ≥1 & 1 (b)

四、减少集成块的数量 Reduce the Numbers of IC 目前采用的小规模门电路SSI是把几个相同的门封装在同一个集成块中,在逻辑电路中使用的SSI的数目越少,则电路的印刷电路扳的面积、功耗、总成本越小,而可靠性越高。 所以,减少SSI的数目是化简的最终目标。 在实际统计中,对SSI的计算与分立元件的计算不一样。例: F1 = x2y2 + x2y2x1y1 + x2y2x1y1 F2 = x2y2 + x2y2x1y1 + x2y2x1y1 F3 = x2y2x1y1 + x2y2x1y1 + x2y2x1y1 + x2y2x1y1 分立元件:非(×4) 2与(×2)4与(×8)3或(×2)4或(×1) SSI 器件:4与非(×9):74LS20—4输入双与非门(×5) 3与非(×2):74LS10—3输入三与非门(×1) 2与非(×2):用上面74LS20或10剩余的一个与非门

3.4 组合电路中的竞争与险象 Timing Races and Hazards 在实际电路中,信号的变化不是即时的,有一定的边沿时间,信号在电路中传送必定有导线上的传播时延,信号通过门电路也必定有时间延迟(模拟特性)。 例 信号边沿及门的时延产生的尖峰脉冲 A F td 1 ≥1 A 与A信号的边沿时间使 F中产生幅度较小、宽度较窄的负尖峰脉冲 再考虑门的传播延迟时间 td 越大,则F 中出现的脉冲将越宽

3.4.1 竞争现象 时延td(Delays) 例 出现竞争的电路图和时间图 3.4.1 竞争现象 同一信号或同时变化的某些信号,经过不同路径到达某一点时有时差,这种现象称为竞争。 险象一定是竞争的结果。对于有错误输出的竞争称之为临界竞争,对于未产生错误输出的竞争称之为非临界竞争。 例 出现竞争的电路图和时间图

F = AC + BC 且 A = B = 1(仅考虑信号C的影响) 例 F = AC + BC 且 A = B = 1(仅考虑信号C的影响) A B C AC BC F & 1 ≥1

3.4.2 险象 Hazard 一、静态险象( Static Hazards ) 由于临界竞争的存在,在输出端得到稳定输出之前,输出中有一短暂的错误输出(干扰),这种现象称之为险象。通常将险象分为静态险象和动态险象两种类型。 一、静态险象( Static Hazards ) 在输入信号变化时,按逻辑表达式的输出不应有变化的情况下,实际上会在输出端产生一个“1”或“0”的窄脉冲的情况,则称之为静态险象。它可进一步分为: ⑴ 功能险象 ⑵ 逻辑险象

⒈ 功能险象 例 如图所示 F = AC + BC, 设 A=1 当 BC :00 →11 时,F应当恒为1 产生的条件: ⒈ 功能险象 产生的条件: ① 有K(K >1)个信号同时发生变化; ② 变化的K个变量组合所对应的2k个mi中必定既有1,又有0; ③ 输入变量变化前后的稳态输出相同。 ≥1 F 例 如图所示 F = AC + BC, 设 A=1 当 BC :00 →11 时,F应当恒为1 情况一:ABC:100 →110 →111 则 F: 1 →1 →1 无险象 情况二:ABC:100 →101 →111 则 F: 1 →0 →1 有险象 A AC & 1 C C 1 1 & B BC

⒈ 功能险象 例 如图所示 F = AC + BC, 设 A=1 当 BC :00 →11 时,F应当恒为1 产生的条件: ⒈ 功能险象 产生的条件: ① 有K(K >1)个信号同时发生变化; ② 变化的K个变量组合所对应的2k个mi中必定既有1,又有0; ③ 输入变量变化前后的稳态输出相同。 例 如图所示 F = AC + BC, 设 A=1 当 BC :00 →11 时,F应当恒为1 情况一:ABC:100 →110 →111 则 F: 1 →1 →1 无险象 功能险象是逻辑函数所固有的,它无法用改变设计的方法消除,只能通过控制输入信号的变化次序来避免。 情况二:ABC:100 →101 →111 则 F: 1 →0 →1 有险象 1 1

⒉ 逻辑险象 产生的条件: 例 如图所示 F = AC+BC, 当 A = B = 1,F = C + C ≡1。 ⒉ 逻辑险象 产生的条件: ① 仅有一个输入信号发生变化; ② 输入变量变化前后的稳态输出相同。 例 如图所示 F = AC+BC, 当 A = B = 1,F = C + C ≡1。 A B C AC BC F & 1 ≥1 实际上,当 C: 1 → 0 时 F 产生险象。

总之,静态险象的产生是: 由于同一个输入信号经过不同的路径又会合到同一个门上的竞争所引起的。 在电路中,若输入信号变化前后,稳态的输出均为1,且在1的输出上出现一个负向窄脉冲,则该险象称为静态 1 险象,如前例所示 ; 反之若稳态输出为0,且在0的输出上出现一个正向窄脉冲,则该险象称为静态 0 险象,如下例所示。

如图所示 F = (A + B + C) (C + D) (B + D) 当 A = B = D = 0 时, 则 F = C·C ≡ 0 例 具有静态 0 险象的电路及时间图 如图所示 F = (A + B + C) (C + D) (B + D) 当 A = B = D = 0 时, 则 F = C·C ≡ 0 实际上,当 C :0 → 1 时,F 产生静态 0 险象。 A B D C P1 P2 F P3 1 ≥1 &

二、动态险象 ( Ddynamic Hazards ) 在多级组合逻辑电路中,若输入的变化通过多条路径向输出端会合时,使在输出稳定之前输出变化三次,其间经过暂时状态01或者10,这种险象称之为动态险象。 输入变化的第一次会合只可能产生静态险象,只有在产生了静态险象,输入变化的再一次会合,才有可能产生动态险象。 动态险象是由静态险象引起的,它也是竞争的结果。 消除了静态险象,则动态险象也不会出现。

例 F = (A+B) (B+C) + B 当 A = C = 0 时 F = BB + B P1 P2 P3 F 1 ≥1 &

3.4.3 险象的判别 Finding Static Hazards 一、卡诺图判别法 Using Maps 用卡诺图可以判别出两级与或电路和或与电路是否存在静态险象。 ⒈ 静态 1 险象判别 在两级与或电路或两级“与非—与非”电路中只可能出现静态 1 险象。 在卡诺图中,与或式中的每个与项对应于圈1的一个卡诺圈,如果两个卡诺圈存在着部分相切,而这个相切的部分又没有被另外的卡诺圈所包含,则该电路必然存在静态 1 险象。

例 静态 1 险象的判别与消除电路 F = AC + BC 当 A = B = 1 时 例 静态 1 险象的判别与消除电路 F = AC + BC 当 A = B = 1 时 C F A B AC BC & 1 ≥1 AB C 两圈相切于在变量C的交替面,当C由1→0时,BC先由1 →0而AC尚未由0 →1,使F产生一个负向脉冲 1

例 静态 1 险象的判别与消除电路 F = AC + BC 当 A = B = 1 时 F = AC + BC + AB F F 例 静态 1 险象的判别与消除电路 F = AC + BC 当 A = B = 1 时 C F A B AC BC & 1 ≥1 C F A B AC AB & 1 ≥1 BC AB C 增加与项AB,当AB=11时, 无论 C 如何变化,使输出F 总是1,从而消除了险象。 1 F = AC + BC + AB

⒉ 静态 0 险象判别 在两级或与电路或两级“或非—或非”电路中只可能出现静态 0 险象。 ⒉ 静态 0 险象判别 在两级或与电路或两级“或非—或非”电路中只可能出现静态 0 险象。 在卡诺图中,按照圈0单元的卡诺圈是否存在着部分相切,而这个相切的部分又没有被另外的卡诺圈所包含,则该电路必然存在静态 0 险象。 例 如图所示电路 F = (A+B+C) (C+D) (B+D)

F = (A+B+C) (C+D) (B+D) 静态 0 险象的判别与消除电路 P1 D P2 P3 F & ≥1 1 两圈相切于在变量D的交替面 两圈相切于在变量C的交替面 两圈相切于在变量B的交替面 有三处相切,对应着三个静态0险象;分别增加三个卡诺圈,使输出F总是0,从而消除险象。 F = (A+B+C) (C+D) (B+D) (A+B+D) (A+C+D) (B+C)

二、逻辑表达式判别法 如果电路中存在出现险象的可能性,其逻辑表达式有如下特点: ⑴ 当某一变量同时以原变量和反变量的形式出现在逻辑表达式中,则该变量就具备了竞争的条件。 ⑵ 保留被研究变量,消去其他变量(其他变量取某些定 值,这些定值是被研究变量产生竞争的条件)。 ⑶ 若得到的表达式为下列形式之一,则有险象存在:

有险象存在的表达式形式 F = A + A —— 静态 1 险象(如A从1→0) F = A · A —— 静态 0 险象(如A从0→1) —— 动态险象 例1 F = AC + BC 式中变量 C 具备竞争条件 当 AB = 11时,C从 1→0 ,产生静态 1 险象 例2 F = AC + BC + AB 式中变量 C 具备竞争条件 但当 AB = 11时,F≡ 1,不存在险象

3.4.4 险象的消除 Designing Hazard-free circuit 消除险象的方法主要有: 一、增加多余项(与项)或乘以多余因子(或项)消除 逻辑险象 AB CD 例 F = ACD + BC + BD 1 将相切的部分均用多余的卡诺圈包含起来,则可消除静态 1 险象,得到: F = ACD + BC + BD + ABD + ABC + CD

二、在输出端连接低通环节以减弱干扰 用低通滤波电路滤掉窄脉冲干扰,但将使输出变化的上升、下级沿增大,降低工作速度也使信号质量变坏。 V1 R C

三、利用取样脉冲避开险象 改电平控制为脉冲控制。 这是在特定的电路系统中采用的方法。在一般的组合电路中慎用。 B P1 P2 F A B C SP & B SP P1 P2 H F 改电平控制为脉冲控制。 这是在特定的电路系统中采用的方法。在一般的组合电路中慎用。

3.5 常用MSI组合逻辑器件及应用 3.5.1 译码器 Decoders 译码器的一般结构如图所示: 一般译码器输入端数n 总是小于输出端数m; 输入编码为n位二进制编码; 一个n位字表示 2n 个不同的编码值,通常为:0~( 2n -1)。有时编码值可以少于 2n 个。 输入 编码字 使能 输出 译码器 映射

一、二进制译码器原理 Binary Decoder Circuit Structures 最常用的译码器是二进制译码器。又称为n- 2n译码器。 其中:输入编码为n位二进制数; 输出编码为2n取1码。 换句话说,译码器输出为2n个最小项 (最小项发生器)。

例 2-4 译码器 真值表 输入代码字:I1 、I0 输入使能:EN 输出代码字:Y3 Y2 Y1 Y0 功能描述:当 EN = 1 例 2-4 译码器 真值表 输 入 输 出 EN I1 I0 Y3 Y2 Y1 Y0 0 d d 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 输入代码字:I1 、I0 输入使能:EN 输出代码字:Y3 Y2 Y1 Y0 功能描述:当 EN = 1 且输入代码字是i的二进制表示, 则输出Yi (i为十进制数)位为1, 其他位均为0。 逻辑图 I0 I1 Y1 Y0 Y2 Y3 EN & 1 Y0 Y1 Y2 Y3 I0 I1 EN 2-4 译码器 逻辑框图

二、MSI译码器 1.双2-4译码器74LS139 输 入 输 出 /G B A /Y3 /Y2 /Y1 /Y0 1 d d 0 0 0 输 入 输 出 /G B A /Y3 /Y2 /Y1 /Y0 1 d d 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 /1Y0 /1Y1 /1Y2 /1Y3 /1G 1A 1B 1 & 74LS139 1G 2G 1A 1B 2B 2A 1Y2 1Y0 2Y0 2Y1 2Y2 2Y3 1Y1 1Y3 1 2 3 15 14 13 4 5 6 7 9 12 11 10

2. 3-8 译码器74LS138 74LS138真值表 输 入 输 出 G1 /G2A /G2B C B A 输 入 输 出 G1 /G2A /G2B C B A /Y7 /Y6 /Y5 /Y4 /Y3 /Y2 /Y1 /Y0 0 d d d d d 1 1 1 1 1 1 1 1 d 1 d d d d d d 1 d d d 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1

/Y0 /Y1 74LS138 /Y2 /Y3 /Y4 /Y5 A /Y6 B /Y7 C G1 /G2A /G2B & G1 Y0 G2A 15 14 13 12 7 11 10 Y4 Y5 Y6 Y7 9 B C G2A G2B

译码器74LS138的使用要点 74LS138的输出信号为低有效,它有三个使能端输入端(G1、/G2A、/G2B),只有在三个使能输入全部有效时,才能有正确的有效输出。 74LS138的内部功能可用逻辑表达式描述如下: Yi = G1 ∙ G2A ∙ G2B ∙ mi 其中,Yi为内部输出编码字的第i位, mi为输入变量C、B、A的最小项。 74LS138 G1 A 6 4 5 1 2 3 Y2 Y0 Y1 Y3 15 14 13 12 7 11 10 Y4 Y5 Y6 Y7 9 B C G2A G2B 74LS138 外部信号之间的关系为: / Yi = G1 ∙ /G2A ∙ /G2B ∙ mi

3. BCD译码器74LS49 (Severn-segment Decoders) 74LS49是常用的一种BCD码MSI器件,它的 输入编码为4位的BCD码,输出为7位编码字。 C d e a b f g 七段显示器件结构

74LS49 真值表 输 入 输 出 /BI D C B A a b c d e f g 0 d d d d 0 0 0 0 0 0 0 输 入 输 出 /BI D C B A a b c d e f g 0 d d d d 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 0 2 1 0 0 1 0 1 1 0 1 1 0 1 3 1 0 0 1 1 1 1 1 1 0 0 1 4 1 0 1 0 0 0 1 1 0 0 1 1 5 1 0 1 0 1 1 0 1 1 0 1 1 6 1 0 1 1 0 0 0 1 1 1 1 1 7 1 0 1 1 1 1 1 1 0 0 0 0 8 1 1 0 0 0 1 1 1 1 1 1 1 9 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 74LS49 真值表 C d e a b f g

⒈ 74LS49七段译码器的逻辑图 参见书P118图3.51。 ⒉ 逻辑符号 74LS49 a b c d e f g BI A B C D ⒉ 逻辑符号 74LS49 A 3 5 1 2 b a c 10 9 12 8 6 d e f g 13 B C BI 4 11 D

设计BCD七段数码显示译码器 真值表如下所示: 输入信号:BCD码DCBA 输出信号:控制数码管发光的信号 a、b、c、d、e、f、g d

输 入 输 出 /BI D C B A a b c d e f g 0 d d d d 0 0 0 0 0 0 0 0 1 0 0 0 0 输 入 输 出 /BI D C B A a b c d e f g 0 d d d d 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 0 2 1 0 0 1 0 1 1 0 1 1 0 1 3 1 0 0 1 1 1 1 1 1 0 0 1 4 1 0 1 0 0 0 1 1 0 0 1 1 5 1 0 1 0 1 1 0 1 1 0 1 1 6 1 0 1 1 0 0 0 1 1 1 1 1 7 1 0 1 1 1 1 1 1 0 0 0 0 8 1 1 0 0 0 1 1 1 1 1 1 1 9 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 d d d d d d d 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 C d e a b f g

由真值表填出卡诺图 输 入 输 出 D C B A a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 输 出 D C B A a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 0 d d d d d d d 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 d 1 d 1 d a c b 1 d 1 d 1 d d e f C d e a b f g 1 d g

反函数的最小覆盖(为得到与电路对应的“或与”式) DC BA 1 d 1 d 1 d a b c 1 d 1 d 1 d 1 d d e f g

a = (C + A)( D + C + B + A) (D + B) 由卡诺图写出表达式,如下: DC BA 1 d 1 d 1 d a b c a = CA + DCBA + DB a = (C + A)( D + C + B + A) (D + B) b = CBA + CBA + DB b = (C + B + A)(C + B + A) (D + B) c = CBA + DC c = C + B + A)(D + C)

d = (C + B + A)(C + B + A) (C + B + A) 由卡诺图写出表达式,如下: DC BA 1 d 1 d 1 d 1 d d e f g d = CBA + CBA + CBA d = (C + B + A)(C + B + A) (C + B + A) e = A + CB e = A( C + B) g = CBA + DCB g = (C + B + A)(D + C + B) f = BA + CB + DCA f = (B + A)(C + B)(D + C + A)

三 、二进制译码器的级联 Cascading Binary Decoders 例 用两个 3-8 译码器组成 4-16 译码器。 N3N2N1N0 4-16 译码器 DEC15DEC14 ••• DEC1DEC0

用两片74LS138 U1和U2级联起来,见左图。 ①将输入的最高位N3分别接到U1. /G2A及U2 用两片74LS138 U1和U2级联起来,见左图。 ①将输入的最高位N3分别接到U1./G2A及U2 .G1; ②整个级联电路的使能输入/EN分别接到U1 ./ G2B和U2 ./ G2A 。 /DEC0 /DEC1 /DEC2 /DEC4 /DEC6 /DEC5 /DEC7 /DEC8 /DEC9 /DEC11 /DEC14 /DEC13 /DEC15 U1 +5V R N0 N1 N2 N3 /EN /DEC3 /DEC10 /DEC12 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B U2

当 /EN = 0时 ①若N3 = 0 则U2的输出无效(输出1), U1的输出为 按N2N1N0译码: /DECi = mi ( i = 0 ~ 7 ) ②若N3 = 1 则U1的输出无效(输出1), U2的输出为 按N2N1N0译码: /DECi = mi ( i = 8 ~ 15 ) /DEC0 /DEC1 /DEC2 /DEC4 /DEC6 /DEC5 /DEC7 /DEC8 /DEC9 /DEC11 /DEC14 /DEC13 /DEC15 U1 +5V R N0 N1 N2 N3 /EN /DEC3 /DEC10 /DEC12 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B U2

总的级联译码器的输出逻辑表达式为: /DECi = /EN + mi i = 0 ~ 15 式中 :mi 为 N3N2N1N0 的对应最小项。 U1 +5V R N0 N1 N2 N3 /EN /DEC3 /DEC10 /DEC12 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B U2

例 设计一个 5-32 二进制译码器。 采用四片 74LS138 和一片74LS139组成一个树形结构的级联译码器。 例 设计一个 5-32 二进制译码器。 采用四片 74LS138 和一片74LS139组成一个树形结构的级联译码器。 树形结构的5-32译码器: ① 将输入的高位地址N4N3作为片选信号分别接到 U2 ~U5 的/G2A; ②将输入的低位地址N2N1N0作为片内信号分别接到 U2 ~U5的地址端CBA。

74LS138 U1 U2 U5 EN1 /EN2 ½ 74LS139 /EN0 ~7 /EN3 /EN8 ~15 N3 /EN16 ~23 1G 1A 1B 1Y2 1Y0 1Y1 1Y3 EN1 /EN2 /EN3 /EN0 ~7 /EN8 ~15 N4 U1 /EN16 ~23 /EN24 ~31 /DEC0 /DEC1 /DEC2 /DEC4 /DEC6 /DEC5 /DEC7 /DEC27 /DEC30 /DEC29 /DEC31 U2 /DEC3 /DEC26 /DEC28 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B U5 /DEC25 /DEC24

总的级联译码器的输出逻辑表达式为 /DECi = EN1 + /EN2 + /EN3 + mi i = 0 ~ 31 式中 mi 为 N4N3N2N1N0 的对应最小项。 此例中的树形结构又称为二级译码,速度较前例 4-16 译码器的一级译码要慢。 当 n数更大时,可以采用树形结构的多级译码方案。 例 设计一个 9-512 二进制译码器。 9 512 9-512 译码器

四、MSI二进制译码器应用举例 (Decoder Applications) ⒈ 用二进制译码器实现组合逻辑函数 (Implementing Logic Functions Using Decoders) 因为 n-2n 二进制译码器的输出对应于 n 变量函数的 2n 个最小项,所以可以借用此器件来实现任何组合逻辑函数。

例1 用译码器74LS138实现 F(x,y,z) = ∑m(1,4,6,7) 逻辑图如下所示: 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B & F z y x +5V 74LS20 R

例2 设计一个一位全加器。 设: 由真值表得到 Si = ∑m3(1,2,4,7) Ci = ∑m3(3,5,6,7) 例2 设计一个一位全加器。 设: 输入端分别为:被加数输入xi、加数输入yi 、 低位向本位的进位输入Ci-1 输出端分别为:本位的和输出Si 本位向高位的进位输出Ci 则一位全加器的真值表如下所示。 Ci-1yi xi Si Ci 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 由真值表得到 Si = ∑m3(1,2,4,7) Ci = ∑m3(3,5,6,7)

Si = ∑m3(1,2,4,7) Ci = ∑m3(3,5,6,7) 一位全加器逻辑图 由一片74LS138和一片74LS20组成的一位全加器。 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B ≥1 si xi yi Ci-1 +5V ½ 74LS20 ci 一位全加器逻辑图 R Si = ∑m3(1,2,4,7) Ci = ∑m3(3,5,6,7)

⒉ 将译码器作为数据分配器(Demultiplexers) ⑴ 数据分配器工作原理 如图所示为四路数据分配器的等效说明电路和逻辑图。 等效电路 Y3 Y1 Y2 I Y0 逻辑图 Y3 Y2 Y1 Y0 A1 A0 I

四输出多路分配器逻辑符号 图中: I:传送数据输入端; & A1,A0:地址码输入端; Y3,Y2,Y1,Y0: 输入的数据通道 这种分配器被称为 “1~4多路分配器”。 表达式为:Yi = I 其中: i 为地址码 An-1……A0 的十进制值。

⑵ 用二进制译码器作为数据分配器 例1 用1/2 74LS139作为四输出数据分配器。 ⑵ 用二进制译码器作为数据分配器 例1 用1/2 74LS139作为四输出数据分配器。 将使能端G 作为传送数据输入端,即 I 接至 G 端; 将地址输入端作为地址码输入端,即 A0位接A 地址端; A1 位接B 地址端。 则: /Yi = I i 为地址码 A1A0 的十进制数 74LS139 1G 2G 1A 1B 2B 2A 1Y2 1Y0 2Y0 2Y1 2Y2 2Y3 1Y1 1Y3 A0 I A1 数据输出

例2 用74LS138作为八输出数据分配器 将G作为数据输入端,G2A、G2A端接地; 将地址端CBA分别接地址码A2A1A0位。 则: yi = I i 为地址码 A2A1A0 的十进制数 74LS138 G1 A Y2 Y0 Y1 Y3 Y4 Y5 Y6 Y7 B C G2A G2B I A0 A1 A2 数据输出 “1”

3.5.2 编码器 Encoders 当译码器的输出编码位数少于输入编码位数时,这种器件称为编码器。 通用结构如图所示,其中输入端为2n 个,输出为 n 位二进制数,因此它的输入输出关系正好与译码器的相反。 约束条件:同一时刻只能有一个输入端有效。 2n位输入 n位输出 二进制编码器原理图 I0 I1 I2n-1 y0 yn-1 y1 二进制 编码器

Y0 = I1 + I3 + I5 + I7 Y1 = I2 + I3 + I6 + I7 Y2 = I4 + I5 + I6 + I7 例 一个8位输入、3位输出的编码器。 设计一个8-3二进制编码器。 输入: I0 ~ I7,输出: Y0 ~ Y2 ① 简化真值表 ② 输出函数表达式 Y0 = I1 + I3 + I5 + I7 Y1 = I2 + I3 + I6 + I7 Y2 = I4 + I5 + I6 + I7 当且仅当输入代码中的 一位为 1 ,输出编码不 可能重复。 I7 I6 I5 I4 I3 I2 I1 I0 Y2 Y1 Y0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1

例 Y1 = I2+I3+I6+I7 即 Y1 = I010+I011+I110+I111 ③电路图 ④ 逻辑符号 ≥ 1 8-3 编码器 Y0 Y2 Y1 I0 I1 I2 I3 I5 I6 I7 I4 Ii与Yj之间的关系:使Yj 为 1 的是那些Ii ,其下标 i 的二进制数的第 j 位均为1。 例 Y1 = I2+I3+I6+I7 即 Y1 = I010+I011+I110+I111

根据前述的输出与输入下标的关系可以直接写出16-4 编码器的输出函数表达式,如下: Y0 = I1 + I3 + I5 + I7 + I9 + I11 + I13 + I15 Y1 = I2 + I3 + I6 + I7 + I10 + I11 + I14 + I15 Y2 = I4 + I5 + I6 + I7 + I12 + I13 + I14 + I15 Y3 = I8 + I9 + I10 + I11 + I12 + I13 + I14 + I15

编码器应用举例 设计一个输血——受血判别器。 输入变量: 输血者血型 Ai、 Bi、 ABi 、 Oi 受血者血型 Ao、 Bo、 ABo 、 Oo 输出变量: 配血成功 F 编码: A—00、 B—01、 AB—10 、 O—11 输血者血型编码器 Ai Bi ABi Oi 受血者血型编码器 F G4 G3 G2 G1 输血—受血判别器

编码器应用举例 F = G4G3 + G2G1 +G3G2G1 + G4G3G1 G4 G3 G2 G1 F 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 F = G4G3 + G2G1 +G3G2G1 + G4G3G1 1

优先权编码器 Priority Encoders 如果在任一时刻,允许 2n 个部件中有多个器件同时提出请求,则 2n – n 二进制编码器产生的 n 位编码必定有重复,而不能与输入请求的条件一一对应了。 为此,应对输入端进行优先权分配,使编码器仅响应请求中优先权最高的有效输入端,并产生相应的输出编码。这种具有指定输入端优先权顺序的编码器。称为优先权编码器。

8-3 优先权编码器的结构框图如下所示: 设 优先权为: I7(最高) →I6 → I5 → I4 → I3 → I2 → I1 → I0 设 优先权为: I7(最高) →I6 → I5 → I4 → I3 → I2 → I1 → I0 I7 I6 I0 H7 H6 H0 A2 A1 A0 优 先 权 处 理 逻 辑 8-3 二进制 编码器 74LS148 I0 I1 I2 I3 I5 I6 I7 I4 EI A2 A0 A1 EO GS

② 真值表 输 入 输 出 /EI /I0 /I1 /I2 /I3 /I4 /I5 /I6 /I7 /A2 /A1 /A0 /GS /EO 1 d d d d d d d d 1 1 1 1 1 0 d d d d d d d 0 0 0 0 0 1 0 d d d d d d 0 1 0 0 1 0 1 0 d d d d d 0 1 1 0 1 0 0 1 0 d d d d 0 1 1 1 0 1 1 0 1 0 d d d 0 1 1 1 1 1 0 0 0 1 0 d d 0 1 1 1 1 1 1 0 1 0 1 0 d 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0

③ 优先权处理逻辑 H7 = I7 H6 = I7 I6 H5 = I7 I6 I5 H4 = I7 I6 I5 I4 ③ 优先权处理逻辑 输入信号经优先权处理逻辑处理得到中间信号: H7、H6、 H5、 H4、 H3、 H2、 H1、 H0 Hi 与Ii的关系是:当 Ii 是最高优先权且为 1 时,Hi 才为 1。 即: H7 = I7 H6 = I7 I6 H5 = I7 I6 I5 H4 = I7 I6 I5 I4 H3 = I7 I6 I5 I4 I3 H2 = I7 I6 I5 I4 I3 I2 H1 = I7 I6 I5 I4 I3 I2 I1 H0 = I7 I6 I5 I4 I3 I2 I1 I0 ④ 输出编码为: A2 = H4 + H5 + H6 + H7 A1 = H2 + H3 + H6 + H7 A0 = H1 + H3 + H5 + H7 从上式很容易看出:如果有多个输入请求有效,若 Ii 为其中优先权最高者,则输出编码必定对应 Ii 的下标量。

⑤ 输出函数表达式 ⑥ 输出使能为:EO = I0 + I1 + …+ I7 A2 = H4 + H5 + H6 + H7 ⑤ 输出函数表达式 A2 = H4 + H5 + H6 + H7 = I7 I6 I5 I4 + I7 I6 I5 + I7 I6 + I7 = I4 + I5 + I6 + I7 A1 = H2 + H3 + H6 + H7 = I7 I6 I5 I4 I3 I2 + I7 I6 I5 I4 I3 + I7 I6 + I7 = I5 I4 I2 + I5 I4 I3 + I6 + I7 A0 = H1 + H3 + H5 + H7 = I7 I6 I5 I4 I3 I2 I1 + I7 I6 I5 I4 I3 + I7 I6 I5 + I7 = I6 I4 I2 I1 + I6 I4 I3 + I6 I5 + I7 ⑥ 输出使能为:EO = I0 + I1 + …+ I7

优先权编码器的级联 若需要输入端 n>8 的编码器,则可用多片74LS148级联起来。 RA2 = G3A2 + G2A2 + G1A2 + G0A2 片内编码 RA1 = G3A1 + G2A1 + G1A1 + G0A1 A2A1A0 RA0 = G3A0 + G2A0 + G1A0 + G0A0 构成 RA4 = G3GS + G2GS 片间 GS RA3 = G3GS + G1GS 编码构成

74LS148 RA4 U3 RA3 RA2 U2 RA1 RA0 U1 U0 ≥1 ≥1 ≥1 RGS I7 I6 I0 EI A2 A0 /REQ31 /REQ30 /REQ24 /REQ23 /REQ22 /REQ16 /REQ15 /REQ14 /REQ8 /REQ7 /REQ6 /REQ0 U1 U0 U3 U2 I7 I6 I0 EI A2 A0 A1 EO GS /G3A2 /G2A2 /G3A1 /G2A1 /G3A0 /G2A0 /G1A2 /G1A1 /G1A0 /G0A2 /G0A1 /G0A0 RA4 ≥1 RA3 /G0GS /G1GS /G2GS /G3GS ≥1 RA2 RA1 RA0 RGS ≥1

优先权编码器应用举例 在多处理器系统中,需对各处理器争用总线作出仲裁。 为提高仲裁速度,通常采用并行优先权仲裁方式。 在争用总线的各处理器进行优先权分配后,通过优先权编码器和译码器进行裁决。 逻辑电路图参见书P128图3.62。

3.5.3 三态缓冲器 Three-State Buffers 三态是指器件的输出有三种状态: 即逻辑0 (L电平)、逻辑1 (H电平)和高阻抗状态(或悬浮态)。 最基本的三态器件是三态缓冲器,又称为三态门或三态驱动器。 三态缓冲器可使多个源数据分时共享一根公用线,为了避免多个源数据同时驱动共享线,则不能在使能一个源数据的同时使能另一个源数据。

三态缓冲器逻辑符号 矩形符号 变形符号 原码输出 高有效使能 低有效使能 反码输出 1 EN

8 个数据源共享一根数据线 P Q R S T U V W 74LS138 SDATA EN1 /SELP G1 Y0 /EN2 /SELQ B C G2A G2B SDATA EN1 /EN2 /EN3 /SELP /SELQ /SELR /SELS /SELT /SELU /SELV /SELW SSRC0 SSRC1 SSRC2 P Q R S T U V W

一、标准的SSI及MSI三态缓冲器 最常使用共享线的场合是多位数据总线。 例如:在8位微处理机系统中,数据总线的宽度是8 bit,外围器件通常一次置8位数据到总线上。这样外围器件都在同一时刻使能8个三态缓冲器,因此,独立的使能输入端就都多余了。为减少总线应用中三态缓冲器的芯片数及连线,MSI三态缓冲器中包含多个三态缓冲器并共用使能输入。

MSI 74LS541为八三态缓冲器 74LS541 /G1 /G2 A1 Y1 A2 Y2 A3 Y3 A4 Y4 A5 Y5 A6 Y6

二、 MSI 三态缓冲器的应用举例 ⒈ 多端口输入 A1 74LS541 A2 A3 A4 A5 A6 A7 A8 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 G1 G2 READ INSEL1 INSEL2 INSEL3 ••• DB [ 0~7 ] D1 D0 D2 D3 D4 D5 D6 D7 用户输入 微处理器

⒉双向总线收发器 74LS245 八三态总线收发器 74LS245 /G DIR A1 A2 A3 A4 A5 A6 A7 A8 B5 B4 B→A ⒉双向总线收发器 74LS245 八三态总线收发器 A1 74LS245 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B4 B5 B6 B7 B8 G DIR

3.5.4 多路选择器 Multiplexers 多路选择器又称数据选择器,是一个数字开关,可以从 n 路源数据中选择一路送至输出端。 假设有 n 组输入数据源,每组数据源的宽度为 b 位二进制数,则反映输出关系的框图及等效电路如下图所示。 其中高有效使能端EN的功能为: 当EN = 0 时,所有的输出为 0。

… ① 多路选择器的结构框图 ② 多路选择器的等效功能 例 1KB RAM:b = 8 n = 1024 s = 10 n = 2s 使能 ① 多路选择器的结构框图 ② 多路选择器的等效功能 使能 EN 1D0 1D1 1Dn-1 2D0 2D1 2Dn-1 bD0 bD1 bDn-1 1Y 2Y bY SEL EN … s 选择 SEL b D0 b 数 据 输 出 D1 n 组 b 位 数据源 b b Dn-1 例 1KB RAM:b = 8 n = 1024 s = 10 n = 2s

KY = ∑EN · mi · KDi K = 1,2,…,b ③ 多路选择器输出逻辑表达式 从 n 组数据源中选择哪一组源数据传送到输出端,由选择输入端的输入值 S 决定。 S 与 n 的关系为: n = 2s (或 S = log2n) S 位选择信号有 2s 种组合(即最小项)。每一种组合对应选择 n ( = 2s )组输入源数据中的一组。逻辑表达式为: i = 0 n - 1 KY = ∑EN · mi · KDi K = 1,2,…,b 式中:KY为输出位, KDi是第 i 组输入源数据的第K位, mi 是 S 位选择输入变量的最小项。

③ 多路选择器的原理图 & EN KD0 KD1 KDn-1 S - n 二进制译码器 S m0 m1 mn-1 KY 输入选择 ≥ 1

一、标准的中规模多路选择器 ⒈ 八输入 1 位输出多路选择器74LS151 ① 简化真值表 一个低有效使能输入端/EN 三个选择输入端C、B、A 8 个数据输入端 D7~D0 2 个互反输出 Y、/Y 输 入 输 出 /EN C B A Y /Y 1 d d d 0 1 0 0 0 0 Do Do 0 0 0 1 D1 D1 0 0 1 0 D2 D2 0 0 1 1 D3 D3 0 1 0 0 D4 D4 0 1 0 1 D5 D5 0 1 1 0 D6 D6 0 1 1 1 D7 D7 ① 简化真值表

② 逻辑电路图 Y /Y /EN D0 D1 D2 D3 D4 D5 D6 D7 A B C

③ 逻辑符号 EN A B C D0 Y 74LS151 D1 D2 D3 D4 D5 D6 D7

⒉ 二输入 4 位多路选择器 74LS157 ① 简化真值表 ② 逻辑电路图 ③ 逻辑符号 输 入 输 出 /G S 1Y 2Y 3Y 4Y ① 简化真值表 ② 逻辑电路图 输 入 输 出 /G S 1Y 2Y 3Y 4Y 1 d 0 0 0 0 0 0 1A 2A 3A 4A 0 1 1B 2B 3B 4B 1Y 2Y 3Y 4Y /G S 1A 1B 2A 2B 3A 3B 4A 4B ③ 逻辑符号 G S 1A 1B 2A 2B 3A 3B 4A 4B 1Y 2Y 3Y 4Y

⒊ 四输入 2 位多路选择器 74LS153 ① 简化真值表 ② 逻辑电路图 输 入 输 出 /1G /2G B A 1Y 2Y 1 d d ① 简化真值表 ② 逻辑电路图 /1G A B 1Y 2Y 1C0 1C1 1C2 1C3 2C0 2C1 2C2 2C3 /2G 输 入 输 出 /1G /2G B A 1Y 2Y 1 d d 0 0 0 0 0 1C0 2C0 0 0 1 1C1 2C1 0 1 0 1C2 2C2 0 1 1 1C3 2C3

③ 逻辑符号 74LS153 A B 1C0 1Y 2Y 1G 1C1 1C2 1C3 2G 2C0 2C1 2C2 2C3

⒋ 三态输出多路选择器 具有三态输出的多路选择器,当其使能输入无效时,将强制输出端处于高阻抗。 ⒋ 三态输出多路选择器 具有三态输出的多路选择器,当其使能输入无效时,将强制输出端处于高阻抗。 有三态输出端的多路选择器的输出端可以直接连接在一起(参见举例),使得用这种器件可以方便第组成更大的多路选择器MUX。 常用的这种器件有74LS251,74LS253和74LS257等。

二、多路选择器的扩展 Expanding Multiplexers 1. 使用无三态输出的多路选择器及译码器 例:设计一个32输入 1 位多路选择器。 5个选择输入:XA4~XA0 32路输入:X31~X0 采用 4 个74LS151,每个器件可处理8个输入,这样将输入分为4组,每组由一个74LS151处理 选择输入的低三位XA2~XA0 连接到 4 个74LS151的C、B、A端,决定组内选择 选择输入的高二位XA4、XA3 通过一级2-4译码器1/2 74LS139产生 4 个输出,每个输出连接到一个74LS151的使能输入端

用74LS151组成的 32输入 1 位多路选择器 74LS151 74LS139 XA0 XA1 XA2 X0 X7 X8 1Y0 EN A B C ••• X0 X7 Y X8 X15 X16 X23 X24 X31 74LS151 XA1 XA2 XA0 1G 1A 1B 1Y0 1Y1 1Y2 1Y3 XA3 XA4 /XEN 74LS139 ≥1 XOUT

⒉ 使用三态输出的多路选择器及译码器 例:用74LS251设计一个32输入 1 位多路选择器。 ⒉ 使用三态输出的多路选择器及译码器 例:用74LS251设计一个32输入 1 位多路选择器。 当输出处于高阻态时,该输出线可以与其他输出线直接连接在一起,并且不影响其他输出线的高、低电平。 在任意时刻只能有一个74LS251被74LS139使能,此时输出线XOUT和/XOUT上的逻辑值就是该被使能的74LS251的输出值。 当输入使能/XEN无效时,所有74LS251的输出为高阻态,输出线XOUT和/XOUT上的逻辑值不确定。

用74LS251组成的 32输入 1 位多路选择器 74LS251 74LS139 XA0 XA1 XOUT XA2 /XOUT X0 X7 EN A B C ••• X0 X7 Y X8 X15 X16 X23 X24 X31 74LS251 XA1 XA2 XA0 1G 1A 1B 1Y0 1Y1 1Y2 1Y3 XA3 XA4 /XEN 74LS139 XOUT /XOUT

⒊ 采用多级MUX的树形结构 将多路选择器MUX分级连接,低一级(前一级) MUX的输出作为其高一级(后一级) MUX的数据输入。 各级的使能输入可以同一控制。

三、用多路选择器实现任意组合逻辑函数 例1 F (x,y,z) = ∑ m3 (1,2,6,7) ① 选择 S = 3 的MUX 74LS151 ,则: F = D0 ·m0 + D1 ·m1 + D2 ·m2 + D3 ·m3 + D4 ·m4 + D5 ·m5 + D6 ·m6 + D7 ·m7 把 x、y、z 分别连到 74LS151 的 C、B、A 选择端,并使数据输入端为: D0 = D3 = D4 = D5 = 0 D1 = D2 = D6 = D7 = 1 则输出端Y的输出即为F。 +5V R EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F z y x

②用“四选1”多路选择器74LS153实现该三变量逻辑函数 将函数 F 写成变量表达式: F (x,y,z) = ∑ m3 (1,2,6,7) = x y z + x y z + x y z + x y z = x y z + x y z + x y = ( x y ) • z + ( x y ) • z + ( x y ) • 0 + ( x y ) •1 x、y 作为地址选择变量A、B, z、z、0、1作为MUX的源数据输入D, 则有: F A B 1C0 1G 1C1 1C2 1C3 y x ½ 74LS153 1Y i=1 3 F = ∑mi Di = m0 D0 + m1 D1 + m2 D2 + m3D3 +5V 1 z R 式中 mi 为x、y的最小项, Di为: D0 = z, D1 = z, D2 = 0, D3 = 1 电路逻辑图如图所示。

mi x y z m1 m2 m3 m6 0 0 0 1 1 1 1 z 用真值表、卡诺图的方法,采用74LS153实现逻辑函数。 Di 例2 F (x,y,z) = ∑m3 (1,2,3,6) 选用 4 输入 1 位多路选择器74LS153。 ① 列出函数F的真值表 F A B 1C0 1G 1C1 1C2 1C3 +5V y x 1 z ½ 74LS153 1Y mi x y z Di m1 m2 m3 m6 0 0 0 1 1 1 1 D0 = z D1 = 1 D3 = z ② XY的卡诺图 1 z y x

例2 F (x,y,z) = ∑m3 (1,2,3,6) ③ 直接列出函数F的卡诺图 z xy 1 1 1 F A B 1C0 1G 1C1 1C2 1C3 +5V y x 1 z ½ 74LS153 1Y m0 m1 m3 m2 D0 = z D1 = 1 D2 = 0 D3 = z

例3 F(w,x,y,z) = ∑m4 (3,4,5,6,7,9,10,12,14,15) ① 选择有三个输入选择变量的 8 输入 1 位多路选择器74LS151。将 w、x、y 分别接入地址端,z 接入数据端。 wx yz EN A B C D0 Y 74LS151 D1 D2 D3 D4 D5 D6 D7 F y x w 1 1 1 + 5V 1 z m0 m2 m6 m4 m1 m3 m7 m5 D0 = 0 D1 = z D2 = 1 D3 = 1 D4 = z D5 = z D6 = z D7 = 1

例3 F(w,x,y,z) = ∑m4 (3,4,5,6,7,9,10,12,14,15) ② 选择4 输入 1 位多路选择器74LS153。 将w、x、y 作为地址端,z 作为数据端。 wx F A B 1G 1C1 1C2 1C3 y x 74LS153 2Y ≥1 2C0 2C1 2C2 2C3 1C0 1Y 2G yz 1 1 1 1 m0 m2 m2 m0 w 1 +5V z 1 m1 m3 m3 m1 当w = 0 时:D0 = 0 D1 = z D2 = 1 D3 = 1 当w = 1 时:D0 = z D1 = z D2 = z D3 = 1

例4 F(A,B,C,D) = ∑m4 (0,1,5,6,9,11,12,13) 1 1 1 m0 m2 m6 m4 m1 m3 m7 m5 EN A B C D0 Y 74LS151 D1 D2 D3 D4 D5 D6 D7 F AB CD 1 1 1 B C A m0 m2 m6 m4 1 D m1 m3 m7 m5

② 若选择 A、B、D 为地址端输入, C 为数据端输入。 EN A B C D0 Y 74LS151 D1 D2 D3 D4 D5 D6 D7 F 1 D ② 若选择 A、B、D 为地址端输入, C 为数据端输入。 AB CD m0 m2 m6 m4 1 1 1 m1 m3 m7 m5 m0 m2 m6 m4 EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F D C 1

③若选择 A、C、D 为地址端输入, B 为数据端输入。 EN A B C D0 Y 74LS151 D1 D2 D3 D4 D5 D6 D7 F 1 D ③若选择 A、C、D 为地址端输入, B 为数据端输入。 AB CD m0 m4 1 1 1 m1 m5 m3 m7 m2 m6 EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F 1 EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F D B 1

④ 若选择 B、C、D 为地址端输入, A 为数据端输入。 EN A B C D0 Y 74LS151 D1 D2 D3 D4 D5 D6 D7 F 1 D ④ 若选择 B、C、D 为地址端输入, A 为数据端输入。 AB CD m0 m4 m0 1 1 1 m1 m5 m1 m3 m7 m3 m6 m2 m2 EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F D 1 EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F D 1 EN A B C D0 Y D1 D2 D3 D4 D5 D6 D7 F D A 1

四、多路选择器与多路分配器的配合应用 多路选择器从 n 个源数据中选择一个传送到总线上。 数据分配器将接收从总线上传来的数据并分配给 m 个目的设备中的任意一个。 1 2 n-1 多路选择器 Y n-2 n-1 S1 SH SRCDATA0 SRCDATA1 SRCDATAn-2 SRCDATAn-1 SRCDATA2 SRCSELH-1~0 数据 多路分配器 I SK DSTDATA0 DSTDATA1 DSTDATAm-2 DSTDATAm-1 DSTDATA2 DSTSELK-1~0

3.5.5 奇偶校验电路 Parity Circuit 一、异或运算及异或门 Exclusive-OR Operation & Exclusive-OR Gates A⊕B = A⊕B =A⊕B = A⊕B 矩形符号 变形符号 =1 =1 =1 =1 A⊙B = A⊕B =A⊕B = A⊕B = A⊕B= A⊙B 矩形符号 变形符号 =1 =1 =1

常用的小规模异或门: ① 2输入4异或门74LS86 1A 1B 1Y 2A 2B 2Y 3A 3B 3Y 4A 4B 4Y =1 1A 5 2Y GND 6 7 1Y 3 Vcc 14 4B 13 4A 12 4Y 11 3B 10 3A 9 3Y 8 (b) 引脚图 (a) 逻辑框图

② 集电极开路输出2输入4异或非门74LS266 (a) 逻辑框图 1A 1B 1Y 2A 2B 2Y 3A 3B 3Y 4A 4B 4Y =1 1A 1B 74LS266 1 2 2Y 2A 4 5 2B GND 6 7 1Y 3 Vcc 14 4B 13 4A 12 4Y 11 3Y 10 3B 9 3A 8 (b)引脚图

二、奇偶校验电路 Parity Circuits 如果有 n 个输入变量X1,X2,… Xn 则表达式: F = X1⊕X2⊕ … ⊕ Xn 其逻辑功能为: 当输入变量为1的个数是奇数时,输出函数 F 为1 ; 当输入变量为1的个数是偶数时,输出函数 F 为0。 实现此功能的逻辑电路称为奇校验电路。

例 两种奇校验电路。 x1 x2 x3 x4 xn x1 x2 x3 x4 xn-1 xn ••• F (a)串级连接 F ••• =1 x1 x2 x3 x4 xn (a)串级连接 F ••• (b)树形结构 =1 x2 x1 x4 x3 xn xn-1 F •••

“1” 的总个数为偶数的称为偶校验Even。 三、奇偶校验电路应用举例 1. 检错 ( Error—Detecting ) 为了在数据的传输及存储中,检测出数据代码的错误,可采用奇偶编码和校验,它是在数据代码中增加一位奇偶校验位 P 后形成奇偶编码。 根据数据代码中的有效信息位和校验位中 “1” 的总个数为奇数的称为奇校验Odd; “1” 的总个数为偶数的称为偶校验Even。

9 位奇偶发生器/检验器74LS280 74LS280有奇、偶校验两个输出,因此它既可用做奇偶校验位发生器,也可用作奇偶编码的检验器。 A =1 A B C D E F G H I EVEN ODD 1 EVEN 74LS280 A B C ODD D E F G H I (b) 逻辑符号 (a) 等效逻辑图

例 采用9位奇偶发生器/检验器(74LS280)实现 在数据传输过程中9位奇偶编码和校验 D7 D6 D5 D4 D3 D2 D1 D0 /ERROR Receive Send 奇偶编码和检测 EVEN 74LS280 A B C ODD D E F G H I

2. 纠错 (Error—Correcting) 在第一章中曾讨论了海明码的纠错原理。 如 8421海明码是一组 7 位编码。 设:这 7 位海明码为 D7 D6 D5 D4 D3 D2 D1 其中 : D7、D6、D5、D3是 4 位有效信息位,它们按8421 码编码; D4、D2、D1是 3 位校验位。 则:校验和 S2、S1、S0 分别为: S2 = D7⊕D6 ⊕D5 ⊕D4 S1 = D7⊕D6 ⊕D3 ⊕D2 S0 = D7⊕D5 ⊕D3 ⊕D1 电路图参见书P150图3.93。

3.5.6 比较器 (Comparators) 大于(>)、等于(=) 、小于( <) 比较器是对两个位数相同的二进制整数进行数值比较,并判断其大小关系的逻辑器件。 比较大小关系有三种: 大于(>)、等于(=) 、小于( <) 相等比较的过程总是从高位开始比较,只有当同位比较结果相等时,才进行低位比较。因此,两个一位数的比较是整个比较器操作的基础。

一、相等的比较 NEQ = A ⊕ B /NEQ= A ⊕ B 判断两个一位二进制数是否相等,可用异或门或异或非门实现之,其逻辑表达式为: 对应的逻辑电路如图所示。 =1 NEQ A B ¼ 74LS86 =1 / NEQ A B ¼ 74LS266 同理,异或门及异或非门也可以实现两个多位数的比较。

NEQ = (A0⊕B0) + (A1⊕B1) + (A2⊕B2) + (A3⊕B3) 例 四位二进制数的相等比较器。 NEQ = (A0⊕B0) + (A1⊕B1) + (A2⊕B2) + (A3⊕B3) /NEQ = (A0⊕B0) + (A1⊕B1) + (A2⊕B2) + (A3⊕B3) = (A0⊕B0) • (A1⊕B1) • (A2⊕B2) • (A3⊕B3) 对应的逻辑电路如图所示。 =1 NEQ0 A0 B0 A1 B1 A2 B2 A3 B3 NEQ1 NEQ2 NEQ3 ≥1 NEQ01 NEQ23 NEQ

二、重复电路 Iterative Circuits 这是一种迭代设计Interative Design。 串行重复电路是一种组合逻辑电路,它包含几个同样的模块,每个模块有四种类型的输入和输出; 基本输入、基本输出、级联输入、级联输出 其中:最左边的级联输入称为边界输入, 最右边的级联输出称为边界输出。 即边界输入输出 Boundary I/O。 电路的一般结构如图所示(见下页)。

串行组合电路的一般结构 串行电路非常适用于简单、重复运算的逻辑问题, 用串行重复电路可以组成串行比较器和串行加法器等。 基本输入 级联输入 PI PO CO CI PI0 PO0 C0 PI1 PO1 C1 PIn-1 POn-1 Cn-1 Cn ••• 基本输出 级联输入 级联输出 边界输入 边界输出 基本输入 C2 串行电路非常适用于简单、重复运算的逻辑问题, 用串行重复电路可以组成串行比较器和串行加法器等。

串行电路的重复操作步骤如下: ⑴ C0 置初值,并置 i 为0; ⑵ 用Ci 和 PIi 运算得到 POi和 Ci +1 ; ⑷ 如果 i 小于 n,返回步骤⑵。 在串行重复电路中,通过提供给各个模块基本输入 PI0 ~ Pin-1 ,利用模块的串行级联完成步骤⑵~⑷的循环。 下面举例说明。

三、串行比较电路 Iterative Comparator Circuits 两个 n 位数:xi、yi ( i = 0,1, …,n-1) 相等比较。 其中: x0、 y0 为最高位 假设每步比较的结果为EQi ( i = 0,1, …,n-1) 当第 i 次比较结果相等时,EQi = 1 则运算步骤为: ⑴ EQ0 置初值 1,并使 i = 0; ⑵ 如果EQi 为 1,并且 xi 和 yi 相等,则 EQi+1 = 1; 否则,置EQi+1 = 0; ⑶ i + 1 → i; ⑷ 如果 i < n,重复步骤⑵。

例 串行重复比较电路 串行比较电路只能判断二个 n 位数是否相等,但不能判别谁大谁小。如图所示: x y ① 一位串行比较模块参见图(a) =1 x y & EQi EQo ① 一位串行比较模块参见图(a) ② 完整的 n 位串行比较电路参见图(b) ( b ) CMP EQO EQI EQ0 EQ1 EQn-1 EQn ••• x0 y0 x1 y1 xn-1 yn-1 EQ2 比较模块 比较模块 比较模块

四、超前电路 Lookahead Circuits 在串行电路中,由于每位的结果是逐级向前传递,最终到达输出端,因而电路的延迟时间随着位数 n 的增加而增大。 为了提高速度,采用超前电路。即各个模块不产生级联信号而只产生供超前电路进行运算的中间信号,由超前电路对这些中间信号同时进行处理,从而产生输出结果。 超前电路框图参见下页图示。

超前电路框图如下: 与串行电路的区别: 超前电路 CPO0 CPO1 CPOn-1 ••• C0 Cn 基本输入 基本输出 PI CPO 模块 CPO0 PI0 CPO1 PI1 CPOn-1 Pin-1 ••• CPI0 CPI1 CPIn-1 CI CO C0 Cn 超前电路 基本输入 PO0 PO1 POn-1 基本输出 边界输入 边界输出 ⒈ 各输入处理模块间没有级联 信号; ⒉ 超前电路对所有输入处理模 块提供的中间信号CPOi同时处理,提高了速度,也提高了成本; ⒊ 超前电路也有 边界输入C0和 边界输出Cn,使得此电路可 以被串联成更大的功能模块。

例 超前相等比较器 CPQi = xi ⊕ yi i = 0,1, …,n-1 基本输入: xi 和 yi 边界输入: EQ0 例 超前相等比较器 基本输入: xi 和 yi 边界输入: EQ0 边界输出: EQn 中间变量: CPOi (i = 0,1, …,n-1) CPQi = xi ⊕ yi i = 0,1, …,n-1 EQn = EQ0 • CPQ0 • CPQ1 • … • CPQn-1 (a) = EQ0 + CPQ0 + CPQ1 + … + CPQn-1 (b) =1 x0 y0 x1 y1 xn-1 yn-1 EQn • • • EQ0 & CPQ0 1 CPQ1 CPQn-1 (a)或非门实现 =1 x0 y0 x1 y1 xn-1 yn-1 EQn • • • /CPQ0 EQ0 & /CPQ1 /CPQn-1 (b)与门实现

五、MSI比较器 ⒈ 四位比较器74LS85 ① 电路的逻辑符号 ② 输入处理模块的逻辑框图 74LS85 PLi & Ai 1 PEi ① 电路的逻辑符号 ② 输入处理模块的逻辑框图 74LS85 ALTBIN ALTBOUT AEQBIN AEQBOUT AGTBIN AGTBOUT A0 A1 A2 A3 B0 B1 B2 B3 ≥1 & 1 Ai Bi PLi PEi PGi

③ 逻辑表达式 PG0=A0 B0 ; PE0= A0 ⊕ B0 ; PL0=A0 B0 ③ 逻辑表达式 四位比较器有四个输入处理模块,产生了 12个中间变量,它们是: PG0=A0 B0 ; PE0= A0 ⊕ B0 ; PL0=A0 B0 PG1=A1 B1 ; PE1= A1 ⊕ B1 ; PL1=A1 B1 PG2=A2 B2 ; PE2= A2 ⊕ B2 ; PL2=A2 B2 PG3=A3 B3 ; PE3= A3 ⊕ B3 ; PL3=A3 B3 比较次序: A3 与 B3, A2 与 B2 , A1 与 B1 , A0 与 B0 , 最后是边界输入条件 ALTBIN、 AEQBIN、 AGTBIN。

AGTBOUT = (A>B) + (A=B) •AGTBIN 四位比较器的输出逻辑表达式为: AGTBOUT = (A>B) + (A=B) •AGTBIN = PG3+PE3• PG2+ PE3• PE2• PG1 + PE3• PE2• PE1• PG0 + PE3• PE2• PE1• PE0• AGTBIN AEQBOUT = (A=B) •AEQBIN = PE3• PE2• PE1• PE0• AEQBIN ALTBOUT = (A<B) + (A=B) •ALTBIN = PL3+PE3• PL2+ PE3• PE2• PL1 + PE3• PE2• PE1• PL0 + PE3• PE2• PE1• PE0• ALTBIN ⑤ 逻辑电路图 74LS85的逻辑图,参见书P156图3.99(c)。

⑥ 74LS85比较器的级联 例 用三个74LS85级联构成 12 位比较器(串联比较)。 三级模块时延 +5V ALTBIN ALTBOUT AEQBIN AEQBOUT AGTBIN AGTBOUT A0 A1 A2 A3 B0 B1 B2 B3 +5V XD[0~11] XEQY3 XLTY3 XD0 XD1 XD2 XD3 YD0 YD1 YD2 YD3 YD[0~11] XGTY3 比较两个12位二进制数: XD = XD11XD10…XD0 YD = YD11YD10…YD0 ALTBIN ALTBOUT AEQBIN AEQBOUT AGTBIN AGTBOUT A0 A1 A2 A3 B0 B1 B2 B3 XD4 XD5 XD6 XD7 YD4 YD5 YD6 YD7 XEQY7 XLTY7 XGTY7 74LS85 ALTBIN ALTBOUT AEQBIN AEQBOUT AGTBIN AGTBOUT A0 A1 A2 A3 B0 B1 B2 B3 XD8 XD9 XD10 XD11 YD8 YD9 YD10 YD11 XEQY XLTY XGTY 三级模块时延

2、八位比较器74LS682 74LS682有两个低有效输出端: PEQQ(等于) 及 PGTQ(大于) 逻辑符号及各种条件输出如图所示。 1 ≥1 & / PGTQ( ≯ ) / PEQQ( ≠ ) PEQQ( = ) PGTQ( >) PGTQ( ≥ ) PLTQ( < ) / PLTQ( ≮ )

3.5.7 加法器 一、 半加器和全加器 ⒈ 半加器的 HS 和 CO 的逻辑表达式为: HS = x⊕y = x • y + x • y 3.5.7 加法器 一、 半加器和全加器 ⒈ 半加器的 HS 和 CO 的逻辑表达式为: HS = x⊕y = x • y + x • y CO = x • y 逻辑符号如图所示。 半加器 x y HS CO

⒉ 全加器 ① 全加器的 S 和 Cout 的逻辑表达式为: S = x⊕y ⊕Cin ⒉ 全加器 ① 全加器的 S 和 Cout 的逻辑表达式为: S = x⊕y ⊕Cin Cout = x • y + x • Cin + y • Cin ②逻辑符号如图所示。 全加器 X Y S COut Cin 1A 1B 1Cn 1∑ 1Cn+1 2∑ 2Cn+1 74LS183 用于级联时的全加器符号 X Y Cin Cout S

二、并行加法器(行波加法器) n 个全加器级联,每个全加器处理两个一位二进制数,则可以构成两个 n 位二进制数相加的加法器。 由于进位信号是一级一级地由低位向高位逐位产生,故又称为行波加法器。 X Cin Cout Cn Cn-1 C1 C0 ••• x0 y0 xn-1 yn-1 Cn-2 xn-2 yn-2 Y S Sn-1 Sn-2 S0

并行加法器的特点 TADD = TXYCOUT + (n-2) • TCINCOUT + TCINS 由于进位信号逐位产生,这种加法器速度很低。最坏的情况是进位从最低位传送至最高位。行波加法器的最大运算时间为: TADD = TXYCOUT + (n-2) • TCINCOUT + TCINS 其中: TXYCOUT 是最低位全加器中由 x 和 y 产生进位 Cout 的延迟时间, T CINCOUT 是中间位全加器中由 Cin 产生 Cout 的延迟时间,TCINS 是最高位全加器中由 Cin 产生 S 的延迟时间。

三、全减器及减法器 全减器是完成一位二进制减法运算的器件。 三个输入端:被减数 x、减数 y 低位向本位的借位 Bin 两个输出端:本位的差 D 、本位向高位的借位 Bout ① 真值表如下: ② 卡诺图如下: x y Bin D Bout 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 xy Bin D xy Bin 1 1 Bout

Bout = x • y + x • Bin + y • Bin ③ 逻辑表达式为: D = x⊕y ⊕Bin Bout = x • y + x • Bin + y • Bin ④ 逻辑符号 ② 卡诺图如下: X Y Bin Bout D xy Bin D xy Bin 1 1 Bout

⑤ 用加法器实现减法器的功能 Bout = x • y + x • Bin + y • Bin D = x⊕y ⊕Bin ⑤ 用加法器实现减法器的功能 在实际应用中,是将全加器推演为全减器,则全减器的逻辑表达式变换为: Bout = x • y + x • Bin + y • Bin D = x⊕y ⊕Bin = x⊕y ⊕Bin Bout = ( x + y ) • ( x + Bin ) • ( y + Bin ) = x • y + x • Bin + y • Bin X Y Cin Cout S 将全加器的进位输入 Ci 和进位输出Ci+1 分别看成是全减器的两个低有效的借位输入 /bi 和借位输出 /bi+1 全加器的和 Si 即为全减器的差 Di X Y Cin Cout S /bi /bi+1 y x D 则:D = x⊕y ⊕bi bi+1 = x • y + x • bi + y • bi

⑥ 按照补码运算规则,用加法运算实现减法运算: x - y = x + [-y]补 xn-1 xn-2 … x0 - yn-1 yn-2 … y0 = xn-1 xn-2 … x0 + [ 2n - yn-1 yn-2 … y0 ] = xn-1 xn-2 … x0 + yn-1 yn-2 … y0 + 1 该结果与前页讨论的一致。 综上所述,如果要把一个 n 位加法器用于 n 位减法器的功能,则只需将减数变补,并把进位输入和进位输出分别当作一对低有效的借位输入和借位输出即可。

⑦ n 位行波减法器 x0 y0 xn-1 yn-1 xn-2 yn-2 dn-1 dn-2 d0 Bin Bout /bn /bn-1 /b1 /b0 = 1 ••• x0 y0 xn-1 yn-1 /bn-2 xn-2 yn-2 Y D dn-1 dn-2 d0 其中:最低位的借位输入应为无效,即/b0 = 1

四、超前进位加法器 ⒈ 超前进位加法器的结构框图如图所示: x0 y0 yn-1 xn-2 yn-2 Sn-1 Sn-2 S0 Sn ⒈ 超前进位加法器的结构框图如图所示: x0 y0 yn-1 xn-2 yn-2 Sn-1 Sn-2 S0 Cn Sn 超前进位发生器 Pn-1 Gn-1 Cin G Cn-1 C0 ••• Y X S P xn-1 Pn-2 Gn-2 Cn-2 P0 G0

⒉ 超前进位加法器的设计思想是: 由 n 个输入处理模块及超前进位发生器组成。 ⒉ 超前进位加法器的设计思想是: 由 n 个输入处理模块及超前进位发生器组成。 第 i 位的进位输入 Ci 是否为 1,直接取决于 x0~ xi-1, y0~ yi-1及 C0 ; 第 i 位是否产生进位输出 Ci+1(Ci+1= 1) ,直接取决于 x0~ xi,y0~ yi及 C0 。 即 Cout = x • y + ( x ⊕ y) • Cin = G + P • Cin 其中:输入处理模块产生两个中间变量,分别称为 进位产生项G、进位传递项P 则 Gi = xi • yi Pi = xi ⊕ yi Ci+1 = Gi + Pi • Ci

⒊ 输入处理模块 Si = xi⊕yi ⊕Cin Cout = xi • yi + (xi⊕yi) Cin = Gi + Pi • Cin ⒊ 输入处理模块 输入处理模块的逻辑表达式为: Si = xi⊕yi ⊕Cin Cout = xi • yi + (xi⊕yi) Cin = Gi + Pi • Cin 可以由二个半加器组成的一个全加器构成输入处理模块,如下: =1 xi yi Pi Si Cin & ≥1 Gi Cout X Y G P S Cin xi yi Gi Ci Si Pi 超前进位电路

= G2 + P2 • G1 + P2 • P1 • G0 + P2 • P1 • P0 • C0 例 三位二进制加法的进位输出可写成: C1 = G0 + P0 • C0 C2 = G1 + P1 • C1 = G1 + P1 • (G0 + P0 • C0) = G1 + P1 • G0 + P1 • P0 • C0 C3 = G2 + P2 • C2 = G2 + P2 • (G1 + P1 • G0 + P1 • P0 • C0) = G2 + P2 • G1 + P2 • P1 • G0 + P2 • P1 • P0 • C0 逻辑图参见书P163图3.107。 电路特点:所有进位都是同时产生的,故电路延时时间与位数多少无关。在位数较多时其运算速度比行波加法器的要快得多。

⒉ MSI加法器74LS283 一个快速进位四位二进制加法器74LS283 的框图如下所示。 用74LS283级联构成 n 位加法器,级联方式为: 片内(4位)超前进位 片间为行波进位 例 设计一个十六位加法器。 框图参见书P163图3.108(b)。 C0 74LS283 A0 B0 A1 B1 A2 B2 A3 B3 S0 S1 S2 S3 C4

五、MSI加法器的应用 例1 用MSI四位二进制加法器实现两个一位十进制8421BCD码的加法器。 如果其和的范围在 0~9 之间,则不需要进行校正; 如果其和在 10~18 之间,则必须进行校正。 C0 74LS283 A0 B0 A1 B1 A2 B2 A3 B3 S0 S1 S2 S3 C4 A1 B1 A2 B2 A4 B4 A8 B8 S'4 S'3 C'4 S'2 S'1 修正网络 S0 S1 S2 S3 C4 S4 S3 C4 S2 S1

两个一位8421BCD码相加之和的校正表(0+0~9+9,再加进位) 十进 未校正 BCD码和 校正的 制数 C4 S3 S2 S1 S0 C'4 S'3 S'2 S'1 S'0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 10 11 12 13 14 15 16 17 18 19 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 校正算法: 当和S3~0的范围在 0~9 之间,则S' 3~0 = S3~0 + 0; 当和S3~0的范围在 10~18 之间,则S'3~0 = S3~0 + 0110

两个一位8421BCD码相加之和的校正表(0+0~9+9,再加进位) 十进 未校正 BCD码和 校正的 制数 C4 S3 S2 S1 S0 C'4 S'3 S'2 S'1 S'0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 10 11 12 13 14 15 16 17 18 19 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 C'4 = S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + C4 = S3S1 + S3S2 + C4 (F)

两个一位8421码加法器的逻辑图 y3 x3 y2 x2 y1 x1 y0 x0 (F) 74LS283 S'0 S'1 S'2 S'3 B3 B2 B1 B0 A3 A2 A1 A0 C0 C4 S3 S2 S1 S0 74LS283 S'0 S'1 S'2 S'3 y3 x3 y2 x2 y1 x1 y0 x0 1≤ & C'4 (F)

例2 用MSI四位二进制加法器实现两位8421BCD码转换成二进制码。 设:两位8421BCD码的高位为B80B40B20B10 低位为B8 B4 B2 B1 (0~99) 输出对应的二进制数为 A6 A5 A4 A3 A2 A1A0 (<127) 码制转换 B80 B40 B20 B10 B8 B4 B2 B1 A6 A5 A4 A3 A2 A1 A0

例2 用MSI四位二进制加法器实现两位8421BCD码转换成二进制码。 则:D = B80B40B20B10 B8B4B2B1 = (B80B40B20B10 ) ×101 + (B8B4B2B1 ) ×100 = (B80 ×8 + B40 ×4 + B20 × 2 + B10 ×1 ) ×101 + ( B8 × 8 + B4 × 4 + B2 × 2 + B1 ×1 ) ×100 = B80 ×80 + B40 ×40 + B20 × 20 + B10 ×10 + B8 × 8 + B4 × 4 + B2 × 2 + B1 ×1 = B80×(64+16) + B40×(32+8) + B20×(16+4) + B10×(8+2) + B8×8 + B4×4 + B2×2 + B1×1 = B80×26 + B40×25 + (B80 + B20)×24 + (B40 + B10 + B8)×23 + (B20 + B4)×22 + (B10 + B2)×21 + B1×20

电路逻辑图 = B80×26 + B40×25 + (B80 + B20)×24 + (B40 + B10 + B8)×23 A3 A2 A1 A0 C0 C4 S3 S2 S1 S0 74LS283 B10 B40 B8 B20 B4 B80 20 21 22 23 24 25 26 27 = B80×26 + B40×25 + (B80 + B20)×24 + (B40 + B10 + B8)×23 + (B20 + B4)×22 + (B10 + B2)×21 + B1×20

例3 用MSI四位二进制加法器实现码制转换。 1. 实现8421BCD码到余3码的转换。 设:输入为8421码A8A4A2A1 ,输出为余3码Y3Y2Y1Y0 从真值表可以看出:Y3Y2Y1Y0 = A8A4A2A1 + 3 (0011) 十进制数 A8A4A2A1 Y3Y2Y1Y0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 电路图如下所示。 B3 B2 B1 B0 A3 A2 A1 A0 C0 C4 S3 S2 S1 S0 74LS283 Y3 Y2 Y1 Y0 A8 “1” A4

设:输入为余3码Y3Y2Y1Y0 ,输出为8421码A8A4A2A1 ⒉ 实现余3码到8421BCD码的转换。 设:输入为余3码Y3Y2Y1Y0 ,输出为8421码A8A4A2A1 则: A8A4A2A1 = Y3Y2Y1Y0 - 3 (- 0011) = Y3Y2Y1Y0 + 1101 电路图为: B3 B2 B1 B0 A3 A2 A1 A0 C0 C4 S3 S2 S1 S0 74LS283 Y8 “1” Y4 Y2 Y1

第三章 习题 3.5 3.8 3.9 3.10 3.12 3.21 3.22 3.26 3.29 3.30