《组合逻辑电路的分析和设计培训课件》由会员分享,可在线阅读,更多相关《组合逻辑电路的分析和设计培训课件(229页珍藏版)》请在金锄头文库上搜索。
1、4 组合逻辑电路的分析和设计,4.8 组合逻辑电路中的竞争与冒险,4.1 概述,4.2 门级组合逻辑电路的分析与设计,4.3 编码器与译码器,4.4 多路选择器和多路分配器,4.5 加法器和比较器,4.6 基于MSI逻辑电路的分析,4.7 基于MSI逻辑电路的设计,4.1 概述,数字电路可分为组合逻辑电路和时序逻辑电路两大部分。,1. 组合逻辑电路,在任何时刻,逻辑电路的输出状态只取决于电路各输入状态的组合,而与电路原来的状态无关。,a. 电路中就不包含记忆性元器件;,2. 组合逻辑电路的主要特点,b. 而且输出与输入之间没有反馈连线;,c. 门电路是组合电路的基本单元。,d. 输出与电路原来
2、状态无关。,3. 组合逻辑电路的方框图,A1、A2、An 输入逻辑变量,L1、L2、Lm输出逻辑变量,图中:,Li = fi (A1、A2、An) i = (1、2、m),输出与输入之间的逻辑关系:,组合逻辑电路可以有多个输入端和多个输出端。,4. 组合逻辑电路中的两类问题,(1) 组合逻辑电路的分析,根据已知的逻辑电路图分析电路的逻辑功能。,(2) 组合逻辑电路的设计,根据逻辑问题,得出满足要求的逻辑电路图或VHDL语言程序等设计结果。,4.2 门级组合逻辑电路的分析与设计,4.2.1 分析方法,门级组合逻辑电路的基本单元是各种基本门电路。,分析过程一般步骤:,a. 根据给定的逻辑电路,从输
3、入端开始,逐级推导出输出端的逻辑函数表达式。,b. 根据输出函数表达式列出真值表。,c. 用文字概括出电路的逻辑功能。,d. 对原电路进行改进设计, 寻找最佳方案(这一步不一定都要进行)。,例1 分析图示电路的逻辑功能。,解 (1) 写出逻辑表达式,(2) 变换逻辑函数,(3) 根据函数表达式列真值表,(4) 分析逻辑功能,输入变量A、B和C中有两个以上取值为1时,输出函数L=1;否则L= 0。,三变量的多数表决器。,例2 试分析下图所示逻辑电路的功能。,解 (1)由图写 表达式,上页,下页,返回,(2)列出真值表,(3) 分析功能,本电路是自然二进制码至格雷码的转换电路。,例3 分析图示组合
4、电路的逻辑功能。,解 (1) 列出该电路的输出逻辑表达式,(2) 列真值表,a. 由表达式,当A=1与B=0时,F1=1。,当A=0与B=1时,F2=1。,(3) 分析逻辑功能,可知:,b. 综合考虑F1和F2的值,可推得电路的逻辑功能:,当AB时, F1F2=10;,当AB时, F1F2=01;,当A=B时, F1F2=00;,即 根据F1F2的值,可判断A、B之间的关系, 是A大于B, A小于B,还是A等于B。,F1F2不可能等于11。,例4 分析图示组合电路的逻辑功能。,解 (1) 列出逻辑表达,(2) 化简表达式,(3) 列真值表,使F=1的条件是:,(4) 分析逻辑功能,由真值表可知
5、,或,4.2.2 设计方法,设计步骤如下:, 列逻辑真值表,实际的逻辑问题,通常是一段文字说明或者是数据记录及逻辑框图,称之为逻辑命题。,首先根据逻辑命题选取输入逻辑变量和输出逻辑变量。,然后用二值逻辑的0和1分别代表输入和输出逻辑变量的两种不同状态,称为逻辑赋值。,最后根据实际逻辑问题的因果关系列出逻辑真值表。,根据化简后的逻辑函数式,画出门级逻辑电路图。, 对逻辑函数式进行化简和变换,根据选用的逻辑门的类型,将函数式化简或变换为最简式。选用的逻辑门不同,化简的形式也不同。, 画出逻辑电路图,在实际数字电路设计中,还须选择器件型号。,由真值表写出逻辑函数表达式。, 写出逻辑函数表达式,例5
6、设计三变量表决器,其中A具有否决权。选用与非门来实现,对于变量作如下规定:,解 (1) 列出真值表,设A、B、C分别代表参加表决的逻辑变量,,A、B、C为 1 表示赞成, 为 0 表示反对。,F=1 表示通过,F=0 表示被否决。,F为表决结果。,真 值 表, 写出逻辑函数表达式,(3) 函数化简,选用与非门来实现, 画出逻辑电路图,例6 为燃油蒸汽锅炉设计一个过热报警装置。用三个数字传感器分别监视燃油喷嘴的开关状态、锅炉中的水温和压力是否超标。当喷嘴打开且压力或水温过高时,都应发出报警信号。,解 (1) 列真值表,C表示喷嘴开关逻辑状态: 1开,0关。,A表示压力逻辑状态: 1过高,0正常。
7、,B表示锅炉水温逻辑状态: 1过高,0正常。,L表示报警信号: 1报警,0正常。,(2) 写出逻辑函数表达式,将上式变换为与非与非表达式, 化简逻辑函数为最简与或式,若用集成门实现与或式,至少需要两种类型的门电路。,(4) 画逻辑电路图,若用集成门实现与非式,则仅需要一种类型的门电路。,例7 试用与或非门设计一个操作码形成器,如图所示。当按下*、+、-各个操作键时,要求分别产生乘法、加法和减法的操作码01、10和11。,解 (1) 逻辑问题的描述。,设当按下某一操作键时,相应输入变量的取值为 “1”,否则,取值为“0”。,正常情况下,某一时刻只按下一个操作键,所以 输入变量A、B、C对取值“1
8、”是互斥的。,由此可得下列约束方程:,约束方程:,由上式可推得下列任意项:,即:,(2) 列出真值表,(3) 列函数表达式,(4) 逻辑函数的化简,a. 化简F2,b. 化简F1,(5) 逻辑函数的变换,本题要求用与或非门实现,故对上式两次取反。,得:,(6) 画逻辑图,3. 用与非门设计一个译码器,其输入为A、B、C,输出为F0F4。要求当ABC取值为000100时,F0F4分别为“1”,而当ABC取值为101111时, F0F4的值可为任意。,1.选用非门、异或门、与或非门三种器件,设计一个一位全减器。,2.用门电路设计一个将8421 BCD码转换为余3码的变换电路。,4.3 编码器与译码
9、器,4.3.1 编码器,将二进制数码(0或1)按一定规则组成代码表示一个特定对象,称为二进制编码。,具有编码功能的电路称为编码电路,而相应的MSI芯片称为编码器(Encoder)。,(1) 二进制编码,(2) 编码器(Encoder),按照被编对象的不同特点和编码要求,有各种不同的编码器,如二进制编码器、优先编码器和8421BCD编码器等。,(3) 编码器的分类,1. 二进制编码器,用n位二进制代码对N=2n个一般信号进行编码的电路,叫做二进制编码器。,二进制编码器也称之为2n n线二进制编码器。,(1) 二进制编码器的主要特点,任何时刻只允许输入一个有效信号,不允许同时出现两个或两个以上的有
10、效信号,因而其输入是一组有约束(互相排斥)的变量。,(2) 三位二进制编码器,a. 编码器框图,又称这种编码器为8线3线编码器。,输入是I0I78个高电平信号,输出是三位二进制代码A2、A1、A0,二进制编码器功能表,b. 8线3线编码器器功能表,功能表是一种简化的真值表,表中没有列出输入逻辑变量的所有取值的组合。,由表得出编码器的输出函数为,二进制编码器功能表,因为任何时刻I0I7当中仅有一个取值为1,利用这个约束条件将上式化简,得到,三位二进制编码器,和二进制编码器特点一样,任何时刻只允许输入一个有效信号。,2. 二十进制(BCD)编码器,将十进制数0、 1、 2、 3、 4、 5、 6、
11、 7、 8、 9 等10个信号编成二进制代码的电路叫做二十进制编码器。,编码器输入是代表09这10个数符的状态信号,有效信号为1(即某信号为1时, 则表示要对它进行编码),输出是相应的BCD码,因此也称10线4线编码器。,8421 BCD码编码表,8421BCD码编码器,3.优先编码器,优先编码器常用于优先中断系统和键盘编码。与普通编码器不同,优先编码器允许多个输入信号同时有效,但它只按其中优先级别最高的有效输入信号编码,对级别较低的输入信号不予理睬。,常用的MSI优先编码器有10线4线(如74LS147)、 8线3线(如74LS148)。,(1) 优先编码器74LS147,d. 在框外小圆圈
12、对应的输入和输出变量上冠以“ ”号与之对应。这样输入输出端的小圆圈可以理解为逻辑非运算。,符号图说明(限本教材):,a. 符号图框内所有变量均为正逻辑。,b.框外输入端的小圆圈表示输入信号低电平(逻辑0)有效。,c. 输出端的小圆圈表示反码输出。,a. 74LS147符号图,b. 编码器74LS147功能表,74LS147符号图,(2) 优先编码器74LS148,a. 逻辑符号,c. E1为使能(允许)输入端,低电平有效;当E1=0时,电路允许编码;当E1=1时,电路禁止编码,输出C、B、A均为高电平.,各引出端功能如下:,a. 70为信号输入端,7的优先级别最高,0的级别最低。,b. C、B
13、、A 为代码输出端,C为最高位;,d. E0和CS为使能输出端和优先标志输出端,主要用于级联和扩展。,b. 74LS148的功能表,4.3.2 译码器,译码是编码的逆过程。,具有译码功能的电路称为译码电路,而相应的MSI芯片称为译码器(Decoder)。,若译码器有n个输入端,则最多有2n个输出端,这种译码器被称为n- 2n线译码器。,译码器也有多个输出有效电平,如七段显示译码器等。,若译码器只有一个输出端为有效电平,其余输出端为相反电平,则被称为惟一地址译码电路,或基本译码器。,基本译码器常用于计算机中对存储单元地址的译码。,1. 基本译码器的功能描述(以74LS138为例),(1) 74L
14、S138符号图,74LS138是最常用的集成译码器之一,它有三个译码输入端A2、A1和A0,八个输出端,因此又称为3-8译码器。,图中STA、STB和STC是三个控制输入端(使能控制端)。,当STA=1, 时,译码器处于工作状态。,当STA=0或者 时,译码器被禁止(即译码器不工作)。,b. 可以用来扩展输入变量数(功能扩展)。,使能端的用途:,a. 可以引入选通脉冲,以抑制冒险脉冲的发生;,(2) 3-8线译码器74LS138的功能表,输出端反码分别对应着二进制码A2A1A0的所有最小项的非,因此,该译码器又称为最小项惟一译码器。,译码器输出端的逻辑函数式为,2.译码器的扩展(3-8译码器扩
15、展为4-16译码器),4-16译码器功能框图,常用的416线译码器有74LS154、CD4514B、CD4515B等。,3. 译码器的应用,二进制译码器的应用很广,典型的应用有以下几种:,(1) 实现存储系统的地址译码;,(2) 实现逻辑函数;,(3) 带使能端的译码器可用作数据分配器或脉冲分配器。,例1 试用38译码器74LS138实现函数:,解,由于译码器的每个输出端对应着一个地址输入变量的最小项,而任何逻辑函数都可写为最小项之和的表达式,因此可用这类译码器方便地构成多输出的逻辑函数发生器。,因为F1、F2均为三变量函数,首先令函数的输入变量ABC=A2A1A0,然后将F1、F2变换为译码
16、器输出的形式:,用译码器实现多输出逻辑函数的电路,例2 试用译码器实现多输出逻辑函数:,解 (1) 将函数写成最小项表达式如下,选用3-8线译码器74LS138。,(2) 根据逻辑函数的变量个数确定译码器规模。,令 CBA= A2 A1 A0,将L1、L2写为如下形式,(3) 画出用译码器实现多输出逻辑函数的电路,4. 二十进制译码器,二十进制译码器也称BCD译码器,它的功能是将输入的一位BCD码译成10个高、低电平输出信号,因此也叫410译码器。,二十进制译码器的逻辑符号,功能表,BCD译码器的逻辑符号,例2 用 4-10译码器(8421BCD码译码器)实现单“1”检测电路。,解 单“1”检测的函数式为,单“1”检测电路,4.3.3 BCD七段显示译码器,数字系统中运行的是二进制数,但在数字测量仪表和各种显示系统中,为了便于表示测量和运算的结果以及对系统的运行情况进行监测,常需将数字量用人们习惯的十进制字符直观地显示出来,这就要靠专门的译码电路把二进制数译成十进制字符,通过驱动电路由数码显示器显示出来。在中规模集成电路中,常把译码和驱动电路集于一