西安石油大学数据逻辑课件第四章 组合逻辑电路_第1页
西安石油大学数据逻辑课件第四章 组合逻辑电路_第2页
西安石油大学数据逻辑课件第四章 组合逻辑电路_第3页
西安石油大学数据逻辑课件第四章 组合逻辑电路_第4页
西安石油大学数据逻辑课件第四章 组合逻辑电路_第5页
已阅读5页,还剩165页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章组合逻辑电路组合电路的基本分析与设计方法MSI组合逻辑器件的逻辑功能与应用组合电路中的竞争与冒险现象组合电路的基本分析与设计方法常见MSI器件的逻辑功能与应用掌握用VerilogHDL设计常用功能模块的方法主要内容:本章重点:第4章组合逻辑电路4.1组合逻辑电路概述4.2

组合逻辑电路分析4.3组合逻辑电路设计4.4常用组合逻辑电路4.5组合电路中的竞争与险象组合电路输入:逻辑关系:Fi=fi(X1、X2、…、Xn)i=(1、2、…、m)特点:电路由逻辑门构成不含记忆元件输出无反馈到输入的回路输出与电路原来状态无关输出:X1、X2、…、XnF1、F2、…、Fm4.1组合逻辑电路概述目标:找出电路输出与输入间的逻辑关系,了解电路的逻辑功能。步骤:输出函数表达式简化函数真值表描述电路功能已知组合电路4.2组合逻辑电路的分析组合逻辑电路的分析方法

简单组合逻辑电路的分析——举例例1试分析右图所示电路的逻辑功能。解:第一步:由逻辑图可以写输出F的逻辑表达式为:

第二步:可变换为

F=AB+AC+BC

第三步:列出真值表如下所示。ABCF00000010010001111000101111011111真值表第四步:确定电路的逻辑功能。由真值表可知,三个变量输入A,B,C,只有两个及两个以上变量取值为1时,输出才为1。可见电路可实现多数表决逻辑功能。也可称为三人表决器。解:根据给定逻辑图写出输出和输入之间的逻辑函数式。

根据逻辑函数式列出真值表1111&&&&&&&&&&DCBAY2Y1Y0例2.分析图示电路的逻辑功能,指出该电路的用途。输入输出DCBAY2Y1Y00000001000100100100010011001010000101010010110010011101010000101001010101001010111001100100110110011101001111100功能描述

该电路当DCBA表示的输入二进制数小于或等于5时Y0为1,当输入二进制数在6和10之间时Y1等于1,当输入二进制数大于或等于11时Y2等于1。

该逻辑电路是输入4位二进制数判别电路。组合电路的分析方法例3分析下图所示电路的逻辑功能。

解:为了方便写表达式,在图中标注每一级电路的输出,比如F1、F2和F3。S从某一输入信号发生变化到引起输出也发生变化所经历的逻辑门的最大数目。真值表该电路实现两个一位二进制数相加的功能。S是它们的和,C是向高位的进位。由于这一加法器电路没有考虑低位的进位,所以称该电路为半加器。根据S和C的表达式,将原电路图改画成左图所示的逻辑图。例2等价逻辑图例4分析下图所示电路的逻辑功能。解:写出逻辑表达式第二步:列出真值表Sn

Cn0000000110010100110110010101011100111111An

Bn

Cn-1第三步:分析逻辑功能Sn:An+Bn+Cn-1的和;Cn:An+Bn+Cn-1产生的进位。全加器:一位二进制数一位二进制数低位来的进位相加和高位进位作为常用电路,市场上有集成电路芯片(MSI)出售,用如下的逻辑符号表示。组合逻辑电路的分析方法——小结目标:获取给定电路的逻辑功能主要步骤:

(1)由逻辑图写表达式;

(2)化简表达式;

(3)列真值表;

(4)描述逻辑功能。思考:在真值表、逻辑表达式和逻辑电路中,哪个可唯一描述电路?4.3组合逻辑电路设计采用中小规模集成电路

1.SSI2.MSI采用VerilogHDL门电路数量最少芯片数量最少方法:结构描述,行为描述要求:占用系统资源少,速度快任务:用最简单的电路实现要求的逻辑功能。1.采用SSI集成器件的组合逻辑电路设计步骤逻辑功能要求真值表逻辑函数表达式简化表达式变换逻辑图设输入输出变量,并进行逻辑赋值例1.在举重比赛中,有两名副裁判,一名主裁判。当两名以上裁判(必须包括主裁判在内)认为运动员上举杠铃合格,按动电钮,裁决合格信号灯亮,设计该电路。1.采用SSI实现①逻辑抽象,确定输入输出变量和逻辑含义分析过程:输入变量有3个分别代表3个裁判,设主裁判为变量A,副裁判分别为B和C,若同意则按下电钮用1表示,不按电钮用0表示。输出变量1个,用来表示合格信号灯,记作Y。灯亮为1,表示合格,否则为0。②根据逻辑要求列出真值表真值表ABCY00000010010001101000101111011111③由真值表写出表达式④化简

