《2019年[工学]第四章 组合逻辑的分析与设计.ppt》由会员分享,可在线阅读,更多相关《2019年[工学]第四章 组合逻辑的分析与设计.ppt(128页珍藏版)》请在三一文库上搜索。
1、1,第四章 组合逻辑的分析与设计,计算机学院 余 波,Content,组合逻辑设计方法,1,译码器与编码器,3,加法器与减法器,5,3,数字逻辑电路按照功能可分为 组合逻辑电路 简称组合电路,它由最基本的的逻辑门电路组合而成。 时序逻辑电路 简称时序电路,它是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路。,组合电路,n-inputs,m-outputs,(仅根据当前输入值决定),组合电路,n-inputs,m-outputs,存储单元,下一状态,当前状态,4,组合逻辑电路 特点是:输出值只与当时的输入值有关,即输出唯一地由当时的输入值决定。电路没有记忆功能,输出状态随
2、着输入状态的变化而变化,类似于电阻性电路,如加法器、译码器、编码器、数据选择器等都属于此类。 时序逻辑电路 特点:与组合电路最本质的区别在于时序电路具有记忆功能。时序电路的特点是:输出不仅取决于当时的输入值,而且还与电路过去的状态有关。它类似于含储能元件的电感或电容的电路,如触发器、锁存器、计数器、移位寄存器、储存器等电路都是时序电路的典型器件。,5,组合电路构成,组合电路,.,.,.,.,x1,x2,xn,ym,y2,y1,y3,Y1=f1(x1,x2,xn) Y2=f2(x1,x2,xn) Ym=fm(x1,x2,xn),对一个具有n输入的组合逻辑电路,则可能有 2n 种对输入变量的组合,
3、对每一种变量组合,有可能会产生一个二进制输出。,6,逻辑表达式,表达式化简,构造真值表,逻辑功能分析,组合逻辑的分析,start 逻辑图,start 逻辑问题,画出逻辑图,表达式并化简,构造真值表,分析输入输出,组合逻辑的设计,7,例1:分析如下逻辑电路的逻辑功能,8,Step3: 列出真值表,Step4:分析逻辑功能:当三个变量相同时输出1。,9,例2:设计一组合电路,采用2421BCD编码来驱动TIL-312七段显示块。,2421BCD编码,10,ABCDEFG,ABCDEFG,11,输入变量对应的最小项数字,多输出函数,显示,2421BCD码,12,A=(1,10) B=(11,12)
4、C=(8) D=(1,10,13) E=(1,9,10,11,13,15) F=(1,8,9,13) G=(0,1,13),13,Content,组合逻辑设计方法,1,译码器与编码器,3,加法器与减法器,5,15,数字集成电路介绍 数字集成电路系列(IC category) TTL 低功耗 Low power(L) 高速 High speed(H) 低功耗肖特基 Low power Schottky(LS) 肖特基 Schottky(S) 先进低功耗肖特基Advanced Low power Schottky(ALS) 先进肖特基 Advanced Schottky(AS) ECL CMOS,
5、16,SN74LS00,生产者 CT:中国TTL SN:德州仪器 HD:日立,54- 军用温度范围 (-55125) 74- 商用温度范围 (070),Low power(L) High speed(H) Low power Schottky(LS) Schottky(S) Advanced Low power Schottky(ALS) Advanced Schottky(AS),集成电路命名规则(TTL ),17,18,SN74LS00,19,SN5410,SN54LS10,SN54S10 SN7410,SN74LS10,SN74S10,20,SN5427,SN54LS27 SN7427,
6、SN74LS27,21,SN5404,SN54LS04,SN54S04 SN7404,SN74LS04,SN74S04,22,Content,组合逻辑设计方法,1,译码器与编码器,3,加法器与减法器,5,24,译码器 将N个输入转换成对应的M个输出的过程 M2N 类型 全部译码和部分译码; 二进制译码、代码译码器、数字显示译码器。 Eg: N-2n译码器, eg: 3线-8线译码器 N-M译码器,M2n, eg: 4线-10线译码器,25,26,Y0=(GBA)=G+B+A Y1=(GBA)=G+B+A Y2=(GBA)=G+B+A Y3=(GBA)=G+B+A,使能信号,2线-4线译码器,2
7、7,74XX139 译码器逻辑电路图,28,74LS139引脚图,29,Y0=(CBA) Y1=(CBA) Y2=(CBA) Y3=(CBA) Y4=(CBA) Y5=(CBA) Y6=(CBA) Y7=(CBA),SN74LS138真值表,3线-8线译码器,30,SN74LS138,31,Y0=(CBA) Y1=(CBA) Y2=(CBA) Y3=(CBA) Y4=(CBA) Y5=(CBA) Y6=(CBA) Y7=(CBA),译码功能:根据输出引脚哪一条线有效,就可知道具体输入的二进制代码是哪一种组合。,=m0 =m1 =m2 =m3 =m4 =m5 =m6 =m7,32,由3-8译码器
8、构成的逻辑电路如图所示,写出逻辑函数F1,F2.,33,对二输入变量A0,A1,译码器将得到四个输出 Y0,Y1,Y2,Y3, 对三输入变量A0,A1,A2,译码器将得到八个输出 Y0,Y1,Y7, 每一个输出Yi对应该输入的最小项。 对二输入变量,如:Yi=0,即输入变量组合A1A0的M进制(M输出)形式为i。 用数字形式表示即:Yi mi 可用译码器实现最小项,34,1)二进制译码器的输出端能提供输入变量的全部最小项; 2)任何组合逻辑函数都可以变换为最小项之和的标准式; =用二进制译码器和门电路可实现任何组合逻辑函数。当译码器输出低电平有效时,多选用与非门;译码器输出高电平有效时,多选用
9、或门。 优点:可减少集成电路的使用数量。,35,例:用3线-8线译码器 74LS138实现下面的逻辑函数: Y1=AB+AC+AC Y2=AC+AC Y3=BC+BC,36,将逻辑函数化为最小项之和的形式: Y1=AB+AC+AC =ABC+ABC+ABC+ABC+ABC+ABC =m1+m0+m7+m5+m2+m0 = (m0m1m2m5m7) Y2=AC+AC=ABC+ABC+ABC+ABC = m3+m1+m6+m4 = (m1m3m4m6) Y3=BC+BC=ABC+ABC+ABC+ABC =m5+m1+m6+m2 = (m1m2m5m6),37,当译码器输出低电平有效时,多选用与非门
10、;译码器输出高电平有效时,多选用或门。,思考:其它连接方法?,Y1= (m0m1m2m5m7) Y2= (m1m3m4m6) Y3= (m1m2m5m6),38,Y1=AB+AC+AC=m0+m1+m2+m5+m7 =(0,1,2,5,7) =(3,4,6)=M3M4M6 =m3m4m6 Y2=AC+AC= m1+m3+m4+m6 =(1,3,4,6) =(0,2,5,7) =m0m2m5m7 Y3=BC+BC=m1+m2+m5+m6 =(1,2,5,6) =(0,3,4,7) =m0m3m4m7,39,Y1=m3m4m6 Y2=m0m2m5m7 Y3=m0m3m4m7,40,练习:分别用逻辑
11、门和74LS138画出下面逻辑表达式 X=f(a,b,c)=(0,3,5,6,7) =abc+ab+bc+ac,41,G=f(x,y,z)=(0,1,2,4,5,6,7) =(3),例:用逻辑门和74LS138画出下面逻辑表达式,42,解:输出信号,译码器的级联 例:试用两片38译码器74LS138组成4线16线译码器,将输入的4位二进制代码w,x,y,z译成16个独立的低电平信号D0D15。,43,输入信号和级联问题,1 1 1,片2译码,0 0 0,1,1 1 1,片1译码,0 0 0,0,D8D15,D0D7,x y z,W,片选信号 =使能,选中片1: 不选片1:,利用 w 控制每片中
12、的一个使能信号,44,3-8译码器扩展成4-16译码器,思考:用2-4译码器扩展成4-16译码器,45,利用一个2-4译码器及四个3-8译码器实现一个 5-32 译码器,46,例:利用两片74XX138 译 码器实现四变量多输出函数。,P=f(w,x,y,z)=(1,4,8,13) Q=f(w,x,y,z)=(2,7,13,14),注:最高位w 作为片选信号,47,练习:分别用3线-8线译码器和2线-4线译码器实现下面的多输出函数:,48,编码器 与译码过程相反,将特定意义的信息编成相应的二进制代码的过程 n个二进制代码(n位二进制数)对2n信号进行编码的电路 普通编码器和优先编码器两类,49
13、,50,例: 8线-3线二进制编码器 (octal-to-binary),A0 = D1 + D3 + D5 + D7 A1 = D2 + D3 + D6 + D7 A2 = D4 + D5 + D6 + D7,输入互斥信号,51,52,问题:当多个信号同时输入,如何选择其优先级? 优先编码器:当输入端同时有信号到来,编码器自动按优先权排队,先对优先权级别最高的输入信号进行编码。然后按优先权顺序分别对其它输入信号进行编码。,53,74148 真值表,54,74148引脚图,IEEE符号,55,74147真值表,56,例如:有一个网络家电产品,可以按优先权自动处理输入同时出现的险情。,火灾,小偷
14、,煤气泄漏,电视,空调,119,110,传呼业主,其它,其它,优先编码器的应用,57,Content,组合逻辑设计方法,1,译码器与编码器,3,加法器与减法器,5,59,数字多路器(数据选择器)MUX 数字多路器是从多个输入数据中选择一个送往唯一通道输出,类似一个多掷开关。 M(=2N)个输入数据需要N位二进制信号来选择输出通道,称为N位选择变量(地址信号)。 数据选择器是一个多输入,单输出的组合逻辑电路。,60,61,2选1多路器(如:74LS157),真值表,选择变量决定将某个输入端的数据送至输出端。,62,2选1多路器,输入数据,63,设计一个4选1数字多路器:在选择信号的控制下,从D0
15、D3中任选一个送到公共输出端Y。,D2,Y=A1A0D0+A1A0D1+A1A0D2+A1A0D3 =miDi,64,四选一多路器74LS153:,74LS153逻辑符号,65,Y= CBAD0+ CBAD1+ CBAD2+ CBAD3+ CBAD4+ CBAD5+ CBAD6+ CBAD7 =miDi,D0,D1,D2,D3,D6,D7,D4,D5,原码输出(Y)卡诺图,八选一数字多路器,66,八选一多路器74LS151 C、B、A三位地址输入,可以从8个输入数据D7D0中选择一个需要数据到输出; D7D0八个数据输入端;,67,数字多路器的扩展 例:用一片2-4译码器和四片8选1数字多路器
16、构成32选1数字多路器。 解:25 = 32 ,32选1就需要5位选择信号 用A4A3A2A1A0来表示选择信号。 信号分配,1 0 1 1,0 0 0 1,0 0 0 0 0 0 0 1 1 1,0 1 0 0 0 0 1 1 1 1,1 0 0 0 0 1 0 1 1 1,1 1 0 0 0 1 1 1 1 1,2-4译码器实现,68,A4A3作2-4译码器数据输入。译码器输出分别接四片8选1数据选择器的片选端 G。在A4A3作用下,四片8选1分别被选中,片选端为0的选择器工作,片选端为1的选择器不工作。 A2A1A0作8选1选择输入。在A2A1A0作用下,多路器8个输出端分别被选中并输出
17、。,69,片选信号:,各片的选择信号:,例:A4A3A2A1A0=11101,选中第四片选择器的D5输出。,Y = D29,1,1,1,0,1,1 1 1 0,D5,D29,思考:如何用一片4选1数字多路器和四片8选1数字多路器构成32选1数字多路器?,70,用两片74S150(16选1多路器),构成1个32选1的数字多路器,最高位选择信号输入为片选信号,71,问题:如何选择多位数据? 需要多个数字多路器。 例:构造逻辑电路实现对两组4位数据的选择。,利用四片2选1数字多路器、选择信号、使能信号在四线数据 Ais 和 Bis中选择一组送至输出端Yis。 这里,s=0时将Ais送至输出端Yis;
18、 s=1时将Bis送至输出端。,72,利用两片74S153构成四线数字多路器 1、每个数字多路器逻辑电路仅实现一位输入数据的选择。选择四位数据,需要四线数字多路器。 2、多个多路器使用同一选择信号输入。 例:A=0,B=0,输出源数据:SD,73,数字多路器的应用 用数字多路器实现逻辑函数 a) 选择信号位数=逻辑函数中变量个数 b) 选择信号位数逻辑函数中变量个数 解决1:多路器级联 解决2:利用降维卡诺图,74,例:用8选1数字多路器实现逻辑函数F=f(x,y,z)=(1,2,4,5,7) 解:8选1数字多路器的逻辑函数为 Y= CBAD0+CBAD1+CBAD2+CBAD3+ CBAD4
19、+CBAD5+CBAD6+CBAD7 其中,A,B,C为选择信号,Di为数据信号。 F=xyz+xyz+xyz+xyz+xyz,C=x,B=y,A=z D0=D3=D6=0 D1= D2= D4= D5= D7=1,75,C=x,B=y,A=z D0=D3=D6=0 D1= D2= D4= D5= D7=1,76,卡诺图的降维 卡诺图的维数:卡诺图的变量数 如果把某些变量也作为卡诺图小方格内的值,将减小卡诺图的维数,这种卡诺图称为降维卡诺图。 作为降维图小方格中值的那些变量称为记图变量。 方法: 设记图变量为x,对于原卡诺图中,当x=0时,原图单元值为F,x=1时,原图单元值为G,则在新的降维
20、图中对应的降维图单元中填入子函数xF+xG。其中F和G可以是0、1、某一变量,也可以是某一函数。,77,例:实现对下面四变量卡诺图的降维,四变量,三变量,二变量,78,1变量降维图,通过降维以后,相当于减少了逻辑函数的变量数目。当降维卡诺图的维数与数据选择器的选择输入端数目相等时,即可按照用具有n个选择输入端的数据选择器实现n变量逻辑函数的方法来实现m变量的逻辑函数。,0,1,A,D,C+D,0,1,0,1,A,B,CD,C+D,79,例:用4选1多路器实现布尔函数F=f(x,y,z)=(1,2,4,5,7),解:F=f(x,y,z)=(1,2,4,5,7)=xyz+xyz+xyz+xyz+x
21、yz 函数输入变量组合为23=84 解决方法:对布尔函数进行降维,80,方法一:令z为记图变量,z,z,1,z,D0=z D1=z D2=1 D3=z,F=XYD0+XYD1+XYD2+XYD3 =XYZ+XYZ+XY+XYZ,81,方法二:令y为记图变量,D0=y D1=y D2=y D3=1,F=XZD0+XZD1+XZD2+XZD3 =XYZ+XYZ+XYZ+XZ,82,方法三:令x为记图变量,D0=x D1=1 D2=x D3=x,F=YZD0+YZD1+YZD2+YZD3 =XYZ+YZ+XYZ+XYZ,83,练习:用1个 4-to-1 MUX实现下面的布尔函数 F(X,Y,Z) =
22、 m(1,2,6,7) F(A,B,C) = m(1,3,5,6). 函数输入变量组合为23=84 需对输入函数用卡诺图降维法得到记图变量,84,F(X,Y,Z) = XYZ + XYZ + XYZ + XYZ = m(1,2,6,7),1,1,1,XY,Z,00,01,11,10,0,1,1,D0=z D1=z D2=0 D3=1,F=XYD0+XYD1+XYD2+XYD3 =XYZ+XYZ+XY,85,F(A,B,C) = m(1,3,5,6),1,1,1,AB,C,00,01,11,10,0,1,1,D0=C D1=C D2=C D3=C,F=ABD0+ABD1+ABD2+ABD3 =A
23、BC+ABC+ABC+ABC,86,87,例:用一个2选1多路器实现下面的布尔函数: F(x1,x2,x3)=x1x2+x1x2+x1x3 函数输入变量组合为23=82 需对输入函数用卡诺图降维法(降为1维卡诺图)得到记图变量,88,F(x1,x2,x3) =x1x2+x1x2+x1x3 =x1x2x3+x1x2x3+x1x2x3+x1x2x3+x1x2x3 =(0,1,4,5,7),0,1,1,X3,89,0,X1,X2,0,1,0,1,1,1,X3,X2,X2+X3,D0=X2 D1=X2+X3,90,思考:用数字多路器作为通用逻辑门? 1、用2选1多路器实现逻辑与 z = x1x0 以一
24、个变量作为选择信号,一个变量作为输入信号 = x1x0 + 0x0 以x0作为选择信号,x1作为输入信号 D0=0, D1= X1,91,2、用2选1多路器实现逻辑或 z = x1+x0 = x1x0+x0 以x0作为选择信号,x1作为输入信号 D0=X1, D1= 1,92,2、用2选1多路器实现逻辑非 逻辑非运算是单输入变量 z = x = 0x+1x 以x作为选择信号 D0=1, D1= 0,Content,组合逻辑设计方法,1,译码器与编码器,3,加法器与减法器,5,94,二进制加法器 加法器是构成算术运算器的基本单元。 半加器 不考虑低位来的进位加法叫半加; 能完成半加功能的电路叫半
25、加器。 全加器 考虑低位来的进位加法叫全加; 能完成全加功能的电路叫全加器。,95,一位加法器(1-bit adder) 能够实现两个1位二进制数相加的运算 输出和与进位。,96,1位半加器 组合逻辑设计流程 step1:分析输入与输出,写出变量: 输入:两个加数 A , B 输出:两个加数的和:S, 进位:Co 输入与输出的关系(1位二输入加法的可能): 0+0=0 0+1=1 1+0=1 1+1=10 黄色数字为和, 红色数字为进位。,半加器,97,step2:列出真值表,step3:写出逻辑函数,step4:画出逻辑图,98,1位全加器(考虑低位来的进位) 组合逻辑设计流程 step1:
26、分析输入与输出,写出变量: 输入:两个加数 Ai , Bi 来自低位的进位:Ci-1 输出:两个加数的和:S, 向高位的进位:Ci,step2:列出真值表,99,Ci = AiBi + AiCi-1 + BiCi-1 Si = AiBi Ci-1 + AiBiCi-1 + AiBiCi-1 + AiBiCi-1 = Ai Bi Ci-1,step3:逻辑函数,100,step4:,101,Ci = AiBi + AiBiCi-1 + AiBiCi-1 = AiBi + (AiBi + AiBi)Ci-1 = AiBi + (Ai Bi)Ci-1 Si = Ai Bi Ci-1,102,全加器的
27、逻辑符号,103,练习:用一片3-8译码器实现1位全加器,S(A,B,Ci-1) = m(1,2,4,7) C(A,B,Ci-1) = m(3,5,6,7),104,多位二进制加法器 多位数相加时,要考虑进位 进位的方式 串行进位 超前进位 例:设计一个n(n=4)位二进制加法器,完成两个n位二进制的加法,输出1个n位的和,以及进位输出 Cout C3 C2 C1 C0 1 1 0 1 0 A3 A2 A1 A0 1 1 0 1 + B3 B2 B1 B0 + 1 1 0 1 - - S3 S2 S1 S0 1 0 1 0,105,串行进位全加器 由四个一位二进制全加器通过串行级连组成四位二进
28、制全加器 每一位全加器的进位输出,送给下一级的进位输入端。高位的加法运算必须等到低位的加法运算完成后,才能正确进行。,106,跟笔算相似,用全加器构成串行进位加法器.,优点:结构简单。在一些中、低速数字设备中仍有应用。 缺点:速度慢。四位二进制全加器,需要经过四级门的延迟时间。,107,进位生成项,传递条件,进位表达式,和表达式,考虑全加器逻辑函数,基本思想:根据进位数Ci-1的表达式,先计算出各高位的进位数。,当Pi=1,把低位来的进位Ci-1传给Ci,当Gi=1,则Ci=1,超前进位加法器,108,解决滞后的问题了? = 没有。,怎样解决? Ci仅由Ai,Bi和C0-1决定。,109,递推
29、式,110,减少了门电路的延迟,但增加了电路的复杂度,111,集成全加器 74LS83是一种典型的集成加法器。一片74LS83只能进行4位二进制数的加法运算,将多片进行级联,就可扩展加法运算的位数。,级联方法:将低位片的进位输出与高位片的进位输入相连,112,用加法器实现减法运算 方法:求减数的以二为基的补码(补数) 对数N,其补数为rn-N, n为数的长度,113,回顾: 求任意进制以二为基的补码(补数)的运算方法: 算法1: 1.对r进制数N,从最低有效位向最高有效位进行转换 2.遇到的第一个不为0的位转换为r-ai 3.将剩余为转换为r-ai-1,直到最高有效位。 算法2: 1.对r进制
30、数N,从最低有效位向最高有效位进行转换 2.将每一位转换为r-ai-1 3.将由步骤2得到的结果+1。,114,115,BCD加法器 输入:两个n(例:n=4)位二进制数 输出:一个n位二进制数,进位标志,116,1、相加之和小于等于 9 相加结果正确。,0111(8421 BCD)=7, 正确。,2、相加之和大于 9 相加结果错误,需加 6 修正。,1101(8421BCD)是非法码。需加 6 修正。,产生进位,本位和正确。,3、相加之和产生进位, 且结果错误,需加 6 修正。,0001(8421BCD)=17,错误。,正确。,错误产生原因:两者进位关系不同,117,结论: 两个BCD码相加
31、,当和大于9或进位为1,将结果加6进行修正; 当和小于9则不修正。 修正信号应在有进位信号Cout产生、或两个8421BCD码相加之和为1015的情况下产生。,118,119,Content,组合逻辑设计方法,1,译码器与编码器,3,加法器与减法器,5,121,二进制比较器 功能:实现对两个数进行比较的电路。两个数A和B相比较,有AB、AB、AB三种情况。 一位二进制比较器,真值表,122,1位二进制比较器(多输出函数),123,多位二进制数的比较 对于多位数值比较,先比较最高位,在高位相等的条件下,取决于低位的比较结果。 例:四位二进制比较器真值表,124,F=F3+F3=F2+F3=F2=F1+F3=F2=F1=F0 F=F3+F3=F2+F3=F2=F1+F3=F2=F1=F0 F=F3=F2=F1=F0=,125,集成数字比较器 74LS85 74LS85:4位二进制比较器,126,两片74LS85的级联可级联为8位二进制比较器,127,算术逻辑单元ALU 集成算术/逻辑运算单元(AIU)能够完成一系列算术运算和逻辑运算。 管脚图如后图, A和B是预定的输入状态,根据输入 信号S2S0选择八种不同的功能。74LS381的功能表如表所示,128,74LS381 能执行八种算术/逻辑运算,由功能选择端S0-S2决定功能选择。,
链接地址:https://www.31doc.com/p-2824450.html