第3章 CHAPTER 3 组合逻辑电路 组合逻辑电路是数字逻辑电路中的一种电路类型。 本章首先讲述组合逻辑电路的结构特点、功能特点及功能的描述方法,然后着重介绍组合逻辑电路的分析方法和设计方法,接着 着重介绍了加法器、数值比较器、编码器、译码器、数据分配器及数据选择器6种常用组合逻辑电路的电路组成、工作原理、功能描述方法及特点,以及常用典型集成MSI组合逻辑电路的功能、使用方法。 学习本章内容应具备的相关知识是: 逻辑表达式、真值表、逻辑图及相互转换方法; 逻辑函数的化简; 各种逻辑门的逻辑功能。 3.1组合逻辑电路概述 3.1.1组合逻辑电路的特点 在数字系统中,按电路逻辑功能的不同,将电路分为组合逻辑电路和时序逻辑电路。 图3.1组合逻辑电路结构示意图 组合逻辑电路简称组合电路,结构示意图如图3.1所示。 1. 组合逻辑电路的结构特点 在结构上,组合逻辑电路由门构成,且从输出端到输入端无反馈连接。 2. 组合逻辑电路的功能特点 在功能上,组合逻辑电路任一时刻的输出信号仅取决于该时刻的输入信号,而与输入信号作用前电路所处的状态无关。 输出函数与输入变量之间的逻辑关系可表示成如下函数关系式 Yi = fi (I0,I1,…,In-1 )(3.1) 3.1.2组合逻辑电路逻辑功能的描述方法 真值表、卡诺图、逻辑表达式、逻辑图、波形图等方法均可用于描述组合逻辑电路的逻辑功能。 3.1.3组合逻辑电路的分类 1. 按逻辑功能划分 组合逻辑电路可分为加法器、数值比较器、编码器、译码器、数据分配器、数据选择器等。 2. 按集成度划分 组合逻辑电路可分为SSI、MSI、LSI、VLSI等。 视频讲解 3.2组合逻辑电路的分析方法和设计方法 3.2.1组合逻辑电路的分析方法 1. 一般分析步骤 求解给定组合逻辑电路逻辑功能的过程称为组合逻辑电路的分析。 组合逻辑电路分析的一般步骤如图3.2所示。 图3.2组合逻辑电路分析的一般步骤 有以下三点说明。 (1) 分析的关键是各种功能描述方法的转换及根据真值表进行功能的正确说明。 (2) 单输出组合逻辑电路由真值表中函数值为1时输入变量的取值规律进行功能说明。 (3) 多输出组合逻辑电路要将几个输出综合在一起考虑与输入变量的取值关系进行功能说明。 2. 分析举例 【例3.1】试分析如图3.3所示的组合逻辑电路的逻辑功能。 【解】如图3.3所示的组合逻辑电路由4个与非门构成,A、B为2个输入变量,Y为1个输出函数,为单输出组合逻辑电路。 (1) 由逻辑图写出输出函数逻辑表达式: Y=A·AB·B·AB =A·AB+B·AB =A+B(3.2) (2) 由逻辑表达式列出真值表,如表3.1所示。 图3.3例3.1的组合逻辑电路 表3.1例3.1的真值表 AB Y 000 011 101 110 列表方法: 输出函数逻辑表达式每个与项所覆盖的行填写1值,重复时只填写一次1值,剩余行填写 0 值。 (3) 由真值表进行功能说明: 由表3.1可知,当A、B输入变量取值相异时输出为1; 当A、B输入变量取值相同时输出为0。 图3.4例3.2的组合逻辑电路 电路实现异或功能。 【例3.2】试分析如图3.4所示的组合逻辑电路的逻辑功能。 【解】如图3.4所示的组合逻辑电路由4个或非门构成,A、B、C为3个输入变量, Y为1个输出函数,为单输出组合逻辑电路。 (1) 由逻辑图写出输出函数逻辑表达式: Y=A+B+B+C+A+C =AB+BC+AC(3.3) (2) 由逻辑表达式列出真值表,如表3.2所示。 表3.2例3.2的真值表 ABCY ABCY 00001000 00101011 01001101 01111111 (3) 由真值表进行功能说明: 由表3.2可知,当A、B、C 3个输入变量的取值中1的个数占多数时,输出Y=1,否则Y=0。 图3.5例3.3的组合逻辑电路 电路实现三变量多数一致(多数表决)功能。 【例3.3】试分析如图3.5所示的组合逻辑电路的逻辑功能。 【解】如图3.5所示的组合逻辑电路由3个异或门构成,B3、B2、B1、B0为4个输入变量,G3、G2、G1、G0为4个输出函数,为多输出组合逻辑电路。 (1) 由逻辑图写出输出函数逻辑表达式: G3=B3G2=B3B2=3B2+B32 G1=B2B1=2B1+B21 G0=B1B0=1B0+B10 (3.4) (2) 由逻辑表达式(3.4)列出真值表,如表3.3所示。 表3.3例3.3的真值表 B3B2B1B0G3G2G1G0B3B2B1B0G3G2G1G0 00000000 10001100 0001000110011101 0010001110101111 0011001010111110 0100011011001010 0101011111011011 0110010111101001 0111010011111000 (3) 由真值表进行功能说明: 由表3.3可知,输入变量B3B2B1B0的取值为4位二进制数的变化规律,输出函数G3G2G1G0的取值为4位格雷码的变化规律。 视频讲解 电路实现将4位二进制代码转换成4位格雷码。 3.2.2组合逻辑电路的设计方法 1. 一般设计步骤 根据给定的功能要求,求组合逻辑电路的过程称为组合逻辑电路的设计。 用SSI逻辑门设计组合逻辑电路时,要求所用门的数量最少,设计的一般步骤如图3.6所示。 图3.6组合逻辑电路设计的一般步骤 有以下两点说明。 (1) 设计的关键是正确分析设计要求,确定有几个输入变量、几个输出函数,以及输出 函数与输入变量之间的因果关系,必要时需规定0、1所表示的状态。 (2) 按门的类型进行函数化简,如用与门和或门、与非门实现,化简成最简与或式再变形; 用或非门、与或非门等实现,先化简成反函数的最简与或式再变形。 2. 设计举例 【例3.4】试设计一个1位十进制数数值范围判别电路,十进制数用8421码表示,当输入的十进制数大于或等于5时,输出为1,否则输出为0。分别用与非门、或非门实现。 【解】(1) 8421码的4个输入变量用A、B、C、D表示,一个输出函数用Y表示。 (2) 按输入的十进制数大于或等于5时输出为1、否则输出为0的关系列出真值表,如表3.4所示,其中将非8421码按无关项处理。 表3.4例3.4的真值表 ABCDYABCDY 0000010001 0001010011 001001010× 001101011× 010001100× 010111101× 011011110× 011111111× (3) 用与非门实现的方案。 ① 由真值表画出逻辑函数的卡诺图并圈1格化简,如图3.7所示,得最简与或逻辑表达式并变形为与非与非式 Y=A+BC+BD=·BC·BD(3.5) ② 由逻辑表达式(3.5)画出用与非门实现的逻辑图,如图3.8所示。 图3.7例3.4的卡诺图及化简方案一 图3.8例3.4用与非门实现的逻辑图 (4) 用或非门实现的方案。 ① 由真值表画出逻辑函数的卡诺图并圈0格化简,如图3.9所示,得反函数的最简逻辑表达式再变换为函数的或非或非式 Y=+(3.6) Y=+=A+B+A+C+D(3.7) ② 由逻辑表达式(3.7)画出用或非门实现的逻辑图,如图3.10所示。 图3.9例3.4的卡诺图及化简方案二 图3.10例3.4用或非门实现的逻辑图 【例3.5】试用最少的门设计一个三变量奇数判别电路,当三个输入变量的取值中有奇数个1时输出为1,否则输出为0。 【解】(1) 三个输入变量用A、B、C表示,一个输出函数用Y表示。 (2) 按三个输入变量的取值中有奇数个1时输出为1的逻辑关系,列出真值表如表3.5所示。 表3.5例3.5的真值表 ABCY ABCY 00001001 00111010 01011100 01101111 (3) 由真值表画出逻辑函数的卡诺图并化简,如图3.11所示,得最简逻辑表达式并变形为 Y=C+B+A+ABC =(C+B)+A(+BC) =(BC)+A·BC =A(BC)(3.8) (4) 由逻辑表达式(3.8)画出用异或门实现的逻辑图,如图3.12所示。 图3.11例3.5的卡诺图及化简 图3.12例3.5的逻辑图 【说明】变量取值组合中有奇数个1或偶数个1的2n-1 个最小项构成的逻辑函数标准与或式(n为变量个数),可用逻辑代数的基本公式转换为异或式并用异或门实现。 【例3.6】试用与非门和非门设计一个运算电路,输入为2位二进制数,输出为输入的平方。 【解】(1) 用A1A0表示2位二进制数的输入变量; 因最大输出数为9,输出函数应为4位二进制数,用Y3Y2Y1Y0表示。 (2) 按乘法运算的规则,列出真值表如表3.6所示。 表3.6例3.6的真值表 A1A0Y3Y2Y1Y0 000 000 010001 100 1 00 111 001 图3.13例3.6的逻辑图 (3) 由真值表写出函数Y3、Y2、Y1、Y0的逻辑表达式,并化简变形得 Y3=A1A0=A1A0 Y2=A10=A10 Y1=0 Y0=1A0+A1A0=A0(1+A1)=A0(3.9) (4) 由逻辑表达式(3.9)画出用与非门和非门实现的逻辑图如图3.13所示。 图3.14例3.7的水箱 示意图 【例3.7】如图3.14所示,在水箱中A、B、C三处安置三个水位检测元件,当水面高于检测元件时,检测元件输出高电平,水面低于检测元件时,检测元件输出低电平。试用与非门设计一个水位状态显示电路。要求: 当水面在A、B之间的正常状态时,仅绿灯G亮; 水面在B、C间或A以上的异常状态时,仅黄灯Y亮; 水面在C以下的危险状态时,仅红灯R亮。 【解】(1) 状态赋值。检测元件A、B、C输出高电平用逻辑1表示,输出低电平用逻辑0表示。指示灯G、Y、R亮用逻辑1表示,不亮用逻辑0表示。 (2) 根据题意,列出真值表如表3.7所示。其中,将不可能出现的状态所对应的输入取值组合010、100、101、110按无关项处理。 表3.7例3.7的真值表 ABCGYR 000001 001010 010××× 011100 100××× 101××× 110××× 111010 (3) 由真值表画出逻辑函数的卡诺图并圈1格化简,如图3.15所示,得最简与或逻辑表达式并变形为与非与非式。 G=B=BY=A+C=·CR=(3.10) 图3.15例3.7的卡诺图及化简 (4) 由逻辑表达式(3.10)画出用与非门实现的逻辑图,如图3.16所示。 图3.16例3.7的逻辑图 视频讲解 3.3常用组合逻辑电路 3.3.1加法器 在数字系统中,加法器是运算器中的一种典型运算电路。 1位全加器是组成加法器的基础,而1位半加器是全加器的基础。下面分别介绍1位半加器、1位全加器及加法器的原理。 1. 1位半加器 不考虑来自低位的进位数,仅对被加数和加数两个1位二进制数进行算术相加的运算称为半加运算。实现半加运算的电路称为1位半加器,简称半加器。 半加器的逻辑设计如下。 (1) 输入变量为被加数Ai、加数Bi; 输出函数为本位和数Si和向高位的进位数Ci+1。 (2) 按算术加法运算的规则,列出真值表如表3.8所示。 表3.8半加器的真值表 Ai BiSiCi+1Ai BiSiCi+1 00001010 01101101 (3) 由真值表写出函数Si、Ci+1最简逻辑表达式并变形得 Si=iBi+Aii=AiBi Ci+1=AiBi(3.11) (4) 由逻辑表达式(3.11)画出用异或门和与门实现的逻辑图,如图3.17所示。 半加器的图形符号如图3.18所示。 图3.17半加器的逻辑图 图3.18半加器的图形符号 2. 1位全加器 对被加数、加数及来自低位的进位数三个1位二进制数进行算术相加的运算称为全加运算。 实现全加运算的电路称为1位全加器,简称全加器。 全加器的逻辑设计如下。 (1) 输入变量为被加数Ai、加数Bi和来自低位的进位数Ci; 输出函数为本位和数Si和向高位的进位数Ci+1。 (2) 按算术加法运算的规则,列出真值表如表3.9所示。 表3.9全加器的真值表 Ai Bi CiSiCi+1 00000 00110 01010 01101 10010 10101 11001 11111 (3) 由真值表画出逻辑函数的卡诺图并化简,如图3.19所示,得最简逻辑表达式并变形为 Si=iiCi+iBii+Aiii+AiBiCi=AiBiCi Ci+1=AiBi+AiCi+BiCi=AiBi+AiCi+BiCi(3.12) 图3.19全加器的卡诺图及化简 (4) 由逻辑表达式(3.12)画出用异或门、与或非门及非门实现的逻辑图,如图3.20所示。 全加器的图形符号如图3.21所示。 图3.20全加器的逻辑图 图3.21全加器的图形符号 3. 加法器 实现对多位二进制数进行算术加法运算的电路称为加法器。按进位方式不同,又分为串行进位加法器和并行进位加法器两种。 1) 串行进位加法器 串行进位加法器(ripplecarry adder)由多个全加器构成,低位全加器的进位输出端连接相邻高位全加器的进位输入端,进位信号由低位到高位逐位传递,称为串行进位或行波进位。 串行进位加法器的特点是结构简单、运算速度慢。 图3.22为4位串行进位加法器的逻辑图。 图3.224位串行进位加法器的逻辑图 2) 并行进位加法器 并行进位亦称超前进位,各级的进位可同时产生,即通过逻辑电路事先确定各位的进位为0或1,高位运算时不必等待低位的进位,各位运算同时进行。 图3.2374LS283的图形符号 并行进位加法器(carry lookahead adder)的特点是结构复杂、运算速度快。 74LS283为集成4位并行进位加法器,图形符号如图3.23所示。其中,A3A2A1A0为数A输入端,B3B2B1B0为数B输入端,CI为进位输入端,S3S2S1S0为和输出端,CO为进位输出端。 运算关系为 S3S2S1S0 = A3A2A1A0 + B3B2B1B0 + CI(3.13) 视频讲解 并产生CO。 3.3.2数值比较器 数值比较器是用来比较两个相同位数二进制数大小、相等关系的逻辑电路。 1. 1位数值比较器 1位数值比较器的逻辑设计如下。 (1) 输入变量为两个相比较的1位二进制数Ai、Bi; 输出函数为比较的结果: Yi(A>B)表示Ai >Bi 的比较结果,Yi(A=B)表示Ai=Bi 的比较结果,Yi(A<B)表示Ai<Bi 的比较结果。 (2) 按数的大小、相等关系,列出真值表如表3.10所示。 (3) 由真值表写出各输出函数最简逻辑表达式并变形得 Yi(A>B)=Aii Yi(A<B)=iBi(3.14) Yi(A=B)=ii+AiBi=Aii+iBi=Yi(A>B)+Yi(A<B) (4) 由逻辑表达式(3.14)画出用非门、与门及或非门实现的逻辑图,如图3.24所示。 图3.241位数值比较器的逻辑图 表3.101位数值比较器的真值表 AiBi Yi(A>B)Yi(A=B)Yi(A<B) 00010 01001 10100 11010 2. 集成4 位数值比较器 图3.2574LS85的图形符号 多位数值比较的原理是从高位开始比较,高位能确定大小关系时不用比较低位,高位相等时比较次高位,以此类推。各位都相等时两个数才相等。 74LS85是设置级联输入端的集成4位数值比较器,图形符号如图3.25所示。其中,A3A2A1A0为数A输入端; B3B2B1B0为数B输入端; A>B、A=B、A<B为级联输入端,是比A0、B0更低位的比较结果; Y(A>B)、Y(A=B)、Y(A<B) 为比较结果输出端。 74LS85的真值表如表3.11所示。 表3.11集成4 位数值比较器74LS85的真值表 比 较 输 入级 联 输 入输出 A3B3A2B2A1B1A0B0A>BA<BA=BYA>BYA<BYA=B A3>B3××××××100 A3<B3××××××010 A3=B3A2>B2×××××100 A3=B3A2<B2×××××010 A3=B3A2=B2A1>B1××××100 A3=B3A2=B2A1<B1××××010 A3=B3A2=B2A1=B1A0>B0×××100 A3=B3A2=B2A1=B1A0<B0×××010 A3=B3A2=B2A1=B1A0=B0100100 A3=B3A2=B2A1=B1A0=B0010010 A3=B3A2=B2A1=B1A0=B0001001 【说明】按从高位开始比较,高位能确定大小关系时不用比较低位,高位相等时比较次高位的原理简化列写真值表。特点是既压缩了真值表的规模,又直观地表示了数值比较情况。 多片74LS85可级联扩大数的比较范围。级联的连接规则是: 高位片的级联输入端接低位片的输出端; 最低位片的级联输入端接常数: A>B端、A<B端分别接0,A=B端接1。 图3.26为用2片集成4 位数值比较器74LS85组成8位数值比较器的逻辑图,根据表3.11可以很容易地理解工作原理,这里不再叙述。 图3.262片74LS85组成8位数值比较器的逻辑图 视频讲解 3.3.3编码器 用按一定规律排列的0和1二进制数作代码表示十进制数的过程称为编码。实现编码的电路称为编码器。 编码器有二进制编码器、二十进制编码器和优先编码器等。 如编码器有8个输入端和3个输出端,称为8线3线编码器; 如编码器有10个输入端和4个输出端,称为10线4线编码器,以此类推。 1. 二进制编码器 用n位二进制代码对2n个十进制数进行编码的电路称为二进制编码器。 二进制编码器的特点是,输入变量有约束,任一时刻只允许一个输入信号有效,即输入变量互相排斥。 3 位二进制编码器的逻辑设计如下。 (1) 输入变量为0 ~ 7八个十进制数,用I0 ~ I7表示,1 输入有效; 输出函数为3位二进制代码,用Y2 ~ Y0表示。 (2) 用二进制数表示十进制数,列出真值表如表3.12所示。 表3.123 位二进制编码器的真值表 I0 I1 I2 I3 I4 I5 I6 I7Y2Y1 Y0 10000000000 01000000001 00100000010 00010000011 00001000100 00000100101 00000010110 00000001111 【说明】由输入变量互斥的约束特点,用一行表示对一个有效的输入信号进行编码的方法简化列写真值表。特点是既压缩了真值表的规模,又直观地表示了编码情况。 (3) 由真值表写出函数Y2 、Y1、Y0的最简逻辑表达式。 变量个数较多时无法用卡诺图化简。变量互斥时加入约束条件使用公式法对最小项进行简化,分析如下。如 0123456I7=0123456I7+I0I7+I1I7+I2I7+I3I7+I4I7+I5I7+I6I7 =I7(0123456+I0+I1+I2+I3+I4+I5+I6) =I7(3.15) 图3.273 位二进制编码器的 逻辑图 所以有 Y2=I4+I5+I6+I7 Y1=I2+I3+I6+I7 Y0=I1+I3+I5+I7(3.16) (4) 由逻辑表达式(3.16)画出用或门实现的逻辑图,如图3.27所示。 【说明】对I0 的编码是隐含的,当输入变量I1 ~ I7均无效为0时,输出Y2 Y1 Y0=000,就是I0 的编码。 2. 二十进制编码器 用4位二进制代码对0~9一位十进制数进行编码的电路称为二十进制编码器。 8421码二十进制编码器的逻辑设计如下。 (1) 输入变量为0~9十个十进制数,用I0 ~ I9表示,1 输入有效,任一时刻只允许一个输入信号有效; 输出函数为4位8421码,用Y3~ Y0表示。 (2) 按8421码的编码规则列出简化形式的真值表,如表3.13所示。 表3.138421码编码器的真值表 I0I1I2I3I4I5I6I7I8I9Y3Y2Y1Y0 10000000000000 01000000000001 00100000000010 00010000000011 00001000000100 00000100000101 00000010000110 00000001000111 00000000101000 00000000011001 (3) 由真值表写出函数Y3、Y2 、Y1、Y0的最简逻辑表达式 Y3=I8+I9 Y2=I4+I5+I6+I7 Y1=I2+I3+I6+I7 Y0=I1+I3+I5+I7+I9(3.17) (4) 由逻辑表达式(3.17)画出用或门实现的逻辑图,如图3.28所示。 图3.288421码编码器的逻辑图 【说明】对I0 的编码是隐含的,当输入变量I1 ~I9均无效为0时,输出Y3Y2 Y1 Y0=0000,就是I0 的编码。 图3.2974LS148的图形符号 3. 优先编码器 优先编码器(priority encoder)允许同时输入两个及两个以上编码信号,但只对其中一个优先级最高的输入信号进行编码。 74LS148是8线3线集成二进制优先编码器,图形符号如图3.29所示。其中,EI为选通输入端,0有效; EO为选通输出端; GS为扩展输出端; 0~7为编码信号输入端,0有效,大数优先级高; Y2~Y0为输出端,反码输出。注意,ET、EO、GS、i中的横线“-”表示0有效,不是非号。 74LS148简化形式的真值表如表3.14所示。 表3.148线3线二进制优先编码器74LS148的真值表 EI01234567Y2Y1Y0EOGS 1××××××××11111 01111111111101 0×××××××000010 0××××××0100110 0×××××01101010 0××××011101110 0×××0111110010 0××01111110110 0×011111111010 00111111111110 图3.30为用2片8线3线集成二进制优先编码器组成16线4线二进制优先编码器的逻辑图。根据表3.14可以很容易地理解工作原理,这里不再叙述。 图3.302片74LS148组成16线4线二进制优先编码器 视频讲解 3.3.4译码器 将代码译成表示十进制数输出信号的过程称为译码。实现译码的电路称为译码器(decoder)。 译码器有二进制译码器、二十进制译码器和显示译码器等。 译码器的输入信号为二进制代码,输出信号为对应输入二进制代码的十进制数输出信号。输出信号的形式有直接表示十进制数的高、低电平信号及通过显示器件表示十进制输出的显示控制信号。 如译码器有3个输入端和8个输出端,称为3线8线译码器; 如译码器有4个输入端和10个输出端,称为4线10线译码器,以此类推。 1. 二进制译码器 将n位二进制代码译成2n个十进制数的译码器称为二进制译码器。 二进制译码器特点是: 每输入一组代码,多个输出端中仅一个输出端有信号输出。 1) 2位二进制译码器 2位二进制译码器的逻辑设计如下。 (1) 输入变量为2位二进制代码,用A1、A0表示; 输出函数为4个十进制数,用Y3~Y0表示,1输出有效。 (2) 按二进制代码和十进制数的对应关系,列出真值表如表3.15所示。 表3.152位二进制译码器的真值表 A1A0Y3Y2Y1Y0 000001 010010 100100 111000 (3) 由真值表写出函数Y3、Y2 、Y1、Y0的最简逻辑表达式 Y3=A1A0 Y2=A10 Y1=1A0 Y0=10 (3.18) (4) 由逻辑表达式(3.18)画出用与门、非门实现的逻辑图如图3.31所示。 2位二进制译码器也称为2线4线译码器。 2) 集成3线8线译码器 74LS138是设置选通控制端的集成3线8线译码器,图形符号如图3.32所示。其中,S1、2、3为选通控制端; A2、A1、A0为代码输入端,或称为地址输入端; Y0~Y7为输出端,0输出有效。注意,i、Yi中的横线“-”表示0有效,不是非号。 图3.312位二进制译码器的逻辑图 图3.3274LS138的图形符号 74LS138的真值表如表3.16所示。 由真值表可写出选通控制端S1=1、2=3=0时的输出逻辑表达式为 Y0=210 Y1=21A0 Y2=2A10 Y3=2A1A0 Y4=A210 Y5=A21A0 Y6=A2A10 Y7=A2A1A0 (3.19) 输出逻辑表达式可表示成一般形式 Yi=m-i(i = 0~7)(3.20) 其中,mi 是地址输入变量A2、A1、A0构成的最小项。译码的结果是地址输入变量构成最小项的反函数。 表3.163线8线译码器74LS138的真值表 S12+3A2A1A0 Y0Y1Y2Y3Y4Y5Y6Y7 0××××11111111 ×1×××11111111 1000001111111 1000110111111 1001011011111 1001111101111 1010011110111 1010111111011 1011011111101 1011111111110 当选通控制端不是S1=1、2=3=0时,译码器禁止译码,各输出端Y0~Y7均输出1。 3) 集成译码器的扩展 74LS138选通控制端不仅可以控制译码器的工作状态,还可以进行译码范围扩展。 图3.33为用2片74LS138扩展构成4线16线译码器的一种连接方案。其中,4位二进制代码的最高位A3控制各片的部分选通控制端,4位二进制代码的低3位A2、A1、A0接至各片的片内代码输入端。为所构成4线16线译码器的选通控制端。 =0时的译码过程为: A3A2A1A0的变化范围为0000~0111时,片1工作译码,Y0~Y7端有输出; 而片2禁止译码,Y8~Y15端均输出1。 A3A2A1A0的变化范围为1000~1111时,片2工作译码,Y8~Y15端有输出; 而片1禁止译码,Y0~Y7端均输出1。 图3.332片74LS138组成4线16线译码器的逻辑图 2. 二十进制译码器 将4位BCD码译成10个十进制数的译码器称为二十进制译码器,亦称为4线10线译码器。 图3.3474LS42的图形符号 74LS42是8421码集成二十进制译码器,图形符号如图3.34所示。其中,A3、A2、A1、A0为代码输入端,或称为地址输入端; Y0~Y9为输出端,0输出有效。 74LS42的真值表如表3.17所示。由真值表可看出,74LS42对8421码以外的6个伪码1010~1111拒绝翻译,当伪码输入时,Y0~Y9均输出为1,不会出现误译码。 表3.174线10线译码器74LS42的真值表 A3A2A1A0Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9 00000111111111 00011011111111 00101101111111 00111110111111 01001111011111 01011111101111 01101111110111 01111111111011 10001111111101 10011111111110 10101111111111 10111111111111 伪11001111111111 码11011111111111 11101111111111 11111111111111 由真值表可写出输出逻辑表达式为 Y0=3210 Y1=321A0 ︙ Y9=A321A0 (3.21) 输出逻辑表达式可表示成一般形式 Yi=mi(i =0~9)(3.22) 其中,mi 是地址输入变量A3、A2、A1、A0构成的最小项。译码的结果是地址输入变量构成最小项的反函数。 由表3.17可以看出,当74LS42的输出Y8、Y9不使用,并将A3作为选通控制端时,构成0输出有效的3线8线译码器。 3. 显示译码器 在数字系统中,经常需要将二进制编码翻译成人们习惯的十进制数形式,直观地显示出来, 七段字符显示器是常见的数码显示器件。 显示译码器由七段字符显示器和译码器构成。 1) 七段字符显示器 七段字符显示器又称七段数码显示器,由七段可发光的线段构成,利用发光段的不同组合方式显示“0~9”十进制数,如图3.35所示。 图3.35七段字符显示器及显示的数字 按发光原理不同,显示器件分为LED(Light Emitting Diode)显示器(半导体显示器)和LCD(Liquid Crystal Display)显示器(液晶显示器)。 (1) LED显示器。 用发光二极管(LED)组成字形显示数字,每个LED为一个发光段,有共阳极和共阴极两种接法,如图3.36所示。 图3.36七段LED的两种接法 (2) LCD显示器。 液晶是一种既具有液体的流动性又具有晶体光学特性的有机化合物。它的透明度和显示的颜色受外电场的控制。依靠在外界电场作用下产生的光电效应,调制外界光线使液晶不同部位显现出反差,显示出字形,如图3.37所示。 图3.37液晶的显示原理 2) 4线七段译码器/驱动器 74LS248是集成4线七段译码器/驱动器,1输出有效,用于驱动共阴极LED数码显示器,图形符号如图3.38所示。 其中,A3~A0为译码地址输入端,LT为灯测试输入端(0有效); RBI为脉冲消隐输入端(0有效); BI/RBO 为消隐输入(0有效)/脉冲消隐输出(0有效); Ya~Yg为控制七段LED的输出端。 74LS248的真值表如表3.18所示。 表3.184线七段译码器/驱动器74LS248的真值表 十进制 或功能输入 LTRBIA3 A2 A1A0BI/RBO 输出 Ya Yb Yc Yd Ye Yf Yg 011000011111110 11×000110110000 21×001011101101 31×001111111001 41×010010110011 51×010111011011 61×011011011111 71×011111110000 81×100011111111 91×100111111011 101×101010001101 111×101110011001 121×110010100011 131×110111001011 141×111010001111 151×111110000000 消隐××××××00000000 脉冲消隐10000000000000 灯测试0×××××11111111 用74LS248控制1位LED显示电路如图3.39所示。 图3.3874LS248的图形符号 图3.3974LS248控制1位LED显示电路 视频讲解 3.3.5数据分配器 图3.40数据分配器的示意图 在分配控制信号(也称地址信号)的作用下,将一个数据分配到多个输出端中的某个输出端的逻辑电路称为数据分配器。 数据分配器有1个数据输入端、n个分配控制信号和2n个数据输出端。功能示意图如图3.40所示。 1路4路数据分配器的逻辑设计如下。 (1) 输入变量及输出函数。 1个数据信号,用D 表示; 2个分配控制信号,用A1、A0表示; 4个输出函数信号,用Y0、Y1、Y2、Y3 表示。 (2) 按控制分配关系,列出真值表如表3.19所示。 表3.191路4路数据分配器的真值表 A1A0Y0Y1Y2Y3 00D000 010D00 1000D0 11000D 【说明】由数据分配关系,用一行表示将数据分配到一个输出端的方法简化列写成引入变量真值表。特点是既压缩了真值表的规模,又直观地表示了数据分配情况。 (3) 由真值表写出输出函数Y0、Y1 、Y2、Y3的最简逻辑表达式: Y0=10D Y1=1A0D Y2=A10D Y3=A1A0D(3.23) (4) 由逻辑表达式(3.23)画出用与门、非门实现的逻辑图如图3.41所示。 图3.42为用集成3线8线译码器74LS138构成的1 路8路数据分配器。其中,D为数据输入端,A2~A0为分配控制信号,Y0~Y7为数据输出端。根据表3.16可以很容易地理解工作原理,这里不再叙述。 图3.411路4路数据分配器的逻辑图 图3.4274LS138构成的1 路8路数据分配器 视频讲解 3.3.6数据选择器 在选择控制信号(也称地址输入信号)的作用下,从多个输入数据中选择一个作为输出信号的逻辑电路称为数据选择器(Multiplexer,MUX)。 数据选择器有2n个数据输入端、n个选择控制信号和1个数据输出端。功能示意图如图3.43所示。 1. 4选1数据选择器 4选1数据选择器的逻辑设计如下。 (1) 输入变量及输出函数。 4个数据输入信号,用D0、D1、D2、D3表示; 2个选择控制信号,用A1、A0表示; 1个输出函数,用Y表示。 (2) 按选择控制关系,列出真值表如表3.20所示。 图3.43数据选择器示意图 表3.204 选1数据选择器的真值表 A1A0Y 00D0 01D1 10D2 11D3 【说明】由数据选择关系,用一行表示选择一个输入数据的方法简化列写成引入变量真值表。特点是既压缩了真值表的规模,又直观地表示了数据选择情况。 图3.444 选1数据选择器的 逻辑图 (3) 由真值表写出函数Y的最简逻辑表达式: Y=10D0+1A0D1+A10D2+A1A0D3(3.24) (4) 由逻辑表达式(3.24)画出用与或非门、非门实现的逻辑图如图3.44所示。 2. 集成数据选择器 1) 集成4 选1数据选择器 74LS153是集成双4选1数据选择器,芯片内部有2个相同的4选1数据选择器,各有独立的选通控制端、数据输入端、输出端和有公用的地址输入端(选择控制端)。 74LS153的图形符号如图3.45所示。其中,为选通控制端,A1、A0 为地址输入端,D0、D1、D2、D3 为数据输入端,Y为输出端。 注意,中的横线“-”,表示0有效,不是非号。 74LS153的真值表如表3.21所示。 图3.4574LS153的图形符号 表3.2174LS153的真值表 A1A0Y 1××0 000D0 001D1 010D2 011D3 由真值表得74LS153的逻辑表达式为 Y=[10D0+1A0D1+A10D2+A1A0D3] S(3.25) 即=0时 Y=10D0+1A0D1+A10D2+A1A0D3 =∑3i=0mi·Di(3.26) 图3.4674LS151的图形符号 其中,mi 是以A1、A0为变量构成的最小项。 =1时 Y= 0(3.27) 2) 集成8 选1数据选择器 74LS151是集成8选1数据选择器,图形符号如图3.46所示。其中,为选通控制端,A2、A1、A0 为地址输入端,D0~D7为数据输入端,Y为输出端,Y为反码输出端。 注意,中的横线“-”,表示0有效,不是非号。 74LS151的真值表如表3.22所示。 表3.2274LS151的真值表 A2A1A0 YY 1×××01 0000D00 0001D11 0010D22 0011D33 0100D44 0101D55 0110D66 0111D77 由真值表得74LS151的逻辑表达式为 Y=[210D0+21A0D1+2A10D2+2A1A0D3+ A210D4+A21A0D5+A2A10D6+A2A1A0D7]S(3.28) 即=0时 Y=210D0+21A0D1+2A10D2+2A1A0D3+ A210D4+A21A0D5+A2A10D6+A2A1A0D7 =∑7i=0mi·Di(3.29) 其中,mi 是以A2、A1、A0为变量构成的最小项。 =1时 Y= 0(3.30) 反码输出的逻辑表达式为 Y=[2100+21A01+2A102+2A1A03+ A2104+A21A05+A2A106+A2A1A07]S+(3.31) 3) 集成数据选择器的扩展 (1) 使用选通控制端扩展。 图3.47为2片8选1数据选择器74LS151使用选通控制端扩展构成16选1数据选择器的逻辑电路图。 图3.472片8选1数据选择器74LS151构成16选1数据选择器 工作原理为: 最高位地址输入信号A3控制2片的选通控制端。 当A3=0时,使1=0、2=1,片(1)工作、片(2)禁止,Y = Y1,由A2A1A0从D0~D7中选择一个输入信号作输出; 当A3=1时,使1=1、2=0,片(2)工作、片(1)禁止,Y = Y2,由A2A1A0从D8~D15中选择一个输入信号作输出。 (2) 使用两级选择扩展。 图3.48为用4选1数据选择器74LS153通过两级选择扩展构成8选1数据选择器的逻辑电路图。 图3.484选1数据选择器通过两级选择扩展构成8选1数据选择器 工作原理为: 当A2=0时,Y=Y1,由A1A0从D0~D3中选择一个输入信号作输出; 当A2=1时,Y=Y2,由A1A0从D4~D7中选择一个输入信号作输出。 3.4用中规模集成组合逻辑器件实现组合逻辑函数 利用某些组合MSI逻辑器件的特定逻辑功能,可以实现一般组合逻辑函数,从而扩展专用集成电路的应用范围。下面介绍用二进制译码器、数据选择器及加法器实现组合逻辑函数的方法。 视频讲解 3.4.1用二进制译码器实现组合逻辑函数 1. 基本原理 集成二进制译码器74LS138在选通控制端S1=1、2=3=0时处于工作状态,输出逻辑表达式的一般形式为 Yi=mi(i=0~7)(3.32) 其中,mi 是地址输入变量A2、A1、A0构成的最小项。 式(3.32)表明二进制译码器74LS138处于工作状态时的输出函数为地址输入变量构成最小项的反函数。 任何逻辑函数都可表示成最小项之和形式并变换成与非与非式,即最小项反函数的与非式。 由二进制译码器产生最小项的反函数,附加与非门将某些最小项的反函数进行与非运算,可实现一般组合逻辑函数。 2. 用二进制译码器实现组合逻辑函数的一般步骤 一般步骤如图3.49所示。 图3.49用二进制译码器实现组合逻辑函数的一般步骤 有以下两点说明。 (1) 单个译码器使用时所实现函数的变量个数不多于3个。 (2) 既适用于单输出也适用于多输出组合逻辑函数的实现。 3. 设计举例 【例3.8】试用3线8线译码器74LS138附加门电路设计一个1位全加器。 【解】(1) 输入变量为被加数Ai、加数Bi和来自低位的进位数Ci; 输出函数为本位和数Si和向高位的进位数Ci+1。 令所实现函数的输入变量为译码器的地址输入变量,即令 A2=Ai A1=Bi A0=Ci(3.33) (2) 列出真值表如表3.9所示。 (3) 由真值表写出标准与或式并变形为最小项反函数的与非式及译码器输出量的与非式 Si=iiCi+iBii+Aiii+AiBiCi =m1+m2+m4+m7 =m1m2m4m7=Y1Y2Y4Y7 Ci+1=iBiCi+AiiCi+AiBii+AiBiCi =m3+m5+m6+m7 =m3m5m6m7=Y3Y5Y6Y7(3.34) (4) 由逻辑表达式(3.33)和式(3.34)画出用74LS138及与非门实现的逻辑图如图3.50所示。 4. 分析举例 对用集成译码器构成的组合逻辑电路进行分析,关键是要清楚译码器本身的逻辑关系及信号的传输关系。 【例3.9】试分析如图3.51所示的组合逻辑电路的逻辑功能。 图3.50例3.8的逻辑图 图3.51例3.9的组合逻辑电路 【解】如图3.51所示的组合逻辑电路由1个3线8线译码器74LS138及2个与非门构成,A、B、C为3个输入变量, Y0、Y1为2个输出函数,为多输出组合逻辑电路。 (1) 由逻辑图写出输出函数逻辑表达式 Y0=Y1Y2Y4Y7=m1m2m4m7 =m1+m2+m4+m7=C+B+A+ABC(3.35) Y1=Y1Y2Y3Y7=m1m2m3m7 =m1+m2+m3+m7=C+B+BC+ABC(3.36) (2) 由逻辑表达式(3.35)和式(3.36)列出真值表如表3.23所示。 表3.23例3.9真值表 ABCY0Y1 ABCY0Y1 0000010010 0011110100 0101111000 0110111111 (3) 由真值表做功能说明: 由表3.23可知,该电路完成1位全减逻辑功能。 A、B、C分别为被减数、减数及来自低位的借位数,Y0为本位差数,Y1为向高位的借位数。 视频讲解 3.4.2用数据选择器实现组合逻辑函数 1. 基本原理 集成数据选择器74LS153、74LS151在选通控制端=0时处于工作状态,输出逻辑表达式的一般形式为 Y=∑mi·Di(3.37) 其中,mi 是地址输入变量A1、A0或A2、A1、A0构成的最小项。 任何逻辑函数都可表示为与或表达式。 若数据选择器的地址输入量为所实现函数的变量或部分变量,各数据输入端为常量0、1或另外的部分变量,可实现一般组合逻辑函数。 2. 用数据选择器实现组合逻辑函数的一般步骤 用数据选择器实现组合逻辑函数的方法是使所实现函数的表示形式与数据选择器的表示形式相一致,通过对比确定数据选择器各数据输入端的逻辑表达式。 通常有真值表法、代数法和卡诺图法等。 真值表法是使实现函数的真值表和数据选择器的真值表有一致的形式; 代数法是使实现函数的逻辑表达式和数据选择器的逻辑表达式有一致的形式; 卡诺图法是使实现函数的卡诺图和数据选择器的卡诺图有一致的形式。 图3.52为真值表法实现组合逻辑函数的一般步骤。 图3.52用数据选择器实现组合逻辑函数的一般步骤 有以下两点说明。 (1) 数据选择器一般适用于单输出组合逻辑函数的实现。 (2) 数据选择器有n位地址、函数有k个变量时,一般n和k的关系为n=k-1或n=k。 3. 设计举例 【例3.10】用4选1数据选择器74LS153实现逻辑函数 F=AB+BC+AC。 【解】1) 真值表法 (1) 选择所实现逻辑函数的A、B变量为数据选择器的地址输入变量,即令 A1 = A A0= B(3.38) 从数据选择器的输出端输出所实现的逻辑函数,即令 F= Y(3.39) (2) 以A、B为变量列出4选1数据选择器及逻辑函数 F的真值表,如表3.24所示。 表3.24例3.10的真值表 A BY F 00 D00 01D1C 10D2C 11D31 (3) 由真值表确定数据选择器各数据输入端的表达式为 D0 = 0 D1 = D2 = C D3 = 1(3.40) 图3.53例3.10的逻辑图 (4) 由逻辑表达式(3.38)、式(3.39)和式(3.40)画出用74LS153实现的逻辑图如图3.53所示。 2) 代数法 (1) 选择所实现逻辑函数的A、B变量为数据选择器的地址输入变量,即令 A1 = A A0= B(3.41) 从数据选择器的输出端输出所实现的逻辑函数,即令 F= Y(3.42) (2) 写出4选1数据选择器74LS153的输出逻辑表达式 Y=10D0+1A0D1+A10D2+A1A0D3(3.43) (3) 将函数F 的表达式变形为和4选1数据选择器的输出逻辑表达式相一致的形式 F=AB+BC+AC =AB+(+A)BC+A(+B)C =AB+BC+ABC+AC+ABC =AB(1+C+C)+BC+AC =·0+B·C+A·C+AB·1(3.44) (4) 比较式(3.43)和式(3.44),确定数据选择器各数据输入端的表达式为 D0 = 0 D1 = D2 = C D3 = 1(3.45) (5) 由逻辑表达式(3.41)、式(3.42)和式(3.45)画出用74LS153实现的逻辑图如图3.53所示。 【例3.11】用8选1数据选择器74LS151设计一个三变量奇数判别电路,当三个输入变量的取值中有奇数个1时输出为1。 【解】(1) 三个输入变量用A、B、C表示,一个输出函数用F表示。 选择所实现逻辑函数的A、B、C变量为数据选择器的地址输入变量,即令 A2 = A A1= B A0= C(3.46) 从数据选择器的输出端输出所实现的逻辑函数,即令 F= Y(3.47) (2) 以A、B、C为变量列出8选1数据选择器及逻辑函数 F的真值表,如表3.25所示。 (3) 由真值表确定数据选择器各数据输入端的表达式为 D0= D3= D5= D6=0 D1= D2= D4= D7= 1(3.48) (4) 由逻辑表达式(3.46)、式(3.47)和式(3.48)画出用74LS153实现的逻辑图如图3.54所示。 表3.25例3.11的真值表 ABCYF 000D00 001D11 010D21 011D30 100D41 101D50 110D60 111D71 图3.54例3.11的逻辑图 4. 分析举例 对用数据选择器构成的组合逻辑电路进行分析,关键是要清楚数据选择器本身的逻辑关系及信号的传输关系。 【例3.12】试分析如图3.55所示的组合逻辑电路的逻辑功能。 图3.55例3.12的组合逻辑电路 【解】如图3.55所示的组合逻辑电路由3个4选1数据选择器构成,A、B、C、D为4个输入变量, Y为1个输出函数,为单输出组合逻辑电路。 (1) 由逻辑图写出输出函数逻辑表达式为 Y=Y0+AY1 =(·0+C·D+B·1+BC·1)+A(··1+C·1+B·+BC·0) =CD+B+BC+A+AC+AB(3.49) (2) 由逻辑表达式(3.49)列出真值表如表3.26所示。 表3.26例3.12的真值表 ABCDYABCDY 0000010001 0001010011 0010010101 0011110111 0100111001 0101111010 0110111100 0111111110 (3) 由真值表做功能说明: 由表3.26可知,当输入变量A、B、C、D的取值为0011~1100时输出Y=1,否则输出Y=0。而0011~1100为余3码。 该电路为余3码检测电路。 3.4.3用加法器实现组合逻辑函数 加法器适合设计函数关系为输出函数=输入变量+常量 的组合逻辑电路。其中,输入变量与常数为算术加运算。 常用于实现8421码和余3码的转换,转换关系式为 余3码 = 8421码 + 0011(3.50) 8421码 = 余3码 + 1101 (3.51) 【例3.13】试用4位加法器74LS283设计一个将8421码转换为余3码的代码转换电路。 【解】输入变量为4位8421码,用D、C、B、A表示; 输出函数为4位余3码,用 W、X、Y、Z表示。 转换关系为 WXYZ = DCBA + 0011 (3.52) 画出逻辑图如图3.56所示。 【例3.14】试用4位加法器74LS283设计一个将余3码转换为8421码的代码转换电路。 【解】输入变量为4位余3码,用 W、X、Y、Z表示; 输出函数为4位8421码,用D、C、B、A表示。 转换关系为 DCBA = WXYZ + 1101(3.53) 画出逻辑图如图3.57所示。 图3.56 例3.13的逻辑图 图3.57例3.14的逻辑图 视频讲解 3.5组合逻辑电路的竞争冒险 3.5.1产生竞争冒险的原因 1. 竞争冒险的概念 在组合逻辑电路中,由于逻辑门存在传输时间,使两个互反的变量经不同的路径到达同一点有先有后,这种现象称为竞争。 因竞争所产生的错误输出称为冒险。 2. 1型冒险分析 图3.58给出了与门产生竞争的逻辑电路及输入、输出波形。 输出逻辑表达式为 Y=A·(3.54) 由于非门存在传输时间,使到达与门输入端的信号滞后于A,和A为有竞争的变量。 稳态时无论A=0、A=1或A由1跳变为0时,由式(3.54)有正确输出Y=0。当A 由0跳变为1时,由式(3.54)有输出Y=1,为错误输出,称为1型冒险。 3. 0型冒险分析 图3.59给出了或门产生竞争的逻辑电路及输入输出波形。 图3.58与门竞争冒险 图3.59或门竞争冒险 输出逻辑表达式为 Y=A+(3.55) 由于非门存在传输时间,使到达或门输入端的信号滞后于A,和A为有竞争的变量。 稳态时无论A=0、A=1或A 由0跳变为1时,由式(3.55)有正确输出Y=1。当A由1跳变为0时,由式(3.55)有输出Y=0,为错误输出,称为0型冒险。 3.5.2检查竞争冒险的方法 1. 代数检查法 逻辑函数表达式中同时含有某一变量的原、反变量存在冒险的可能性。令其他变量为常数0或1时,若简化为 Y=A·形式,则存在1型冒险; 若简化为 Y=A+形式,则存在0型冒险。 【例3.15】一个组合逻辑电路的输出逻辑表达式为Y=AB+C,检查竞争冒险情况。 【解】当B=1、C=1时,Y=A+,存在0型冒险。 【例3.16】一个组合逻辑电路的输出逻辑表达式为Y=(A+B)(+C),检查竞争冒险情况。 【解】当A=0、C=0时,Y=B·,存在1型冒险。 2. 卡诺图检查法 逻辑函数的卡诺图中,若两个化简的包围圈相切,则存在冒险。 例3.15和例3.16中各逻辑函数的卡诺图及化简的包围圈如图3.60所示,各卡诺图中的两个包围圈均相切,存在冒险。 图3.60包围圈相切存在冒险 3.5.3消除竞争冒险的方法 1. 修改逻辑设计,增加冗余项 例3.15中的逻辑表达式为Y=AB+C,当B=1、C=1时存在0型冒险。若增加冗余项BC,表达式变为Y=AB+C+BC,则当B=1、C=1时Y=1,消除了冒险。 例3.16中的逻辑表达式为Y=(A+B)(+C),当A=0、C=0时存在1型冒险。若增加冗余项(A+C),表达式变为Y=(A+B)(+C)(A+C),当A=0、C=0时Y=0,消除了冒险。 在逻辑函数卡诺图中,增加冗余项的方法就是在两个包围圈相切处再增加一个包围圈。例3.15和例3.16的卡诺图及包围圈的修改如图3.61所示,虚线包围圈为所增加的包围圈。 图3.61增加冗余项消除冒险 2. 引入选通脉冲 在组合逻辑电路输出门的输入端增加一个选通脉冲信号,当有冒险脉冲时将输出级封锁,使冒险脉冲不能输出,而当冒险脉冲消失后选通脉冲允许正常输出。 3. 接入滤波电容 冒险脉冲是一个数十纳秒的窄脉冲,在电路的输出端接入一个几百皮法的小电容,可将窄脉冲的幅度削弱至门的阈值电平以下,从而消除冒险。 视频讲解 3.6组合逻辑电路Multisim仿真示例 1. 1位半加器逻辑功能的Multisim仿真 (1) 在Multisim中构建1位半加器逻辑功能仿真电路,如图3.62所示。其中,1位半加器由异或门74LS86N和与门74LS08N组成,开关用于控制输入状态,开关接+5V为逻辑1输入、接地为逻辑0输入,指示灯用于确定输出状态,灯亮为逻辑1输出、不亮为逻辑0输出。 图3.621位半加器逻辑功能仿真电路 (2) 仿真运行分析。 改变开关状态使AiBi分别为00、01、10、11四种组合状态,指示灯显示的状态SiCi+1分别为00、10、10、01,符合半加运算的规律。 亦可用字信号发生器提供所需的输入信号; 用逻辑分析仪或四踪示波器以波形形式显示输入、输出信号。 视频讲解 2. 用Multisim仿真设计组合逻辑电路 用Multisim仿真设计例3.4所要求的1位十进制数数值范围判别电路,十进制数用8421码表示,当输入的十进制数大于或等于5时输出为1,否则输出为0。 (1) 在虚拟仪表栏中选取逻辑转换仪,打开面板在真值表区单击A、B、C、D四个逻辑变量,在真值表区输出变量列中填入函数值,建立真值表如图3.63所示。 (2) 单击逻辑转换仪面板上“真值表→简化逻辑表达式”按钮,在逻辑表达式栏中得到相应的最简逻辑表达式,如图3.63面板底部表达式栏所示。 图3.63逻辑转换仪中建立的真值表 (3) 单击“逻辑表达式→与非门逻辑电路”按钮,在工作平台的电路工作区得到2输入端与非门构成的逻辑电路,如图3.64所示。 图3.64仿真设计的数值范围判别电路 3. 集成数据选择器逻辑功能的Multisim仿真 (1) 在Multisim中构建数据选择器逻辑功能仿真电路如图3.65所示。其中,4选1集成数据选择器选用74LS153N,字信号发生器用于产生数据选择器的D0~D3数据输入变量,逻辑分析仪用于显示数据选择器的D0~D3数据输入变量信号及Y 输出函数信号的波形,数据选择器的选择控制端A1、A0的输入状态由开关控制,选通控制端=0处于工作状态。 图3.65数据选择器逻辑功能仿真电路 (2) 设计字信号发生器输出信号时,字组内容应反映数据选择器不同数据输入端的输入情况,输入波形设计和字组数据如图3.66所示。 图3.66输入波形设计及字组数据 在字信号发生器的数据栏内以十六进制依次输入各字组数据0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、0,并对最后一个字数据进行末地址设置,完成所有字组数据的设置。 (3) 仿真运行分析。 A1A0=00时逻辑分析仪显示的波形如图3.67所示,由上至下依次为D0~D3数据输入变量及输出函数Y的波形。 图3.67A1A0=00时的仿真实波形 由图3.67可知,Y输出函数的波形和D0输入变量的波形相同,实现了A1A0=00时选择D0作输出。 再将A1A0分别置于01、10、11,可得到选择D1、D2、D3作输出的仿真波形。 本章小结 本章主要介绍了组合逻辑电路的特点、组合逻辑电路的分析方法和设计方法、常用组合逻辑电路、用中规模集成组合逻辑器件实现组合逻辑函数的方法及组合逻辑电路的竞争冒险。 (1) 组合逻辑电路的结构特点是由门构成且从输出端到输入端无反馈连接。组合逻辑电路的功能特点是任一时刻的输出信号仅取决于该时刻的输入信号,而与输入信号作用前电路所处的状态无关。 (2) 常用组合逻辑电路有加法器、数值比较器、编码器、译码器、数据分配器和数据选择器。要注意理解概念,掌握集成器件的图形符号、逻辑表达式等功能。 (3) 组合逻辑电路的分析通常采用逐级推导的方法写出输出逻辑表达式,推导表达式时关键要清楚逻辑门、集成器件的功能,然后通过列真值表等方式反映电路输出函数与输入变量之间的逻辑关系。 (4) 进行组合逻辑电路设计,所用组合器件不同,设计方法也有所不同。用门电路设计时,化简求解和门类型对应的最简逻辑表达式; 用译码器、数据选择器等中规模组合器件设计时,将逻辑表达式变换为适合该器件的相应形式; 加法器只适于输出等于输入算术加常数的特殊设计。 (5) 对于组合逻辑电路的竞争冒险,主要清楚什么条件下冒险现象可能出现。 自测题 1. 单项选择题 (1) 组合逻辑电路在结构上()。 A. 由门构成且无反馈 B. 由门构成可以有反馈 C. 含有记忆元件 D. 以上均正确 (2) 用异或门实现逻辑函数 Y=ABC,当只提供原变量时所用异或门的最少数量为()。 A. 1个B. 2个 C. 3个D. 4个 (3) 某逻辑函数的最简表达式为Y=A+B,在只有原变量没有反变量的条件下实现电路时共需要的门电路为()。 A. 3种类型5个B. 3种类型4个 C. 2种类型4个D. 2种类型3个 (4) 可以有多个输入信号同时有效的编码器是()。 A. 二进制编码器B. 二十进制编码器 C. 优先编码器D. 8421码编码器 (5) 二进制编码器的功能是()。 A. 将若干个输入信号转换成其他的输出信号 B. 将某个控制信息转换成给定的二进制数 C. 将 N=2n个输入信号变成n位二进制代码 D. 将n位二进制代码变成 N=2n个十进制数 (6) 用3线8线译码器芯片74LS138扩展实现一个4线16线译码器,需要74LS138芯片的数量为()。 A. 2片B. 4片C. 8片D. 16片 (7) 在设计8421码译码器时,可以作为无关项在设计中加以利用的伪码为 0000~1111 十六种状态的()。 A. 前6个B. 后6个 C. 前3个和后3个D. 中间 6个 (8) 4选1数据选择器的地址输入量为A1、A0 ,数据输入量为D3、D2 、D1、D0 ,若使输出Y=D2,则应使地址输入A1A0 =()。 A. 00B. 01C. 10D. 11 (9) 一组合逻辑电路的输出逻辑表达式为 Y1=ABC,Y2=B+C+BC,该电路是()。 A. 1位半加器B. 1位全加器C. 1位全减器D. 以上均不对 (10) 当B=C=1时,函数式 Y=B+AC存在()。 A. 0型冒险B. 1型冒险 C. 0型、1型冒险都有D. 无竞争冒险 2. 填空题 (1) 在数字逻辑电路中,任一时刻的输出信号只取决于该时刻的输入信号,而与输入 信号作用前电路所处的状态无关的逻辑电路属于逻辑电路。 (2) 某逻辑函数的最简表达式为 Y=A+B,在只提供原变量的条件下若用与非门来实现,则所需要双输入端与非门电路的个数为 。 (3) 二进制编码器、二十进制编码器、优先编码器中,对输入信号没有约束的是。 (4) 二进制译码器的特点是,每输入一组代码多个输出端中仅个输出端有信号输出。 (5) 二进制译码器的每一组输入组合对应一个输出端,所以n位二进制代码输入的译码器有个输出端。 (6) 0输出有效的3线8线译码器74LS138若使输出Y3=0,则代码输入量A2 A1 A0 应为。 (7) 实现两个一位二进制数相加但不考虑低位来的进位,产生一位和值及一位进位值的加法器称为。 (8) 1位半加器的输入为 Ai 、Bi,其和输出逻辑表达式Si =,进位输出逻辑表达式Ci+1 =。 (9) 当1位全加器的输入 Ai =1、Bi=0、Ci =1 时,其和输出Si =,进位输出Ci+1 =。 (10) 用8选1数据选择器芯片74LS151扩展实现一个64选1数据选择器,所需74LS151芯片数为。 习题 1. 分析如图3.68所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 2. 分析如图3.69所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 3. 分析如图3.70所示的组合逻辑电路,说明A、B、C有哪些取值组合使Y为1。 4. 分析如图3.71所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 图3.68 图3.69 图3.70 图3.71 5. 分析如图3.72所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 6. 分析如图3.73所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 图3.72 图3.73 7. 分析如图3.74所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 8. 分析如图3.75所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 图3.74 图3.75 9. 分析如图3.76所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能,电路0输出有效。 10. 分析如图3.77所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 11. 设计一个三变量多数一致电路,当输入变量A、B、C中1的个数占多数时输出Y为1,输入为其他状态时输出Y为0。分别用与门和或门、与非门、或非门实现。 图3.76 图3.77 12. 设计一个代码转换电路,输入为A3、A2、A1、A0 四位二进制代码,输出为Y3、Y2、Y1、Y0 四位格雷码,用最少量的门实现。 13. 设计一个有A、B两个输入变量的数值比较器,当A>B时输出Y1Y0 =10,当A=B时输出Y1Y0 =11,当A<B时输出Y1Y0 =01。 14. 某组合逻辑电路输出Y2、Y1、Y0与输入A、B、C逻辑关系如图3.78所示,试用与非门和非门设计该组合逻辑电路。 图3.78 15. 试设计一个用与非门实现的“四舍五入”逻辑电路,输入A、B、C、D按8421码编码,当输入数值大于或等于5时输出Y=1,否则Y=0。 16. 试设计一个乘法运算电路,输入是被乘数A1A0、乘数B1B0两个2位二进制数,输出是两者的乘积Y3Y2Y1Y0。 17. 分析如图3.79所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 18. 分析如图3.80所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 图3.79 图3.80 19. 分析如图3.81所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 20. 分析如图3.82所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 图3.81 图3.82 21. 分析如图3.83所示的组合逻辑电路,写出逻辑表达式,列出真值表,说明逻辑功能。 图3.83 22. 试用2片3线8线译码器74LS138构成一个4线16线译码器。 23. 试用3线8线译码器74LS138和与非门实现如下多输出逻辑函数。 Y1=ACY2=C+A+BCY3=+AB 24. 试用3线8线译码器74LS138和必要的门电路设计一个1位全减器电路。 25. 试用3线8线译码器74LS138和必要的门电路设计一个三变量奇偶检测电路,当输入变量中有偶数个1和全0时输出为1,否则输出为0。 26. 试用4选1数据选择器74LS153采用两级选择方式构成16选1数据选择器。 27. 试用4选1数据选择器74LS153实现如下逻辑函数。 F(A,B,C)=∑m(3,5,6,7) 28. 试用4选1数据选择器74LS153设计一个三变量奇偶检测电路,当输入变量中有偶数个1和全0时输出为1,否则输出为0。 29. 试用8选1数据选择器和必要的门设计一个函数发生器电路,其功能如表3.27所示。 30. 试检查如图3.84所示的组合逻辑电路是否存在竞争冒险。若存在,用增加冗余项的方法进行消除,并画出无竞争冒险的逻辑电路。 表3.27功能表 S1S0 F 00A·B 01A+B 10AB 11 图3.84 Multisim仿真练习题 1. 用74LS00四2输入与非门构建仿真电路,对例3.1中的逻辑电路进行Multisim仿真分析。 2. 用74LS86四2输入异或门构建仿真电路,对例3.3中的逻辑电路进行Multisim仿真分析。 3. 在Multisim中用74LS138构建3线8线译码器逻辑功能验证的仿真电路。 4. 用3线8线译码器74LS138、74LS40双4输入与非门构建仿真电路,对例3.8中的1位全加器进行Multisim仿真分析。 5. 用4位加法器74LS283构建仿真电路,对例3.13、例3.14的8421码、余3码转换电路进行Multisim仿真分析。 6. 用74LS00四2输入与非门、74LS04六反相器构建仿真电路,对习题9的电路进行Multisim仿真分析。 7. 用3线8线译码器74LS138、74LS00四2输入与非门及74LS04六反相器构建仿真电路,对习题19的电路进行Multisim仿真分析。 8. 用74LS153双4选1数据选择器构建仿真电路,对习题20的电路进行Multisim仿真分析。 9. 在Multisim中用与非门完成习题11的组合逻辑电路仿真设计。 10. 在Multisim中完成1位全减器电路的仿真设计。