Y=AB+AC⑤画出逻辑电路图逻辑函数的化简和变换的形式取决于所采用的器件,还可以采用与非门、或非门、与或非门实现例1的逻辑功能。采用与非门采用或非门采用与或非门2.使用VerilogHDL(1).结构描述用门级结构(与门和或门)实现例

1modulesamp4_3_1(A,B,C,Y);inputA,B,C;outputY;and#10ad1(t1,A,B),ad2(t2,A,C);6or#10o1(Y,t1,t2);7endmodule(2)行为描述if语句modulesamp4_3_3(A,B,C,Y);inputA,B,C;outputY;regY;always@(AorBorC)

if(A&B|A&C|A&B&C)Y=1;elseY=0;endmodule

case语句modulesamp4_3_4(A,B,C,Y);inputA,B,C;outputY;regY;always@(AorBorC)case({A,B,C}) 3'B011:Y=1; 3'B101:Y=1; 3'B110:Y=1; 3'B111:Y=1;

default:Y=0;

endcase

endmodule注意:

1.在使用if和case语句实现组合逻辑电路时,要注意对所有可能出现状态都要进行判断,如果在条件判断中只出现了对部分状态的处理,则一定要使用else或default语句实现对其余的状态进行处理,否则在综合后电路中会出现时序电路中的锁存器电路。

2.组合逻辑在过程中用阻塞赋值运算符“=”例2.设计一个可以实现4位格雷码和4位二进制编码的相互转换电路,有一个控制端S,当S=1时,可以将输入的4位格雷码转换成4位二进制编码,当S=0时实现将输入的4位二进制编码转换成4位格雷码。DecBinGrayB3B2B1B0G3G2G1G0000000000100010001200100011300110010401000110501010111601100101701110100DecBinGrayB3B2B1B0G3G2G1G0810001100910011101101010111111101111101211001010131101101114111010011511111000例2的解:格雷码转换到二进制码的卡诺图G3=B3,G2~G0转换到B2~B0的转换关系如上面卡诺图所示1.使用SSI实现G3=B3,B2~B0转换到G2~G0的转换关系如上面卡诺图所示例2的解:二进制码转换到格雷码的卡诺图以S作为选择端,S=0,G→B;S=1,B→GS=0S=1例2的解:结果合成后的Y1和Y22.使用Verilog结构描述实现modulesamp4_3_5(B,S,G);input[3:0]B;inputS;output[3:0]G;assignG[3]=B[3];u_gate1u1(.A(G[2]),.B(S),.C(S),.D(B[2]),.Y(t1)),u2(.Y(t2),.A(G[1]),.B(S),.C(S),.D(B[1]));xorxr1(G[2],B[3],B[2]),xr2(G[1],t1,B[1]),xr3(G[0],t2,B[0]);endmodule

moduleu_gate1(A,B,C,D,Y);//自定义复合门inputA,B,C,D;outputY;notu1(w1,C);andad1(n1,A,B),ad2(n2,w1,D);oro1(Y,n1,n2);endmodule

moduleu_gate2(A,B,C,D,Y);inputA,B,C,D;outputY;assignY=A&B|(~C)&D;endmodule

3.使用Verilog行为描述实现

modulesamp4_3_6(B,S,G);input[3:0]B;inputS;outputreg[3:0]G;always@(SorB)if(S)begin//实现格雷码到二进制码的转换

case(B)4'b0000:G=4'b0000; 4'b0001:G=4'b0001;4'b0011:G=4'b0010; 4'b0010:G=4'b0011; 4'b0110:G=4'b0100; 4'b0111:G=4'b0101; 4'b0101:G=4'b0110; 4'b0100:G=4'b0111; 4'b1100:G=4'b1000; 4'b1101:G=4'b1001; 4'b1111:G=4'b1010; 4'b1110:G=4'b1011; 4'b1010:G=4'b1100; 4'b1011:G=4'b1101; 4'b1001:G=4'b1110; 4'b1000:G=4'b1111;

endcaseendelse//实现二进制码到格雷码的转换

begin

case(B)4'b0000:G=4'b0000; 4'b0001:G=4'b0001;4'b0010:G=4'b0011; 4'b0011:G=4'b0010; 4'b0100:G=4'b0110; 4'b0101:G=4'b0111; 4'b0110:G=4'b0101; 4'b0111:G=4'b0100; 4'b1000:G=4'b1100; 4'b1001:G=4'b1101; 4'b1010:G=4'b1111; 4'b1011:G=4'b1110; 4'b1100:G=4'b1010; 4'b1101:G=4'b1011; 4'b1110:G=4'b1001; 4'b1111:G=4'b1000;

endcaseendendmodule3.使用Verilog行为描述实现

modulesamp4_3_6(B,S,G);input[3:0]B;inputS;outputreg[3:0]G;always@(SorB)if(S)begin//实现格雷码到二进制码的转换

