数字电路数字电子技术第4章课件.ppt
4.4 数据选择器,第四章 组合逻辑电路,4.3 译码器,4.5 数值比较器,4.6 加法器,4.2 编码器,4.1 组合逻辑电路的分析方法与设计方法,4.7 组合逻辑电路中的竞争冒险,4.8 组合逻辑电路的VHDL描述,4.1组合逻辑电路的分析方法与设计方法,每一个输出变量是全部或部分输入变量的函数:L1=f1(A1、A2、Ai)L2=f2(A1、A2、Ai) Lj=fj(A1、A2、Ai),一. 组合逻辑电路的特点: 电路任一时刻的输出状态只决定于该时刻各输入状态的组合,而与电路的原状态无关。 组合电路就是由门电路组合而成,电路中没有记忆单元,没有反馈通路。,二、组合逻辑电路的分析方法,例4.1.1:组合电路如图所示,分析该电路的逻辑功能。,分析过程一般包含以下几个步骤:,4.1 组合逻辑电路的分析方法与设计方法,(3)由表达式列出真值表。,(4)分析逻辑功能 : 当A、B、C三个变量不一致时,输出为“1”,所以这个电路称为“不一致电路”。,解:(1)由逻辑图逐级写出表达式(借助中间变量P)。,(2)化简与变换:,4.1 组合逻辑电路的分析方法与设计方法,例4.1.2:组合电路如图所示,分析该电路的逻辑功能。,解:(1)由逻辑图逐级写出逻辑表达式。,(2)列出真值表:,(3)分析逻辑功能:4位奇偶校验器。,4.1 组合逻辑电路的分析方法与设计方法,三、组合逻辑电路的设计方法,例3.4.1:设计一个三人表决电路,结果按“少数服从多数”的原则决定。解:(1)列真值表:,(2)用卡诺图化简。,设计过程的基本步骤:,4.1 组合逻辑电路的分析方法与设计方法,(4)如果,要求用与非门实现该逻辑电路,就应将表达式转换成与非与非表达式:,画出逻辑图:,得最简与或表达式:,(3)画出逻辑图:,4.1 组合逻辑电路的分析方法与设计方法,解:(1)列真值表:,(2)由真值表写出各输出的逻辑表达式:,例3.4.2:设计一个电话机信号控制电路。电路有I0(火警)、I1(盗警)和I2(日常业务)三种输入信号,通过排队电路分别从L0、L1、L2输出,在同一时间只能有一个信号通过。如果同时有两个以上信号出现时,应首先接通火警信号,其次为盗警信号,最后是日常业务信号。试按照上述轻重缓急设计该信号控制电路。要求用集成门电路7400(每片含4个2输入端与非门)实现,4.1 组合逻辑电路的分析方法与设计方法,(4)画出逻辑图:,(3)根据要求,将上式转换为与非表达式:,4.1 组合逻辑电路的分析方法与设计方法,例3.4.3:设计一个将余3码变换成8421码的组合逻辑电路。,解:(1)根据题目要求,列出真值表:,4.1 组合逻辑电路的分析方法与设计方法,(2)用卡诺图进行化简。(注意利用无关项),4.1 组合逻辑电路的分析方法与设计方法,4.1 组合逻辑电路的分析方法与设计方法,逻辑表达式:,(3)由逻辑表达式画出逻辑图。,4.1 组合逻辑电路的分析方法与设计方法,0,0,0,0,4.2 编码器,一、编码器的基本概念及工作原理 编码将某一特定的逻辑信号变换为二进制代码。,编码器有若干个输入,对每一个有效的输入信号,编码器产生一组惟一的二进制代码输出。一般而言,N个不同的信号,至少需要n位二进制数编码。N和n之间满足下列关系:,2nN,2nN,能够实现编码功能的逻辑部件称为编码器。,例:设计一个键控8421BCD码编码器。,4.2 编码器,解:(1)列出真值表:,1 1 1 1 1 1 1 1 1 0,0 0 0 0,1 1 1 1 1 1 1 1 0 1,0 0 0 1,1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1,0 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1,(2)由真值表写出各输出的逻辑表达式为:,4.2 编码器,重新整理得:,(3)由表达式画出逻辑图:,4.2 编码器,0,1,1,0,0,(4)增加控制使能标志GS :,4.2 编码器,二、二进制编码器,3位二进制编码器: 8个输入端,3个输出端,常称为8线3线编码器。,4.2 编码器,由真值表写出各输出的逻辑表达式为:,用门电路实现逻辑电路:,4.2 编码器,三、优先编码器,集成优先编码器举例74148(8线-3线)注意:该电路为反码输出。EI为使能输入端(低电平有效),EO为使能输出端(高电平有效) ,GS为优先编码工作标志(低电平有效)。,4.2 编码器,4.2 编码器,四、编码器的应用,4.2 编码器,1编码器的扩展用两片74148优先编码器串行扩展实现的16线4线优先编码器,0,0,全1,1,1,1,0,设:X15X14X13X12X11X10X9X8X7X6X5X4X3X2X1X0=11111111 11111101,1编码器的扩展用两片74148优先编码器串行扩展实现的16线4线优先编码器,0,1,0,1,1,0,设:X15X14X13X12X11X10X9X8X7X6X5X4X3X2X1X0=11111101 11111111,4.2 编码器,4.2 编码器,2组成8421BCD 编码器,0,0,2组成8421BCD 编码器,0,1,4.2 编码器,4.3 译码器,一译码器的基本概念及工作原理译码器将输入代码转换成特定的输出信号例:2线4线译码器,写出各输出函数表达式:,画出逻辑电路图:,4.3 译码器,二、集成译码器,1.二进制译码器741383线8线译码器,4.3 译码器,4.3 译码器,考虑控制变量,4.3 译码器,4.3 译码器,2.4线-10线译码器7442,7442的逻辑图:,4.3 译码器,三、译码器的应用,1译码器的扩展用两片74138扩展为4线16线译码器,4.3 译码器,0,0,0,1,0,0,1译码器的扩展用两片74138扩展为4线16线译码器,4.3 译码器,2实现组合逻辑电路,解:将逻辑函数转换成最小项表达式,再转换成与非与非形式。,=m3+m5+m6+m7,用一片74138加一个与非门就可实现该逻辑函数。,例4.3.1 试用译码器和门电路实现逻辑函数:,4.3 译码器,例4.3.2 已知某组合逻辑电路的真值表,试用译码器和门电路设计该逻辑电路。,解:写出各输出的最小项表达式,再转换成与非与非形式:,4.3 译码器,用一片74138加三个与非门就可实现该组合逻辑电路。,可见,用译码器实现多输出逻辑函数时,优点更明显。,与非与非形式:,4.3 译码器,3构成数据分配器,数据分配器将一路输入数据根据地址选择码分配给多路数据输出中的某一路输出。,4.3 译码器,用译码器设计一个“1线-8线”数据分配器,4.3 译码器,四、数字显示译码器,数字显示器分类: 按显示方式分,有字型重叠式、分段式、点阵式等。 按发光物质分,有辉光显示器、荧光显示器、半导体显示器,又称发光二极管(LED)显示器、液晶显示器等。,4.3 译码器,1七段式LED显示器,4.3 译码器,LED显示器有两种结构:,2七段显示译码器7448 7448是一种与共阴极数字显示器配合使用的集成译码器。,4.3 译码器,4.3 译码器,7448的逻辑功能:,(3)正常译码显示。LT=1, RBI =1 ,BI/RBO=1时,正常工作,对输入为十进制数015的二进制码(00001111)进行译码,产生对应的七段显示码。,(2)灭零RBI 。当LT=1, 如果RBI =1,输入为0的二进制码0000时,正常工作,产生0的七段显示码;如果此时RBI =0 ,则译码器的ag输出全0,使显示器全灭;所以RBI称为灭零输入端。,(1)试灯LT。当LT=0时,无论输入怎样,ag输出全1,数码管七段全亮。由此可以检测显示器七个发光段的好坏。,(4)特殊控制端BI/RBO。BI/RBO可以作输入端,也可以作输出端。 作输入使用时,如果BI=0时,不管其他输入端为何值,ag均输出0,显示器全灭。因此BI称为灭灯输入端。 作输出端使用时,受控于RBI。当RBI=0,输入为0的二进制码0000时,RBO=0,用以指示该片正处于灭零状态。所以,RBO 又称为灭零输出端。,4.3 译码器,将BI/RBO和RBI配合使用,可以实现多位数显示时的“无效0消隐”功能。,4.3 译码器,4.4 数据选择器,一、 数据选择器的基本概念及工作原理 数据选择器根据地址选择码从多路输入数据中选择一路,送到输出。,例:四选一数据选择器,根据功能表,可写出输出逻辑表达式:,4.4 数据选择器,由逻辑表达式画出逻辑图:,4.4 数据选择器,1,1,1,1,1,0,0,4.4 数据选择器,二、集成数据选择器,集成数据选择器74151(8选1数据选择器),4.4 数据选择器,4.4 数据选择器,三、数据选择器的应用,1数据选择器的通道扩展用两片74151组成 “16选1”数据选择器,4.4 数据选择器,1 0 0 1,1,0,0 0 1,D9,0,D9,0 0 0 1,0,1,0 0 1,D1,0,D1,1数据选择器的通道扩展用两片74151组成 “16选1”数据选择器,4.4 数据选择器,2实现组合逻辑函数,解:将逻辑函数转换成最小项表达式:,=m3+m5+m6+m7 画出连线图。,(1)当逻辑函数的变量个数和数据选择器的地址输入变量个数相同时,可直接用数据选择器来实现逻辑函数。 例4.3.1 用8选1数据选择器74151实现逻辑函数:,4.4 数据选择器,0 1 1,1,1 0 0,0,(2)当逻辑函数的变量个数大于数据选择器的地址输入变量个数时。例4.3.2 试用4选1数据选择器实现逻辑函数:,解:将函数转换为真值表,真值表,4.4 数据选择器,真值表,0,1,L,1 0,0,1,1,1,0,0,4.5 数值比较器,由真值表写出逻辑表达式:,由表达式画出逻辑图:,11位数值比较器 列出真值表,一、 数值比较器的基本概念及工作原理 数值比较器比较两个位数相同的二进制数的大小,4.5 数值比较器,例:2位数值比较器,2考虑低位比较结果的多位比较器,逻辑表达式:,由表达式画出逻辑图:,4.5 数值比较器,二、集成数值比较器及其应用,1集成数值比较器7485 4位二进制数比较器,2数值比较器的位数扩展(1)串联方式 用2片7485组成8位二进制数比较器。,4.5 数值比较器,并联方式比串联方式的速度快,用5片7485组成16位二进制数比较器,(2)并联方式,4.5 数值比较器,4.6 加法器,画出逻辑电路图:,由真值表直接写出表达式:,一、加法器的基本概念及工作原理1半加器 列出半加器的真值表:,如果想用与非门组成半加器,则将上式用变换成与非形式: 列出半加器的真值表:,画出用与非门组成的半加器。,4.6 加法器,2全加器能同时进行本位数和相邻低位的进位信号的加法运算。,1,4.6 加法器,4.6 加法器,由真值表直接写出逻辑表达式,再经代数法化简和转换得:,画出全加器的逻辑电路图:,4.6 加法器,3. 多位数加法器,4.6 加法器,4位串行进位加法器,特点:结构简单,工作速度较低。,0,二、快速进位集成4位加法器74283,全加器的逻辑表达式:,定义Gi=AiBi,Gi称为产生变量,定义 ,Pi称为传输变量,1快速进位的原理,4.6 加法器,定义Gi=AiBi,Gi称为产生变量,定义 ,Pi称为传输变量,4.6 加法器,快速进位集成4位加法器74283逻辑图,4.6 加法器,74283示意图,74283引脚图,4.6 加法器,2. 74283的应用,(1)加法器级联实现多位二进制数加法运算,4.6 加法器,2用74283实现余3码到8421BCD码的转换,4.6 加法器,2用74283实现余3码到8421BCD码的转换,4.6 加法器,3用74283构成一位8421BCD码加法器,4.6 加法器,4.7 组合逻辑电路中的竞争冒险,一、产生竞争冒险的原因1逻辑竞争 如果输入信号中只有一个输入变量发生变化,经过多条路径传送后又重新会合到某个门上,由于不同路径上门的级数不同,或者门电路延迟时间的差异,导致到达会合点的时间有先有后,这种竞争称为逻辑竞争。,竞争冒险由于门电路延迟时间的存在,当输入信号改变时,这个变化的信号经过不同级数和不同延迟时间的门传到某点时,在时间上有先有后,这种信号传输的时差,也称为竞争。由于竞争而在输出端产生的虚假信号或错误的逻辑输出称为冒险。,由于G1门的延迟时间tpd2输出端出现了一个正向窄脉冲。,(1)产生“1冒险”例:电路如图,已知输入波形,画输出波形。,解:,(2)产生“0冒险”,4.7 组合逻辑电路中的竞争冒险,2功能竞争输入信号中多个输入变量发生变化,由于变化快慢不同,到达某点的时间有先有后,这种竞争称为功能竞争。,例:全加器的电路出现了“竞争冒险”,在输出端Si产生了一个“0冒险”和一个“1冒险”信号。,0冒险,4.7 组合逻辑电路中的竞争冒险,则存在1冒险;,则存在0冒险。,二、冒险现象的识别 可采用代数法来判断一个组合电路是否存在逻辑冒险: 写出组合逻辑电路的逻辑表达式,当某些逻辑变量取特定值(0或1)时,如果表达式能转换为:,4.7 组合逻辑电路中的竞争冒险,若输入变量ABl,则有:,因此,该电路存在0冒险。画出ABl 时L的波形。,例4.7.1: 判断图示电路是否存在冒险,如有,指出冒险类型,画出输出波形。,解:写出逻辑表达式:,4.7 组合逻辑电路中的竞争冒险,三、冒险现象的消除方法1修改逻辑设计(1)增加冗余项在例4.7.1的电路中,存在冒险现象。如在其表达式中增加乘积项AB,使其变为:,因此,该电路存在l冒险。,则在原来产生冒险的条件AB1时,L=1,不会产生冒险。,例4.7.2: 判断函数 是否存在冒险:,解:如果令AC0,则有,4.7 组合逻辑电路中的竞争冒险,(2)变换逻辑式,消去互补变量例4.7.2的逻辑式,存在冒险现象。如将其变换为:,则在原来产生冒险的条件AC0时,L=0,不会产生冒险。,2增加选通信号 在电路中增加一个选通脉冲,当输入信号转换完成,进入稳态后,才引入选通脉冲,将门打开。这样,输出就不会出现冒险脉冲。,选通信号,4.7 组合逻辑电路中的竞争冒险,3增加输出滤波电容 在可能产生冒险的门电路输出端并接一个滤波电容(一般为420pF),利用电容两端的电压不能突变的特性,使输出波形上升沿和下降沿都变的比较缓慢,从而起到消除冒险现象的作用。,4.7 组合逻辑电路中的竞争冒险,1,A,L=A A,G,1,G,2,&,C,4.8 组合逻辑电路的VHDL描述,一、中间变量的VHDL描述 中间变量不能与输入/输出信号一起定义,而应该在结构体或进程中定义,可定义成信号(SIGNAL)或变量(VARIABLE)。,LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY hym IS PORT ( a、b、c : IN bit; y: OUT bit );END hym;ARCHITECTURE ex12 OF hym IS SIGNAL m:bit; -定义中间变量m BEGIN m=a OR b; y=m AND c; END ex12;,二、组合逻辑电路的VHDL描述,LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY ym38 IS PORT ( a2,a1,a0,ei : IN std_logic; -定义输入信号的类型,ei为使能端 y: OUT std_logic_vector(7 DOWNTO 0) ); -定义输出信号y为8位逻辑向量END ym38;ARCHITECTURE ex12 OF ym38 IS SIGNAL sel : std_logic_vector(3 DOWNTO 0); - -定义临时信号为4位逻辑向量 BEGIN sel(0)=ei; -临时信号sel赋值 sel(1)=a0; sel(2)= a1; sel(3)= a2;WITH sel SELECT y = 00000001 WHEN 0001, -当ei=1,a2a1a0=000时,y0=1 00000010 WHEN 0011, -当ei=1,a2a1a0=001时,y1=1 00000100 WHEN 0101, -当ei=1,a2a1a0=010时,y2=1 00001000 WHEN 0111, -当ei=1,a2a1a0=011时,y3=1 00010000 WHEN 1001, -当ei=1,a2a1a0=100时,y4=1 00100000 WHEN 1011, -当ei=1,a2a1a0=101时,y5=1 01000000 WHEN 1101, -当ei=1,a2a1a0=110时,y6=1 10000000 WHEN 1111, -当ei=1,a2a1a0=111时,y7=1 00000000 WHEN OTHERS; -当ei=0或其它值时,y=00000000 END ex12;,4.8 组合逻辑电路的VHDL描述,设译码器的输入端为A2、A1、A0。输出为Y7Y0,高电平有效。EI为使能端,高电平有效。,13线8线译码器,28线3线优先编码器,4.8 组合逻辑电路的VHDL描述,LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY coder83 IS PORT ( din : IN std_logic_vector(0 TO 7); -定义输入信号din为8位逻辑向量 out : OUT std_logic_vector(0 TO 2) );END coder83;ARCHITECTURE ex13 OF coder83 IS BEGIN PROCESS (din) -定义一个进程 BEGIN IF (din(7)=0) THEN output = 000 ; ELSIF (din(6)=0) THEN out = 100 ; ELSIF (din(5)=0) THEN out = 010 ; ELSIF (din(4)=0) THEN out = 110 ; ELSIF (din(3)=0) THEN out = 001 ; ELSIF (din(2)=0) THEN out = 101 ; ELSIF (din(1)=0) THEN out = 011 ; ELSE out = 111 ; END IF ; END PROCESS ; END ex13;,设编码器的八个输入端为DIN0DIN7,低电平有效,DIN7的优先级最高。输出端为OUT2OUT0,原码输出。,38选1数据选择器74151,4.8 组合逻辑电路的VHDL描述,LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY mux8 IS PORT ( d: IN std_logic_vector(7 DOWNTO 0); a: IN std_logic_vector(2 DOWNTO 0); g:IN std_logic; y: OUT std_logic ); END mux8;ARCHITECTURE ex14 OF mux8 IS SIGNAL ga: std_logic_vector(3 DOWNTO 0); -定义临时信号gaBEGIN ga = g ,本章小结,1组合逻辑电路的特点是,电路任一时刻的输出状态只决定于该时刻各输入状态的组合,而与电路的原状态无关。组合电路就是由门电路组合而成,电路中没有记忆单元,没有反馈通路。2组合逻辑电路的分析步骤为:写出各输出端的逻辑表达式化简和变换逻辑表达式列出真值表确定功能。3组合逻辑电路的设计步骤为:根据设计求列出真值表写出逻辑表达式(或填写卡诺图) 逻辑化简和变换画出逻辑图。4常用的中规模组合逻辑器件包括编码器、译码器、数据选择器、数值比较器、加法器等。为了增加使用的灵活性和便于功能扩展,在多数中规模组合逻辑器件中都设置了输入、输出使能端或输入、输出扩展端。它们既可控制器件的工作状态,又便于构成较复杂的逻辑系统。5上述组合逻辑器件除了具有其基本功能外,还可用来设计组合逻辑电路。如用数据选择器设计多输入、单输出的逻辑函数;用二进制译码器设计多输入、多输出的逻辑函数等。,