第四章 组合逻辑电路 本章的重点: 1.组合逻辑电路在电路结构和逻辑功能上的特点; 2.组合逻辑电路的设计方法; 3.常用中规模集成组合电路器件的应用; 本章的难点: 这一章没有可以算得上是难点的内容。书中给出的所有逻辑电路都不需要记忆,能读懂就行。 4
数字电路按其完成逻辑功能的不同特点,可划分为组合逻辑电路和时序逻辑电路两大类。 组合逻辑电路:指该电路在任一时刻输出的稳定状态,仅取决于该时刻的输入信号,而与输入信号作用前电路所处的状态无关。 一、组合逻辑电路的特点 从功能上 从电路结构上
二、逻辑功能的描述 组合逻辑 电路 组合逻辑电路的框图
4.2.1 组合逻辑电路的分析方法 (卡诺图) 逻辑表达式 逻辑图 真值表 功能 4.2.1 组合逻辑电路的分析方法 分析组合逻辑电路的方法一般是根据逻辑图求出它的逻辑函数表达式与真值表,求出该电路的逻辑功能。 分析的目的,有时在于求出逻辑功能,有时在于证明给定的逻辑功能是否正确。 分析步骤: (卡诺图) 逻辑表达式 逻辑图 真值表 功能
分析组合逻辑电路的一般步骤: ①用文字或符号标出各个门的输入或输出。 ②从输入端到输出端逐级写出输出变量对输入变量的逻辑函数表达式,也可由输出端向输入端逐级推导,最后得到以输入变量表示的输出逻辑函数表达式。 ③用逻辑代数或卡诺图化简或变换各逻辑函数表达式,或列出真值表。 ④根据真值表或逻辑函数表达式确定电路的逻辑功能。
例1:试分析如下图电路的逻辑功能 写出逻辑函数表达式: 从逻辑函数式中不能直观地看出这个电路的逻辑功能和用途。需要把其转换成真值表的形式。
做逻辑真值表,可以看出,当DCBA表示的二进制数小于或等于5时Y0为1,这个二进制数大于5且小于11时Y1为1,当这个二进制数大于或等于11时Y2为1。 因此,这个逻辑电路可以用来判别输入的4位二进制数数值的范围。
例2: Z1=AB Z2=AZ1=A AB Z3=BZ1=B AB S=Z2 Z3 =A AB B AB =A B C=AB
4.2.2 组合逻辑电路的设计方法 一、设计方法的分类: 随着微电子技术的不断发展,单块芯片的集成度越来越高,出现了小规模(SSI)、中规模(MSI)、大规模(LSI)和超大规模(VLSI)集成电路。 TTL电路中,以单块芯片所包含的门电路或等效门电路的数目来划分集成规模。 MOS系列中,则以单块芯片所包含的元器件数目来划分的。 TTL集成电路的全名是晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic) 7 MOS英文全称为Metal-Oxide-Semiconductor即半导体金属氧化物
TTL电路 MOS系列 12个以下的 100个以下的 小规模集成电路 12~100之间的 100~1000之间 中规模集成电路 100以上的 1000~10000之间 大规模集成电路 10000以上的 超大规模集成电路 一般说来,小规模集成电路仅仅是器件的集成 中规模集成电路是逻辑部件的集成 大、超大规模集成电路则是数字系统或子系统的集 成
实现组合逻辑电路的设计,根据所用器件不同,设计方法有: ① SSI 用数字电路设计的经典方法 ② MSI 用中规模集成功能模块实现其他组合逻辑功能 ③ LSI 使用大规模集成电路的可编程逻辑器件PLD,实现给定逻辑功能的设计
用MSI设计组合逻辑电路 中大规模通用数字集成电路产品已标准化、系列化,且成本低廉, 许多数字电路都可直接使用中大规模集成电路的标准模块来实现。 这样可以缩小电路的体积,减少连线,提高电路的可靠性,降低成 本。 MSI设计最简标准:所用集成模块数目最少,品种最少,集成模块 之间连线最少。 目前,用于实现组合逻辑电路设计最多的中规模集成电路有数据选 择器,译码器,全加器等。单输出函数选用数据选择器,多输出函 数则选用译码器。
设计步骤: 一、逻辑抽象 分析因果关系,确定输入/输出变量,定义逻辑状态的含意(赋值),列出真值表 二、写出函数式,并化简 三、选定器件类型 四、画出逻辑电路图,或下载到PLD
设计步骤: 最简式 逻辑电路图 实际的逻辑问题 真值表 适当形式的函数式 逻辑电路图 卡诺图化简 逻辑抽象 逻辑赋值 函数变换 用SSI实现 用MSI实现
设计举例 设计一个监视交通信号灯状态的逻辑电路 如果信号灯 出现故障, Z为1 R A G Z
输入变量 输出 R A G Z 1 1.抽象 输入变量: 红(R)、黄(A)、绿(G) 输出变量: 故障信号(Z) 2.写出逻辑表达式
设计举例: 3.选用小规模SSI器件 4.化简 5.画出逻辑图
例2:试将8421BCD码转换成余3BCD码 (1)真值表 (2)卡诺图 8421码 余3码 B3 B2 B1 B0 E3 E2 E1 E0 8421码 余3码 B3 B2 B1 B0 E3 E2 E1 E0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 2 0 0 1 0 0 1 0 1 3 0 0 1 1 0 1 1 0 4 0 1 0 0 0 1 1 1 5 0 1 0 1 1 0 0 0 6 0 1 1 0 1 0 0 1 7 0 1 1 1 1 0 1 0 8 1 0 0 0 1 0 1 1 9 1 0 0 1 1 1 0 0 10 1 0 1 0 Φ Φ Φ Φ 11 1 0 1 1 Φ Φ Φ Φ 12 1 1 0 0 Φ Φ Φ Φ 13 1 1 0 1 Φ Φ Φ Φ 14 1 1 1 0 Φ Φ Φ Φ 15 1 1 1 1 Φ Φ Φ Φ (2)卡诺图 E2 E3 E1 E0
(2)卡诺图 (3)表达式
(3)表达式 余3码 (4)电路图 8421码
4.3 若干常用组合逻辑电路 常见的组合逻辑电路: 加法器、编码器、译码器、数值比较器、数据选择器、函数发生器、奇偶校验器/发生器等
4.3.1 编码器 编码:将输入的每个高/低电平信号变成一个对应的二进制代码 编码器:实现编码的电路称编码器。 信息符号可以是十进制数符0,1,2,…,9;字符A,B,…,Z,a,b,…,z;运算符“+”,“-”,“=”或其它符号等。 编码器通常有二进制编码器,十进制编码器。 也可以分为: 普通编码器和优先编码器
一、普通编码器 普通编码器就是在任何时刻只允许输入一个编码信号,否则输出将发生混乱。例如计数器的按键输入信号就属于这一种。 现以3位二进制普通编码器为例,分析一下普通编码器的工作原理。如下图所示。
输入:I0~I7 8个高电平信号 输出:3位二进制代码y2y1y0
输 入 输 出 I0 I1 I2 I3 I4 I5 I6 I7 Y2 Y1 Y0 1
根据真值表写出输出逻辑函数表达式:
根据逻辑表达式画出它的逻辑图
二、优先编码器 特点:允许同时输入两个以上的编码信号,但只对其中优先权最高的一个进行编码。
例:8线-3线优先编码器(设I7优先权最高…I0优先权最低) 输 入 输 出 I0 I1 I2 I3 I4 I5 I6 I7 Y2 Y1 Y0 X 1
实例: 74HC148 低电平
选通信号 选通信号
附 加 输 出 信 号 状态 1 不工作 工作,但无输入 工作,且有输入 不可能出现
输 入 输 出 1 X
控制端扩展功能举例: 例: 用两片8线-3线优先编码器74HC148 16线-4线优先编码器 其中, 的优先权最高· · ·
状态 1 不工作 工作,但无输入 工作,且有输入 不可能出现
第一片为高优先权 只有(1)无编码输入时,(2)才允许工作 第(1)片 时表示对 的编码 低3位输出应是两片的输出的“或”
三、二-十进制优先编码器 将 编成0110 ~ 1110 的优先权最高, 最低 输入的低电平信号变成一个对应的十进制的编码 不讲
二-十进制优先编码器74LS147的逻辑图
把I1~I9的十个状态分别编成十个BCD码。其中I9的优先权最高,I1的优先权最低。
74LS147的功能表
4.3.2 译码器 译码:将每个输入的二进制代码译成对应的输出高、低电平信号。 译码是编码的逆过程,即将二进制数码还原成给定的信息符号(数符、字符、运算符或代码等)。 常用的有:二进制译码器,二-十进制译码器,显示译码器等
一、二进制译码器 二进制译码器又叫变量译码器,它的输入是一组二进制代码,输出是一组与输入代码对应的高、低电平信号。 以3线-8线译码器为例说明变量译码器的工作原理。
输入是3位二进制代码 A2A1A0, 输出是其状态译码Y0~Y7
输 入 输 出 A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 1
由真值表可直接得到逻辑表达式 Y0= Y1= Y2= Y3= Y4= Y5= Y6= Y7= A2A1A0
用二极管与阵列组成的3线-8线译码器
用二极管与门阵列构成的译码器比较简单,但是其电路的输入电阻较低而输出电阻较高,且输出的高、低电平信号发生偏移。 通常只在一些大规模集成电路内部采用这种结构,而在一些中规模集成电路译码器中多采用三极管集成门电路结构。
3线-8线译码器74HC138 附加 控制端 低电平输出
S1,S2,S3为片选段,S1=1,S2=S3=0时,Gs输出高电平,译码器处于工作状态。
输 入 输 出 S1 A2 A1 A0 X 1
利用附加控制端进行扩展 例:用74HC138(3线—8线译码器) 4线—16线译码器
D3=1 D3=0
二、二—十进制译码器 将输入BCD码的10个代码译成10个高、低电平的输出信号 BCD码以外的伪码,输出均无低电平信号产生 例:74HC42 不讲
= = 不讲
二-十进制译码器74LS42的真值表 不讲
三、用译码器设计组合逻辑电路 基本原理 3位二进制译码器给出3变量的全部最小项; 。。。 n位二进制译码器给出n变量的全部最小项; 任意函数 将n位二进制译码输出的最小项组合起来,可获得任何形式的输入变量不大于n的组合函数
例:利用74HC138设计一个多输出的组合逻辑电路
四、显示译码器 1. 七段字符显示器 如: 不讲
2. BCD七段字符显示译码器 (代码转换器)7448 输 入 输 出 数字 A3 A2 A1 A0 Ya Yb Yc Yd Ye Yf 输 入 输 出 数字 A3 A2 A1 A0 Ya Yb Yc Yd Ye Yf Yg 字形 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 不讲
真值表 卡诺图 不讲
Ya=A3A2A1A0+A3A1+A2A0 Yb=A3A1+A2A1A0+A2A1A0 Yd=A2A1A0+A2A1A0+A2A1A0 Yc=A3A2+A2A1A0 不讲 Ye=A2A1+A0 Yf=A3A2A1+A2A1+A1A0 Yg=A3A2A1+A2A1A0
BCD-七段显示译码器7448的逻辑图 不讲
功能表 不讲
7448的附加控制信号:(1) 灯测试输入 当 时,Ya ~ Yg全部置为1 不讲
7448的附加控制信号:(2) 灭零输入 当 时, 时,则灭灯 不讲
7448的附加控制信号:(3) 灭灯输入/灭零输出 输入信号,称灭灯输入控制端: 无论输入状态是什么,数码管熄灭 输出信号,称灭零输出端: 只有当输入 ,且灭零输入信号 时, 才给出低电平 因此 表示译码器将本来应该显示的零熄灭了 不讲
不讲
不讲
例:利用 和 的配合,实现多位显示系统的灭零控制 例:利用 和 的配合,实现多位显示系统的灭零控制 整数部分:最高位是0,而且灭掉以后,输出 作为次高位的 输入信号 小数部分:最低位是0,而且灭掉以后,输出 作为次低位的 输入信号 不讲
数码显示电路的动态灭零 不讲
4.3.3 数据选择器 在多路数据传送过程中,能够根据需要将其中任意一路挑选出来的电路,叫做数据选择器,也称为多路选择器或多路开关。它的功能与数据分配器相反,它是多输入、单输出。 4
4选1数据选择器 输入信号:4路数据,用D0、D1、D2、D3表示;两个选择控制信号,用A0、A1表示。 输出信号:用Y表示,它可以是4路输入数据中的任意一路,究竟是哪一路完全由选择控制信号决定。
输入 输出 D A1 A0 Y D0 D1 1 D2 D3
画出逻辑图
双4选1数据选择器74HC153
用两个“四选一”接成“八选一” “四选一”只要2位地址码 “八选一”需要3位地址码
用数据选择器设计组合电路 基本原理 具有n位地址输入的数据选择器,可产生任何形式的输入变量不大于n+1的最小项组合函数
例: 用八选一数据选择器产生三变量逻辑函数
一片4选1数选器能产生任何一种最多3变量的逻辑函数, 一片8选1数选器能产生任何一种最多4变量的逻辑函数, ...... 具有n位地址输入的数据选择器可以产生任何一种输入变量数不大于n+1的组合逻辑函数。
4.3.4 加法器 半加器 不考虑来自低位的进位,将两个1位的二进制数相加 输 入 输 出 A B S CO 1
全加器 将两个1位二进制数及来自低位的进位相加 输 入 输 出 A B CI S CO 1
74HC183 双保留进位全加器 74HC183
多位加法器 串行进位加法器 优点:简单 缺点:慢
74LS283 超前进位加法器 基本原理:第i位的进位输入信号是两个加数第i位以前各位(0 ~ i-1)的函数,可在相加前由A,B两数确定。 优点:快,每1位的和及最后的进位基本同时产生。 缺点:电路复杂。 G12输出为A0与B0的异或
超前进位加法器 对加法器的进位信号做快速处理 对进位公式的分析(化简) Fn= Xn Yn Cn Cn+1= Xn Yn + Xn Cn + Yn Cn = Xn Yn +(Xn + Yn ) Cn
Pi和Gi函数 Pi= Xi+Yi Gi= Xi·Yi 得到进位产生公式 Ci+1= Gi +Pi Ci
Ci+1= Gi + PiCi= GiPi+ GiCi = Pi + GiCi C1= P0+ G0C0 C2= P1+ G1P0+ G1G0C0 C3= P2+ G2P1+ G2G1P0+ G2G1G0C0 C4= P3+ G3P2+ G3G2P1+ G3G2G1P0+ G3G2G1G0C0
用加法器设计组合电路 若能生成函数可变换成输入变量与输入变量相加 若能生成函数可变换成输入变量与常量相加 例:将BCD的8421码转换为余3码 输 入 输 出 D C B A Y3 Y2 Y1 Y0 1
思考:已知X是3位二进制数(其值小于等于5),试实现Y=3X 。 ? Y=3X D2 D1 D0
4.3.5 数值比较器 数码比较器:用来将两个同样位数的二进制数A、B进行比较,并能判别其大小关系的逻辑器件。 一、1位数值比较器 A,B比较有三种可能结果
二、多位数值比较器 二、多位数值比较器 从高位比起,只有高位相等,才比较下一位。例如:
CC14585 实现4位二进制数的比较
比较两个8位二进制数的大小
4.4 组合逻辑电路中的竞争-冒险现象 4.4.1 竞争-冒险现象及成因 一、什么是“竞争” 两个输入“同时向相反的逻辑电平变化”,称存在“竞争” 二、因“竞争”而可能在输出产 生尖峰脉冲的现象,称为 “竞争-冒险”。
三、2线—4线译码器中的竞争-冒险现象 不讲
4.4.2 * 略 4.4.3 消除竞争-冒险现象的方法 一、接入滤波电容 尖峰脉冲很窄,用很小的电容就可将尖峰削弱到 VTH 以下。 二、引入选通脉冲 取选通脉冲作用时间,在电路达到稳定之后,P的高电平期的输出信号不会出现尖峰。 不讲
三、修改逻辑设计 例: 不讲
4.5用multisim分析组合逻辑电路 例:用mulitisim分析逻辑电路.找出电路的逻辑函数式和逻辑真值表。 不讲
不讲