case(B)4'b0000:G=4'b0000; 4'b0001:G=4'b0001;4'b0011:G=4'b0010; 4'b0010:G=4'b0011; 4'b0110:G=4'b0100; 4'b0111:G=4'b0101; 4'b0101:G=4'b0110; 4'b0100:G=4'b0111; 4'b1100:G=4'b1000; 4'b1101:G=4'b1001; 4'b1111:G=4'b1010; 4'b1110:G=4'b1011; 4'b1010:G=4'b1100; 4'b1011:G=4'b1101; 4'b1001:G=4'b1110; 4'b1000:G=4'b1111;

endcaseendelse//实现二进制码到格雷码的转换

begin

case(B)4'b0000:G=4'b0000; 4'b0001:G=4'b0001;4'b0010:G=4'b0011; 4'b0011:G=4'b0010; 4'b0100:G=4'b0110; 4'b0101:G=4'b0111; 4'b0110:G=4'b0101; 4'b0111:G=4'b0100; 4'b1000:G=4'b1100; 4'b1001:G=4'b1101; 4'b1010:G=4'b1111; 4'b1011:G=4'b1110; 4'b1100:G=4'b1010; 4'b1101:G=4'b1011; 4'b1110:G=4'b1001; 4'b1111:G=4'b1000;

endcaseendendmodule例3:设计一个输血—受血判别电路,当输血者和受血者的血型符合下列规则是,配型成功,受血者可接受输血者提供的血液。(1)A型血可以输给A型或AB型血的人(2)B型血可以输给B型或AB型血的人(3)AB型血只能输给AB型血的人(4)O型血可以输给所有型血的人例4:某建筑走廊有三个出入口,分别位于走廊的两头和中间,每个出入口都有一个开关控制走量照明灯。设计一个逻辑电路实现对照明灯的控制。4.4常用组合逻辑(MSI)电路全加器编码器译码器数据选择器和分配器数值比较器奇偶产生/校验电路4.4.1全加器1.1位全加器F

CO0000000110010100110110010101011100111111A

B

CI逻辑功能:逻辑符号:优点:电路简单缺点:速度慢应用举例:用4片1位全加器实现4位二进制数的加法。2.4位超前进位加法器进位直接由加数、被加数和最低位进位位CI0形成。2.4位超前进位加法器

逻辑符号:逻辑功能:

CO∑3∑2∑1∑0=P3P2P1P0+Q3Q2Q1Q0+CI常用器件:

CT54/74LS283掌握4位全加器的外部逻辑功能。学习要求:应用举例:例1:分析下图所示电路,写出在不同输入情况下电路的输出。

例2:分析下图所示电路,列出真值表,说明电路的逻辑功能。输入输出DCBAY3Y2Y1Y000000011000101000010010100110110…………10011100逻辑功能:8421BCD码转为余3码例3.试用一位全加器实现两位二进制乘法器。

解:设有两个二位二进制数分别为A=A1A0,B=B1B0,P是其乘法运算结果,则有:P=A×B=A1A0×B1B0,A1A0×B1B0A1B0A0B0+A1B1A0B1P3P2P1P0P0=A0B0P1=A1B0加A0B1P2=A1B1加C1P3=C2电路图

对涉及二进制加法的组合逻辑函数,可以用4位超前进位加法器简化电路设计。

例4:设计电路将余3码转化为8421BCD码。解:余3码(Y3Y2Y1Y0)=8421BCD码(DCBA)-0011=DCBA+11011101

2.加法器的Verilog设计与仿真//调用1位全加器的顶层模块modulesamp4_4_1(A,B,C0,S,C1);inputA,B,C0;outputS,C1;adder_fullu1(.ia(A),.ib(B),.ic(C0),.os(S),.oc(C1));endmodule//1位全加器模块moduleadder_full(ia,ib,ic,os,oc);inputia,ib,ic;outputos,oc;assign{oc,os}=ia+ib+ic;endmodule(1)一位加法器1位加法器仿真结果2.加法器的Verilog设计与仿真

//调用4位加法器的顶层模块modulesamp4_4_2(A,B,S,C);input[3:0]A,B;output[3:0]S;outputC;adder_4u1(.ia(A),.ib(B),.os(S),.oc(C));endmodule//4位全加器模块moduleadder_4(ia,ib,os,oc);input[3:0]ia,ib;output[3:0]os;outputoc;assign{oc,os}=ia+ib;endmodule(2)4位加法器4位加法器仿真结果生活中常用十进制数及文字、符号等表示事物。4.4.2编码器数字电路只能以二进制信号工作。编码器

译码器

1.基本概念编码:用二进制代码表示文字、符号或者数码等特定对象的过程。例:用7位二进制代码表示常用符号的ASCII码。

例:用4位二进制数表示十进制数的8421BCD码。输入输出关系:输入M个信号,输出N个信号,要求2N≥M。当Mi有效时,输出的N位信号就是Mi的编码。通常称为M线-N线编码器。编码器:实现编码的逻辑电路。

例:普通的8线-3线编码器。输入:八个信号(对象)I0~I7

(二值量)八个病房呼叫请求输出:三位二进制代码Y2Y1Y0对病房编码

I0

I1I2

I3I4

I5

I6

I7Y2Y1Y00111111100010111111001110111110101110111101111110111100111110111011111110111011111110111普通8线-3线编码器输入输出的对应关系任何时刻只允许输入一个编码请求其它输入取值组合不允许出现,为无关项。2.优先编码器在优先编码器中,允许同时输入两个以上的有效编码请求信号。当几个输入信号同时出现时,只对其中优先权最高的一个进行编码。

优先级别的高低由设计者根据输入信号的轻重缓急情况而定。如根据病情而设定优先权。≥1&≥1&&&&≥1&&&&≥1&&&&...............11.11.11.11.1111................YS(15)YEX(14)Y0(9)Y1(7)Y2(6)(5)ST(4)IN7(3)IN6(2)IN5(1)IN4(13)IN3(12)IN2(11)IN1(10)IN0图4-1-8

优先编码器逻辑图返回若不考虑附加电路ST、YS、YEX,则电路输出方程为:输入输出STIN0IN1IN2IN3IN4IN5IN6IN7Y2Y1Y0YEXYS1××××××××11111011111111111100×××××××0000010××××××01001010×××××011010010××××0111011010×××01111100010××011111101010×011111111001001111111111011-高电平,0-低电平,×-任意,输入低电平有效。表4-1-38线-3线优先编码器真值表选通输入端,低电平有效。选通输出端,高电平有效。扩展端,低电平有效。74LS148的逻辑符号

学习要求:不要求背74LS148的功能表。初步具备查阅器件手册的能力,通过MSI器件逻辑功能表了解集成器件功能,掌握MSI器件的使用方法。注意使能端的作用,它在实际使用中起重要作用。IN0IN1IN2IN3IN4IN5IN6IN7ST0/Z101/Z112/Z123/Z134/Z145/Z156/Z167/Z171011121314151617HPRI/BIN1aENaY0Y1Y22a4aaYEXYS18≥1图4-1-98线-3线优先编码器CT54148/CT74148逻辑符号01234567ENHPRI/BIN低位片STYSY0Y1Y2YEX01234567ENHPRI/BIN高位片STYSY0Y1Y2YEX&&&Y0Y1Y2Y3&YEX0123456789101112131415图4-1-10

8线-3线扩展为16线-4线优先编码器

3.编码器的功能扩展用两片8线-3线优先编码器扩展成为16线-4线优先编码器。若高位片的输入中有低电平,则由于对应的YS=1,使得低位片输出被封锁,结果取决于高位片的输出。反之则取决于低位片的输出。3.编码器的Verilog设计与仿真//基本功能编码器模块定义moduleencoder1(iIN_N,oY_N);input[7:0]iIN_N;outputreg[2:0]oY_N;always@(iIN_N)

case(iIN_N)8'b01111111:oY_N=3'b000; 8'b10111111:oY_N=3'b001; 8'b11011111:oY_N=3'b010; 8'b11101111:oY_N=3'b011; 8'b11110111:oY_N=3'b100; 8'b11111011:oY_N=3'b101; 8'b11111101:oY_N=3'b110; 8'b11111110:oY_N=3'b111; default:oY_N=3'bxxx;

endcaseendmodule74LS148优先编码器模块moduleencoder_74148(iST_N,iIN_N,oY_N,oYEX_N,oYS);inputiST_N;input[7:0]iIN_N;outputreg[2:0]oY_N;outputreg

oYEX_N,oYS;always@(iST_N,iIN_N)if(!iST_N)begin

oYEX_N=0;

oYS=1;if(iIN_N[7]==0)

oY_N=3'h0;elseif(iIN_N[6]==0)

oY_N=3'h1;elseif(iIN_N[5]==0)

oY_N=3'h2;elseif(iIN_N[4]==0)

oY_N=3'h3;elseif(iIN_N[3]==0)

oY_N=3'h4;elseif(iIN_N[2]==0)

oY_N=3'h5;elseif(iIN_N[1]==0)

oY_N=3'h6;elseif(iIN_N[0]==0)

oY_N=3'h7;else begin

oY_N=3'h7;

oYEX_N=1;

oYS=0; endendelsebegin

oY_N=3'h7;

oYEX_N=1;

oYS=1;endendmodule74LS148功能仿真

译码:编码的逆过程,将编码时赋予代码的特定含义“翻译”出来。

译码器:实现译码功能的电路。常用的译码器有二进制译码器、二-十进制译码器和显示译码器等。二进制代码原来信息编码对象编码译码4.4.3

译码器1二进制译码器

输入:二进制代码(N位)输出:2N个。方框图:若输入3位二进制代码、有8种状态,则有8个输出端,分别对应其中一种输入状态。因此,又把3位二进制译码器称为3线—8线译码器。简称3-8译码器。同理:2-4译码器

4-16译码器BIN/OCT二进制译码器的输出当译码器处于工作状态时,每输入一组二进制代码将唯一使对应的一个输出端为有效(低)电平,而其它输出端均为无效(高)电平。当某一输出端有效时也被称为“译中”。译码器输入端也被称为地址输入。译码输入译码输出

A1A0Y0Y1Y20001110110111011011111102位二进制译码器输出表达式:(1)3-8译码器74LS138内部电路图译码输入端

S为控制端(又称使能端)

S=1译码工作

S=0禁止译码,输出全1

74LS138的功能表译中为0高电平有效低电平有效禁止译码译码工作74LS138的逻辑符号低电平有效输出地址输入使能端74LS138的逻辑功能小结:三个译码输入端(又称地址输入端)A2、A1、A0,八个译码输出端,以及三个控制端(又称使能端)、、。、,是译码器的控制输入端,当=1、+=0(即=1,和均为0)时,S输出为高电平,译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平。S1S2S1S2S3S1S2S3S1S3S2Y0~Y7S3

74LS138输出端被“译中”时为低电平,所以其逻辑符号中每个输出端上方均有“—”符号。Y0~Y7

当74LS138译码器正常工作时,即S=1时:

(2)应用举例①芯片的级联

例1:用两片74LS138译码器构成4线—16线译码器A3=0时,片Ⅰ工作,片Ⅱ禁止

A3=1时,片Ⅰ禁止,片Ⅱ工作扩展位控制使能端②用二进制译码器实现组合逻辑函数以74LS138为例

比较以上两式可知,当3线—8线译码器工作时(S=1),把74LS138地址输入端(A2A1A0)作为逻辑函数的输入变量(ABC),译码器的每个输出端Yi都与某一个最小项mi相对应,加上适当的门电路,就可以利用译码器实现组合逻辑函数。例1试用74LS138译码器实现逻辑函数:解:因为则

因此,正确连接控制输入端使译码器处于工作状态,将、、、、经一个与非门输出,A2、A1、A0分别作为输入变量A、B、C,就可实现组合逻辑函数。Y1Y3Y6Y5Y7

注意变量输入与译码器地址的对应关系。例2用74LS138译码器实现多输出逻辑函数解:逻辑电路图可以用译码器方便地实现多输出组合逻辑函数。例3.分析下图所示电路,写出输出函数F的逻辑表达式解:使能端允许,3-8译码器正常工作。此时,注意:译码器输出最小项编号顺序是A2、A1、A0moduledecoder(iSTA,iSTB_N,iSTC_N,iA,oY_N);inputiSTA,iSTB_N,iSTC_N;input[2:0]iA;output[7:0]oY_N;reg[7:0]m_y;assignoY_N=m_y;always@(iSTA,iSTB_N,iSTC_N,iA)if(iSTA&&!(iSTB_N||iSTC_N))

case(iA)3'b000:m_y=8'b11111110;3'b001:m_y=8'b11111101;3'b010:m_y=8'b11111011;3'b011:m_y=8'b11110111;3'b100:m_y=8'b11101111; 3'b101:m_y=8'b11011111;3'b110:m_y=8'b10111111;3'b111:m_y=8'b01111111;

endcaseelse

m_y=8'hff;endmodule3-8译码器模块3-8译码器模块功能仿真结果2二-十进制译码器

二—十进制译码器的逻辑功能是将输入的BCD码译成十个输出信号。二—十进制译码器74LS42的逻辑符号二-十进制译码器74LS42的功能表译中为0拒绝伪码应用举例:

用4片二-十进制译码器及一片2-4译码器构成5-32译码器3显示译码器在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果,另一方面用于监视数字系统的工作情况。数字显示电路是数字设备不可缺少的部分。数字显示电路通常由显示译码器、驱动器和显示器等部分组成。

数字显示电路的组成方框图(1)数字显示器件数字显示器件是用来显示数字、文字或者符号的器件,常见的有辉光数码管、荧光数码管、液晶显示器、发光二极管数码管、场致发光数字板、等离子体显示板等等。主要讨论发光二极管数码管。

a.发光二极管(LED)及其驱动方式

LED具有许多优点,它不仅有工作电压低(1.5~3V)、体积小、寿命长、可靠性高等优点,而且响应速度快(≤100ns)、亮度比较高。一般LED的工作电流选在5~10mA,但不允许超过最大值(通常为50mA)。

LED可以直接由门电路驱动。

图(a)是输出为低电平时,LED发光,称为低电平驱动;图(b)是输出为高电平时,LED发光,称为高电平驱动;采用高电平驱动方式的TTL门最好选用OC门。

门电路驱动LED(a)低电平驱动(b)高电平驱动R为限流电阻七段显示LED数码管(a)外形图(b)共阴型(c)共阳型

b.七段LED数码管

LED数码管又称为半导体数码管,它是由多个LED按分段式封装制成的。LED数码管有两种形式:共阴型和共阳型。公共阴极公共阳极高电平驱动低电平驱动(2)七段显示译码器

a.七段字形显示方式

LED数码管通常采用七段字形显示方式来表示0-9十个数字。BIN/7.SEG七段显示译码器的逻辑符号

b.七段显示译码器

灭灯控制端8421BCD码七段代码

七段显示器译码器把输入的BCD码,翻译成驱动七段LED数码管各对应段所需的电平。常见七段显示译码器有74LS48、74LS49等。数字显示译码器7448简化符号A3~A0:8421BCD输入端Ya~Yg:七段输出端LT:灯光测试输入端RBI:串行灭零输入端BI/RBO:熄灭输入/串行灭零输出端十进制或功能输入BIRBO输出字形LTRBIA3A2A1A0YaYbYcYdYeYfYg012345678910111213141511111111111111111×××××××××××××××000000010010001101000101011001111000100110101011110011011110111111111111111111111111110011000011011011

1110010110011101101100111111110000111111111100110001101001100101000111001011000111100000000123456789消隐脉冲消隐灯测试×10×0×××××0000××××0010000000000000011111118灭0输入8421BCD码灭0输出消隐输入74LS48功能表图4.2.17用7448驱动BS201A的连接方法1KΩ×7

例:一个数码译码显示系统具有共阴共阳输出可选控制的七段译码模块

modulesamp4_4_7(flag,A,Y);inputflag;input[3:0]A;outputreg[6:0]Y;seg_decoderu1(.iflag(flag),.iA(A),.oY(Y));endmodulemoduleseg_decoder(iflag,iA,oY);//七段译码模块定义inputiflag;//共阴、共阳输出控制端,input[3:0]iA;//四位二进制输入outputreg[6:0]oY;always@(iflag,iA)begin

case(iA)4'b0000:oY=7'h3f;//iflag=1共阴极输出

4'b0001:oY=7'h06;4'b0010:oY=7'h5b;4'b0011:oY=7'h4f;4'b0100:oY=7'h66;4'b0101:oY=7'h6d;4'b0110:oY=7'h7d;4'b0111:oY=7'h27;4'b1000:oY=7'h7f;4'b1001:oY=7'h6f;4'b1010:oY=7'h77;4'b1011:oY=7'h7c;4'b1100:oY=7'h58;4'b1101:oY=7'h5e;4'b1110:oY=7'h79;4'b1111:oY=7'h71;

endcase

if(!iflag)

oY=~oY;//iflag=1共阳极输出endendmodule七段译码模块功能仿真图作业4-104-13补充作业

试用一片3-8译码器74LS138接成一位全加器电路,可以附加必要的门电路。在多路数据传送过程中,能够根据需要将其中任意一路挑选出来的电路,叫做数据选择器,也称为多路选择器,其作用相当于多路开关。输入数据输出数据选择控制信号A0Y4选1数据选择器D0D3D1D2A100011011D0D1D2D3常见的数据选择器有四选一、八选一、十六选一电路。数据选择器:4.4.4数据选择器和数据分配器以四选一数据选择器为例。

(1)四选一数据选择器的逻辑电路图四选一数据选择器电路1数据选择器的工作原理地址输入端控制输入端数据输入端输出端≥1Y&A11A01D3D2D1D0Y=A1A0D0

+A1A0D1+A1A0D2

+A1A0D3S四选一数据选择器的功能表输入输出S

A1

A0Y0××0100D0101D1110D2111D3不同型号的数据选择器可能在输入输出标记、控制端的有效电平等方面不同,但其基本功能是相同的。A1A0四选一D3D2D1D0SY2双四选一数据选择器——74LS153简易符号74LS153的逻辑符号3八选一数据选择器——74LS151三个地址输入端A2、A1、A0,八个数据输入端D0~D7,两个互补输出的数据输出端Y和Y,一个控制输入端S。74LS151的逻辑符号

74LS151的功能表

禁止状态工作状态使能端地址输入互补输出例1试用一片双四选一数据选择器74LS153组成一个八选一数据选择器。解:连接线路如图1A2≥1Y当A2=0时,(1)部分电路工作,可在D0~D3中选择某个数据;(1)(2)A1A0D7D6D5D4D3D2D1D074LS153D22D20D12D10D23D21S2D13D11S1Y2Y1A1A0可在D4~D7中选择某个数据。当A2=1时,(2)部分电路工作,4应用举例(1)数据选择器的级联用74LS151构成十六选一数据选择器

扩展位接控制端A3=1时,片Ⅰ禁止,片Ⅱ工作A3=0时,片Ⅰ工作,片Ⅱ禁止输出需适当处理(该例接或门)

例2:用两片八选一数据选择器74LS151,构成十六选一数据选择器。例3:用4片8选1MUX和1片2-4译码器构成32选1MUX例3:用4片8选1MUX和1片4选1构成32选1MUX比较可知,表达式中都有最小项mi,利用数据选择器可以实现各种组合逻辑函数。组合逻辑函数8选14选12.用数据选择器实现组合逻辑函数解:3个变量,选用8选1数据选择器。②设A2=A、A1=B、A0=C例1:①选用8选1数据选择器74LS151③求Di8选1数据选择器输出信号的表达式:比较L和Y,得:ABC00

010

1

1

1

Y

D0D1D2D3D4D5D6D774LS151GA2A1A0④画连线图L用真值表法求Di注意变量高低位顺序!

例2

试用八选一MUX实现分析:可将逻辑表达式改写为(1)

D0=D3=D5=D7=1D1=D2=D4=D6=0解:根据八选一数据选择器的功能(2)将A、B、C分别从A2、A1、A0输入,作为输入变量(4)把Y端作为输出F。(3)S=0ABCF00010010010001111000101111001111真值表对照法注意变量高低位顺序!

例3试用八选一MUX实现三人表决器。ABCF00000010010001111000101111011111

解:假设三变量为A、B、C,表决结果为F,则真值表如下表所示。在八选一电路中,将A、B、C从A2、A1、A0

输入,令D3=D5=D6=D7=1D0=D1=D2=D4=0S=0F=Y则可实现三变量多数表决电路。则

思考:

2N选1的MUX可实现几变量逻辑函数?

问题:若用8选1实现4变量的函数,或者用4选1实现3变量的函数,即地址输入端的个数比变量个数少,如何实现?例4:用8选1MUX实现4变量逻辑函数F(A,B,C,D)=∑m(1,5,6,7,9,11,12,13,14)

方法1:扩展

将A3、A2、A1、A0分别接输入A、B、C、D,D1=D5=D6=D7=D9=D11=D12=D13=D14=1D0=D2=D3=D4=D8=D10=D15=0F=YABCD0100011101011110F方法2:降维图法

卡诺图中,每个小方格内都是最小项的值:0、1或任意值×。卡诺图的变量数称为卡诺图的维数。

通过将某些变量作为卡诺图的值,而减少卡诺图的维数,这一过程称为降维。形成的卡诺图称为降维卡诺图;被作为值的变量称为记图变量。降维DD降维的方法:

ABC为000时,D=0,F=0;D=1,F=0。

ABC为011时,D=0,F=1;D=1,F=1。ABC为110时,D=0,F=0;D=1,F=1。ABC为100时,D=0,F=1;D=1,F=0。DD

如果将X作为记图变量,若x=0时,原图单元值为F;x=1时,原图单元值为G。则新的降维图中对应单元的值就应填入子函数降维降维AB000111100C例4:用8选1MUX实现4变量逻辑函数

F(A,B,C,D)=∑m(1,5,6,7,9,11,12,13,14)

解:令D0=D2=D4=D5=DD1=0D3=D6=1D7=D降维

例5:现有A,B,C三台设备,其功率均为10KW,由Y1,Y2,两台发电机组供电,已知Y1功率为10KW,Y2功率为20KW。从节约电能方面考虑,试根据投入运行的设备数,设计一个控制电路以决定发电机组的启停。解:输入变量:A、B、C,1表示运行,0表示不运行;输出变量:Y1,Y2,1表示启动,0表示停止。

4选1、8选1、16选1MUX只有一个输出端,只能实现一个输出的逻辑函数。

问题:如果是多输出的逻辑函数,如何实现?ABCY1Y20000000110010100110110010101011100111111真值表CCCC01降维降维对三变量函数进行降维:可以考虑用双4选1的MUX实现。双4选1MUX的地址输入端公用,能够同时产生两个输出。将A、B从A1、A0

输入,令1D0

=1D3=C1D1=1D2=2D1

=2D2=C2D0

=02D3=11ST=2ST=0

则:输出1=Y1

输出2=Y2例4逻辑电路图

例4-8

用8选1数据选择器实现逻辑函数

F(A,B,C,D,E)=∑m(0,1,3,9,11,12,13,14,20,21,22,23,26,31)图4-2-21

例4-8的降维图解作函数的卡诺图和降维卡诺图。(a)卡诺图10000010000111100001CDAB01010101111011001100000111100001CDAB001101011110E=0E=11E00EE0AB0001111000011110CD0E10101(b)4变量降维图E00DE10001111001ABC(c)3变量降维图AB0101(d)2变量降维图C01234567G07MUXYENCBAF1D&图4-2-22

用8选1MUX实现例4-8&&&E添加必要的逻辑门,构成逻辑电路。A0A1A2ST0123G03MUXYENDCST0123G03MUXYENST0123G03MUXYENSTE0123G03MUXYENSTBAF图4-2-23

4选1MUX实现例4-8函数采用4选1数据选择器的实现方法。11A0A1A0A1A0A1A0A1四选一数据选择器模块定义modulemux4(iD,iS,oQ);input[3:0]iD;//数据输入信号input[1:0]iS;//数据选择控制信号outputreg

oQ;//输出信号always@(iD,iS)

case(iS)2'b00:oQ=iD[0]; 2'b01:oQ=iD[1]; 2'b10:oQ=iD[2]; 2'b11:oQ=iD[3];

endcaseendmodule2.数据分配器在数据传送中,有时需要将某一路数据分配到不同的数据通道上,实现这种功能的电路称为数据分配器,也称多路分配器。市场上并没有专用的数据分配器器件,实际使用中,通常用译码器来实现数据分配的功能。moduledmux_8(iEN,iS,iD,oY);//8路数据分配器模块定义

moduledmux_8(iEN,iS,iD,oY);inputiEN;//使能控制信号inputiD;//数据输入信号input[2:0]iS;//地址信号outputreg[7:0]oY;//数据输出信号always@(iD,iEN,iS)begin

oY=8'b11111111;

if(iEN)

case(iS)3'b000:oY[0]=iD;3'b001:oY[1]=iD;3'b010:oY[2]=iD;3'b011:oY[3]=iD;

3'b100:oY[4]=iD;3'b101:oY[5]=iD;3'b110:oY[6]=iD;3'b111:oY[7]=iD;

endcaseendendmodule数值比较器:能够比较数字大小的电路。

1.

一位数值比较器(比较A、B两个1位二进制数)

(1)A>B:只有当A=1、B=0时,A>B才为真;

(2)A<B:只有当A=0、B=1时,A<B才为真;

(3)A=B:只有当A=B=0或A=B=1时,A=B才为真。ABYA>BYA<BYA=B000010101010100110014.4.5数值比较器2位数值比较器2位数值比较器的真值表数值输入级联输入输出A1B1A0B0IA>B

IA<B

A=BFA>B

FA<B

FA=BA1>B1A1<B1A1=B1A1=B1A1=B1A1=B1A1=B1××××A0>B0A0<B0A0=B0A0=B0A0=B0××××

××××××××100010001100010100010100010001两位比较器电路图74LS85的逻辑符号如果要比较两个多位二进制数A和B的大小?必须从高向低逐位进行比较。2.四位数值比较器——74LS85级联输入便于功能扩展74LS85的功能表输入级联输入输出A3,B3A2,B2A1,B1A0,B0IA>BIA<BIA=BFA>BFA<BFA=B10××××××10001××××××010A3=B310×××××100A3=B301×××××010A3=B3A2=B210××××100A3=B3A2=B201××××010A3=B3A2=B2A1=B110×××100A3=B3A2=B2A1=B101×××010A3=B3A2=B2A1=B1A0=B0100100A3=B3A2=B2A1=B1A0=B0010010A3=B3A2=B2A1=B1A0=B0001001A3=B3A2=B2A1=B1A0=B0××1001应用举例:

例1.用两片74LS85实现两个8位二进制数的比较。例2.输入4位二进制数A、B、C、D,下图所示电路能判断它是否为8421BCD码,说明电路工作原理。对涉及数值比较的电路可以用数值比较器简化电路的设计。

例3.设有一个4位二进制数X(X3X2X1X0),送到一个判别电路,要求当1X9时,电路输出Y=1。设计此判别电路。解:条件1X9可以转化为X<10并且X0。X=0,即X3+X2+X1+X0=0X0,即X3+X2+X1+X0=1比较器A输入:X3X2X1X0

,B输入:1010电路输出Y=比较器输出FA<B·(X3+X2+X1+X0

)数值比较器模块modulecompare_n(A,B,AGB,ALB,AEB);input[n-1:0]A,B;outputregAGB,ALB,AEB;parametern=4;always@(A,B)beginAGB=0;ALB=0;AEB=0;

if(A>B)AGB=1;elseif(A==B)AEB=1;elseALB=1;endendmodule(2)奇偶检验(1)奇偶检验码1奇偶校验信息位:由若干位二进制代码构成奇偶检验位:一位代码构成奇检验:整个码组中1的个数为奇数偶检验:整个码组中1的个数为偶数FE偶检验位FOD奇检验位4.4.6奇偶产生/校验电路发送信息码(N位)接收信息码(N位)+检验位(1位)检验位(1位)检验结果校验过程:FE=B3B2B1B0S=B3B2B1B0FE2奇偶位产生和检验电路异或门的功能:奇数个1的连续异或运算其结果为1;偶数个1的连续异或运算其结果为0。S=0,传输无误;S=1传输有误FE=B3B2B1B0S=B3B2B1B0FE发送端偶检验位表达式:接受端偶检验位表达式:中规模集成奇偶发生器74180的逻辑图和引脚排列图。EVENODDFEVFOD表4.4.13CT74180功能表输入输出A~H中1的个数EVENODDFEV

FOD偶数10100101奇数10010110×110000118位数据传输的数据的奇偶校验系统3.奇偶产生校验模块moduleod

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论