《数字逻辑电路与系统设计 .pptx》由会员分享,可在线阅读,更多相关《数字逻辑电路与系统设计 .pptx(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 3.1 由基本逻辑门构成的组合电路的分析和设计3.1.1 组合电路的一般分析方法分析步骤:(1)根据逻辑电路图,写出输出逻辑函数表达式;(2)根据逻辑表达式,列出真值表;(3)由真值表或表达式分析电路功能.第1页/共102页例:分析下图所示逻辑电路P1P2P3P4F=P2+P3+P4P2=AP1P3=BP1P4=CP1P1=ABC=(A+B+C)ABC真值表:A B C F0 0 0 10 0 1 00 1 0 00 1 1 010 0 01 0 1 011 0 01 1 1 1逻辑功能:一致电路=ABC+ABC&ABCF&1第2页/共102页3.1.2 组合电路的一般设计方法一般步骤:(1
2、)由实际逻辑问题列出真值表;(2)由真值表写出逻辑表达式;(3)化简、变换输出逻辑表达式;(4)画出逻辑图。第3页/共102页例:试用与非门设计一个三变量表决电路,表决规则为少 数服从多数.解:(1)列真值表设:由A、B、C表示三个输入变量,F表示表决结果。并设A、B、C为1表示赞成,为0表示反对;F为1表示表决通过,为0 表示不通过。第4页/共102页A B C F0 0 0 00 0 1 00 1 0 00 1 1 110 0 01 0 1 111 0 11 1 1 1(2)化简、求最简函数表达式ABC01000111101111F=AB+AC+BC=ABACBC第5页/共102页(3)画
3、电路图ABCF&第6页/共102页例 设计一个两位二进制数比较器。解 设被比较的数分别为 A=A1A0,B=B1B0;比较的结果 为:A1A0B1B0时,输出F1=1;A1A0=B1B0时,输 出F2=1;A1A0B1B0时,输出F3=1.第7页/共102页列真值表:A1 A0 B1 B0 F1 F2 F3 A1 A0 B1 B0 F1 F2 F3 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0
4、0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0第8页/共102页画卡诺图化简:A1A0B1B00001111000011110111111F1F1=A1B1+A1A0B0+A0B1B0A1A0B1B000011110000111101111F2F2=A1A0B1B0+A1A0B1B0 +A1A0B1B0+A1A0B1B0第9页/共102页A1A0B1B00001111000011110111111F3F3=A1B1+A1A0B0+A0B1B0按
5、F1、F2和F3表达式可方便地用门电路实现比较器的逻辑功能。(图略,可作为一习题,请在课后完成。)第10页/共102页 3.2 MSI构成的组合逻辑电路本节将介绍几种常用的中规模集成电路(MSI),这些中规模集成电路分别具有特定的逻辑功能,称为功能模块,用功能模块设计组合逻辑电路,具有许多优点.第11页/共102页3.2.1 自顶向下的模块化设计方法顶:指系统功能,即系统总要求,较抽象.向下:指根据系统总要求,将系统分解为若干个子系统,再将每个子系统分解为若干个功能模块,直至分成许多各具特定功能的基本模块为止.例:设计一个数据检测系统,功能表如下:S1 S2 输出功能0 0 A+B0 1 AB
6、1 0 Min(A,B)1 1 Max(A,B)数据A、B分别来自两个传感器.第12页/共102页B:数据检测系统 B1:输入传感器数据 B2 计算值 B3 选择输出 B11传感器A B12传感器B B21 A+B B22 AB B23Min(A,B)B24Max(A,B)*B231 比 较 A和B B232 选 择 Min*B241 比 较 A和B B242 选 择 Max*顶层*:叶结点分层设计树第13页/共102页AB B11转换A B12转换B B21二进制 加法 B22二进制 减法 B231 比 较 B241 比 较 B242 选 择 B232 选 择 B3 输出选择S1S2B1:输
7、入B2:计算 功能选择输出传感器 分层方框图minmaxB23B24第14页/共102页3.2.2 编码器将信息(如数和字符等)转换成符合一定规则的二进制代码.1.二进制编码器用n位二进制代码对N=2n 个特定信息进行编码的逻辑电路.设计方法:以例说明第15页/共102页设计一个具有互相排斥输入条件的编码器.输入:X0、X1、X2、X3输出:A1、A0对应关系:输入 A1 A0 X0 0 0 X1 0 1 X2 1 0 X3 1 1第16页/共102页X3 X2 X1 X0 A1 A00 0 0 0 0 0 0 1 0 00 0 1 0 0 10 0 1 1 0 1 0 0 1 00 1 0
8、1 0 1 1 0 0 1 1 1 1 0 0 0 1 11 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 X3X2X1X000011110000111101100A1=X2+X300011110000111101001X3X2X1X0A0=X1+X3第17页/共102页4线2线编码器电路图:11X2X3X3X1A1A0(1)编码器在任何时候只允许 有一个输入信号有效;(2)电路无X0输入端;(3)电路无输入时,编码器的 输出与X0编码等效.第18页/共102页 带输出使能(Enable)端的优先编码器:输出使能端:用于判别电路是否
9、有信号输入.优先:对输入信号按轻重缓急排序,当有多个信号同时输入时,只对优先权高的一个信号进行编码.下面把上例4线2线编码器改成带输出使能(Enable)端的优先编码器,假设输入信号优先级的次序为:X3,X2,X1,X0.第19页/共102页X3 X2 X1 X0 A1 A0 E00 0 0 0 0 0 10 0 0 1 0 0 00 0 1 0 0 1 00 0 1 1 0 1 00 1 0 0 1 0 00 1 0 1 1 0 00 1 1 0 1 0 00 1 1 1 1 0 01 0 0 0 1 1 01 0 0 1 1 1 01 0 1 0 1 1 01 0 1 1 1 1 01 1
10、 0 0 1 1 01 1 0 1 1 1 01 1 1 0 1 1 01 1 1 1 1 1 0 X3X2X1X000011110000111101100111111111100A1=X2+X3X3X2X1X000011110000111101001000111111101A0=X3+X2X1第20页/共102页EO=X3X2X1X0=X3+X2+X1+X011&1X2X1X3X2X0A0A1EO编码器电路图第21页/共102页2.二十进制编码器输入:I0 ,I1,I2 I9,表示十个要求编码的信号.输出:BCD码.电路有十根输入线,四根输出线,常称为10线4线编码器第22页/共102页3.
11、通用编码器集成电路两种主要集成电路:10线4线优先编码器;8线3线优先编码器.123456789 I1 I2 I3 I9HPRI/BCD1248Y0Y1Y2Y374147YEX1234567 I0 I1 I2 I7HPRI/BIN124Y0Y1Y2074148YSENST第23页/共102页74147为10线4线优先编码器,输入为低电平有效,输出为8421BCD反码,HPRI是最高位优先编码器的说明.例如:若输入I8、I5、I2为0(有效),其它输入为1。则编码器对I8进行编码,输出Y3Y2Y1Y0=0111(1000的反码)74148为8线3线优先编码器,输入为低电平有效,输出为3位二进制反
12、码,HPRI是最高位优先编码器的说明.图中:ST端为输入控制端,当ST=0时,电路处于正常工作状态;当ST=1时,电路禁止工作,Y2Y1Y0=111.第24页/共102页YS=ST I0I1I2I3I4I5I6I7YEX=ST(I0+I1+I2+I3+I4+I5+I6+I7)YS:选通输出端.当ST=0(即正常工作时),若编码输入信号Ii均为1(即无编码信号输入),则YS=0.说明当YS=0时,电路在工作状态,但无编码信号输入.这时Y2Y1Y0=111.YEX:扩展输出端.当ST=0(即正常工作时),若有编码信号输入(即至少有一个Ii为0),则YEX=0.说明当YEX=0时,电路在工作状态,而
13、且有编码信号输入.第25页/共102页编码器扩展举例:YEX1234567 I0 I7HPRI/BIN124074148YSENSTYEX1234567 I8 I15HPRI/BIN124074148YSENST&a0a1a2a3001111111110I15I5均为1时,如I4=00第26页/共102页问题思考:若用四片74148构成一个32线5线 编码器,电路如何设计?若用八片74148构成一个64线6线 编码器,电路又如何设计?扩展电路设计提示:1)观察上例编码器低三位输出电路结构,并找出规律;2)分析高位输出和各YEX之间的关系,将 YEX作为输入,高位信号作为输出,设 计一输出电路。
14、第27页/共102页3.2.3 译码器1.二进制译码器X0X1Xn-1Y0Y1二进制译码器译码是编码的逆过程,作用是将一组码转换为确定信息。输入:二进制代码,有n个;输出:2n 个特定信息。(1)译码器电路结构 以2线 4线译码器为例说明2线 4线译码器的真值表为:B A Y0 Y1 Y2 Y30 0 1 0 0 00 1 0 1 0 010 0 0 1 01 1 0 0 0 1 第28页/共102页下图为高电平输出有效的2线 4线译码器电路图,MSB&11AB LSBY0Y1Y2Y3Y0=BA=m0Y1=BA=m1Y2=BA=m2Y3=BA=m3第29页/共102页由真值表容易得出:高电平输
15、出有效二进制译码器,其输出逻辑表达式为:Yi=mi (mi为输入变量所对应的最小项)低电平输出有效二进制译码器,其输出逻辑表达式为:Yi=mi (mi为输入变量所对应的最小项)第30页/共102页(2)用译码器实现组合逻辑函数原理:二进制译码器能产生输入信号的全部最小项,而 所有组合逻辑函数均可写成最小项之和的形式.例 试用3线 8线译码器和逻辑门实现下列函数F(Q,X,P)=m(0,1,4,6,7)=M(2,3,5)第31页/共102页解题的几种方法:利用高电平输出有效的译码器和或门。F(Q,X,P)=m0+m1+m4+m6+m7 利用低电平输出有效的译码器和与非门。F(Q,X,P)=m0m
16、1m4m6m7第32页/共102页01234567ABCPXQ高位1F(Q,X,P)01234567ABCPXQ高位F(Q,X,P)&F(Q,X,P)=m0+m1+m4+m6+m7F(Q,X,P)=m0m1m4m6m7第33页/共102页 利用高电平输出有效的译码器和或非门。F(Q,X,P)=m2+m3+m501234567ABCPXQ高位1F(Q,X,P)利用低电平输出有效的译码器和与门。F(Q,X,P)=m2m3m5第34页/共102页01234567ABCPXQ高位F(Q,X,P)&F(Q,X,P)=m2m3m5(3)译码器的使能控制输入端利用使能输入控制端,既能使电路正常工作,也能 使
17、电路处于禁止工作状态;利用使能输入控制端,能实现译码器容量扩展。第35页/共102页EN为使能控制输入端,EN=0,输出均为0;EN=1,输出译码信号。电路满足:Yi=mi EN&11AB LSBY0Y1Y2Y3EN MSB逻辑图Y0Y1Y2Y3ENAB逻辑符号第36页/共102页利用使能端实现扩展的例子:Y0Y1Y2Y3ENABY0Y1Y2Y3ENAB1I0I1I2Y0Y1Y2Y4Y3Y5Y6Y7(1)(2)当I2=0时,(1)片工作,(2)片禁止.当I2=1时,(1)片禁止,(2)片工作.由两片2线4线译码器组成3线8线译码器第37页/共102页 2.二十进制译码器输入:BCD码.输出:十
18、个高、低电平.(常称4线10线译码器)伪码A3 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1
19、 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1输出低电平有效真值表第38页/共102页4线10线译码器逻辑表达式:Y0=A3A2A1A0Y1=A3A2A1A0Y2=A3A2A1A0Y3=A3A2A1A0Y4=A3A2A1A0Y5=A3A2A1A0Y6=A3A2A1A0Y7=A3A2A1A0Y8=A3A2A1A0Y9=A3A2A1A0第39页/共102页3.通用译码器集成电路(1)74138 带使能端3线8线译码器01234567BIN/OCT12
20、4&ENa0a1a2S1S2S3Y0Y1Y2Y3Y4Y5Y6Y7S1S2S3=001,电路工作;否则,电路禁止工作,电 路输出均为1.电路输出低电平有效;第40页/共102页(2)74154015BIN/SIXTEEN1248&ENa0a1a2S1S2Y0Y15a34线16线译码器(3)744209BCD/DEC1248a0a1a2Y0Y9a34线10线译码器第41页/共102页4.显示译码器(1)半导体数码管abcdfeg七段显示器第42页/共102页abcdfeg显示器分类:共阴abcdefg 共阳阳极加高电平字段亮。阴极加低电平字段亮。abcdefg 1第43页/共102页(2)显示译码
21、器功能:将表示数字的BCD码转换成七段显示码。七段显示译码器DCBAabcdefg输入:BCD码输出:七段显示码。第44页/共102页显示译码器设计步骤:(以输入8421BCD码、输出驱动共阳显示器为例)列真值表;化简、写最简函数表达式;画电路图。第45页/共102页真 值 表D C B A a b c d e f g 显示0 0 0 0 0 0 0 0 0 0 1 00 0 0 1 1 0 0 1 1 1 1 10 0 1 0 0 0 1 0 0 1 0 20 0 1 1 0 0 0 0 1 1 0 30 1 0 0 1 0 0 1 1 0 0 40 1 0 1 0 1 0 0 1 0 0
22、50 1 1 0 0 1 0 0 0 0 0 60 1 1 1 0 0 0 1 1 1 1 710 0 0 0 0 0 0 0 0 0 81 0 0 1 0 0 0 0 1 0 0 9化简后表达式:a=ABCD+ABCb=ABC+ABCc=ABCd=ABC+ABC+ABCDe=A+ABCf=AB+ABCD+ABCg=ABC+BCD化简说明:利用了无关项;考虑了多输出逻辑函数化简中的公共项.第46页/共102页思考题:根据上面设计,判断当输入DCBA为1010时,LED显示什么?第47页/共102页3.2.4 数据选择器功能:从多路输入数据中选择其中的一路送至输出端.数据选择器简称MUX,数据选
23、择器的数据输入端数称为通道数.数据选择器功能示意图:(以四选一数据选择器为例)D0D1D2D3Y译码器A0A1地址码输入数据输入数据输出第48页/共102页1.数据选择器电路结构(以四选一数据选择器为例)功能表输出函数表达式:Y=(A1A0)D0+(A1A0)D1 +(A1A0)D2+(A1A0)D3Y=miDii=03A1 A0 Y0 0 D00 1 D11 0 D21 1 D3 第49页/共102页地址数据输出&11A0A1D0D1D2D3Y1第50页/共102页数据选择器通道扩展:由四选一数据选择器组成十六选一数据选择器的例子ZYA1A0 D0 D1 D2 D3YA1A0 D0 D1 D
24、2 D3YA1A0 D0 D1 D2 D3YA1A0 D0 D1 D2 D3YA1A0 D0 D1 D2 D3A1A0A3A2 I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13I14 I15 第51页/共102页2.通用数据选择器集成电路输入数 TTL CMOS(数字)CMOS(模拟)ECL 16 74150 4515 406728 74451 4096 8 74151 4512 4051 1016444 7445324 74153 4539 4052 1017482 7460442 74157 4519 4066 10159常用MUX集成电路数据选择
25、器的逻辑符号及输入选通端:以双四选一MUX74153和八选一MUX74151说明之.第52页/共102页EN012301G03MUXA0A11ST1D01D11D21D32D02D12D22D32ST1Y2Y7415301234567012G07MUXA0A1D0D1D2D3D4D5D6D7YY74151A2ENSTY=(A1A0)D0+(A1A0)D1 +(A1A0)D2+(A1A0)D3)STY=(miDi)ST i=0 7第53页/共102页利用选通控制端实现通道扩展的例子:EN012301G03MUXA0A11ST1D01D11D21D32D02D12D22D32ST1Y2Y74153
26、1A21YA2=0 时,由A1A0选择1DiA2=1时,由A1A0选择2Di第54页/共102页3.数据选择器的应用(1)用数据选择器实现组合逻辑函数基本思想:由数据选择器的一般表达式Y=miDi可知,利用地址变量产生所有最小项,通过数据输入信号Di的不同取值,来选取组成逻辑函数的所需最小项.例 试用八选一数据选择器74151实现逻辑函数 F(A,B,C)=m(0,2,3,5)第55页/共102页解:待实现的函数为:F(A,B,C)=m(0,2,3,5)=ABC+ABC+ABC+ABC74151的输出表达式为:Y=(A2A1A0D0+A2A1A0D1+A2A1A0D2+A2A1A0D3 +A2
27、A1A0D4+A2A1A0D5+A2A1A0D6+A2A1A0D7)ST F(A,B,C)=m(0,2,3,5)=ABC+ABC+ABC+ABCY=(A2A1A0D0+A2A1A0D1+A2A1A0D2+A2A1A0D3 +A2A1A0D4+A2A1A0D5+A2A1A0D6+A2A1A0D7)ST比较两式:第56页/共102页 令:ST=0A2=A;A1=B;A0=C D0=D2=D3=D5=1 D1=D4=D6=D7=0Y=FY=F0CAB1011010001234567012G07MUX74151EN第57页/共102页注意:用MUX实现逻辑函数时,MUX必须被选通,即ST=0变量和地址
28、端之间的连接必须正确。第58页/共102页 例:试用四选一MUX实现逻辑函数F=ABC+ABC+ABC+ABC解:当MUX被选通时,其输出逻辑表达式为:Y=(A1A0)D0+(A1A0)D1+(A1A0)D2+(A1A0)D3 比较两式,令A1=A;A0=B;D0=1,D1=0,D2=C,D3=C则 Y=F注:该题的解法不唯一。将函数F写成:F=AB1+AB0+ABC+ABCEN012301G03MUXA0A1STD0D1D2D3Y0BA10CCF第59页/共102页例:用四选一数据选择器实现逻辑函数:F(A,B,C,D)=m(1,2,4,9,10,11,12,14,15)解:ABCD0001
29、1110000111101111 1 1111AB(C+D)=A1A0D3AB(CD+CD)=A1A0D0AB(CD)=A1A0D1AB(C+D)=A1A0D2令数据选择器的地址A1A0=ABD0=CD+CD=CDCDD1=CD=CDD2=C+D=CDD3=C+D=CD第60页/共102页注:上面采用A、B作为地址变量。实际上,地址变量 的选取是任意的,选不同的变量为地址变量时,数据输入端的信号也要随之变化。EN012301G03MUXA0A1STD0D1D2D3Y0BAF&1CDDDCC电路图:第61页/共102页(2)MUX的其他应用举例分时多路传输电路EN012301G03MUXA0A1
30、STY0FABCDA1A00000011110 00 001 11 1A B C D A B C D AF第62页/共102页当b2b1b0=a2a1a0时,Y=0;否则Y=1.并行数码比较器01234567012G07MUXA0A1D0D1D2D3D4D5D6D7Y74151A2ENST001234567BIN/OCT&EN1a0a1a2b0b1b212474138第63页/共102页3.2.5 数据分配器 数据分配器的功能和数据选择器相反,是将一个输入通道上的信号送到多个输出端中的某一个.DENY0Y1Y2Y3A1A0 数据分配器一分四 数据分配器例子:功 能 表EN A1 A0 Y0 Y
31、1 Y2 Y3 0 0 0 0 0 1 0 0 D 0 0 0 1 0 1 0 D 0 0 1 1 0 0 0 D 0 1 1 1 0 0 0 D逻辑表达式Yi=(miD)EN第64页/共102页由译码器构成数据分配器的例子:015BIN/SIXTEEN1248&ENa0a1a2S1S2Y0Y15a34线16线译码器D实际上,数据分配器一般由带使能端的译码器构成.第65页/共102页3.2.6 算术运算电路算术运算电路的核心为加法器.1.基本加法器电路(1)半加器(HA)仅考虑两个一位二进制数相加,而不考虑低位的进位,称为半加.ABSCCO半加器逻辑符号第66页/共102页设:A、B为两个加数
32、,S 为本位的和,C 为本位向高位的 进位。则半加器的真值表、方程式、逻辑图如下所示A B C S0 0 0 00 1 0 11 0 0 11 1 1 0 真值表S=ABC=AB逻辑方程=1&ABSC 逻辑图第67页/共102页(2)全加器 在多位数相加时,除考虑本位的两个加数外,还须考虑低位向本位的进位.例:1 1 0 1 加数1 1 1 1 加数+)1 1 1 1 0 低位向高位的进位1 1 1 0 0 和实际参加一位数相加,必须有三个量,它们是:本位加数 Ai、Bi;低位向本位的进位 Ci-1 一位全加器的输出结果为:本位和 Si;本位向高位的进位 Ci 第68页/共102页全加器电路设
33、计:Ai Bi Ci-1 Ci Si 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1=AiBi Ci-1Si=(AiBi+AiBi)Ci-1 +(AiBi+AiBi)Ci-1=(Ai Bi)Ci-1+AiBi Ci=(AiBi+AiBi)Ci-1+AiBi由两个半加器实现一个全加器Ci-1Si(Ai Bi)Ci-1COAiBiCOAi BiAiBi1CiAiBiSiCiCO全加器逻辑符号Ci-1CI第69页/共102页(3)串行进位加法器 当有多位数相加时,可模仿笔算,用全加器构成串
34、行进位加法器.A3B3S3C3COCIA2B2S2C2COCIA1B1S1C1COCIA0B0S0C0COCI四位串行进位加法器串行进位加法器特点:结构简单;运算速度慢.第70页/共102页A1A2S1C2COC0CIB1B2S27482A1A2S1C4COC0CIA3A4S2B1B2B3B4S3S474832.高速加法器(1)全并行加法器nnnm第一级门第二级门COSAB特点:速度最快;电路复杂.(4)MSI加法器模块第71页/共102页(2)超前进位加法器设计思想:由两个加数,首先求得各位的进位,然后再经全 加器算出结果.全加器的进位表达式:Ci=(AiBi+AiBi)Ci-1+AiBi=
35、AiBi+(Ai+Bi)Ci-1令:Gi=AiBi-进位产生项Pi=(Ai+Bi)-进位传送项则:Ci=Gi+PiCi-1第72页/共102页若两个三位二进制数相加A=A2A1A0 B=B2B1B0则:C0=G0 ;C1=G1+P1C0 ;C2=G2+P2C1=G2+P2G1+P2P1G0 由Pi、Gi 并经过两级门电路就可求得进位信号C.实际实现中,是将求Gi和Pi的电路放进全加器中,而将全加器中求进位信号的电路去除.根据Gi、Pi 来求进位信号C 的电路称为超前进位电路(CLA)第73页/共102页四位超前进位加法器结构图:A3 B3A2 B2A1 B1A0 B00FAFAFAFAG3 P
36、3 S3G2 P2 S2G1 P1 S1G0 P0 S0超前进位电路(CLA)C0C1C2C3第74页/共102页3.加法器的应用举例(1)将8421BCD码转换为余3 BCD码的代码转换电路.A1A2S1C4COC0CIA3A4S2B1B2B3B4S3S47483ABCD1100Y1Y2Y3Y40(2)四位二进制加/减器两个运算数分别为:P=P4P3P2P1 Q=Q4Q3Q2Q1控制信号为:SS 功能0 (P)2+(Q)21 (P)2(Q)2问题:如何将余3BCD码转换为 8421BCD码。第75页/共102页1111A4 A3 A2A1B4 B3 B2 B1S4 S3 S2 S14A 3A
37、 2A 1A 4B 3B 2B 1B4Y 3Y 2Y 1YP4 P3 P2 P1Q4Q3 Q2Q1ENSC0C4SMUX(74157)ADDER(7483)S4 S3 S2 S1S 功能0 (P)2+(Q)21 (P)2(Q)2注:求二进制补码为对原码取反加1。第76页/共102页关于减法电路探讨1.二进制减法运算 N补=2n N原 (N原为n位)N原=2n N补 N补=N反+1AB=AB原 A(2n B补)=A+B反+1 2n (1)(1)式的实现方法:(以4位数相减为例)A1A2S1COCIA3A4S2B1B2B3B4S3S47483D1D2D3D41V(借位 信号)1第77页/共102页
38、 借位信号实现减2n 的功能:当A+B反+1 的高位有进位时,该进位信号和2n 相减使最高位为0,反之为1。第78页/共102页2.分两种情况讨论:(1)AB1 设 A=0101,B=0001 求补码相加演算过程如下:0101 (A)1110 (B反)1 (加1)01000100 (进位反相)+1 0借位运算结果为4和实际相同。(2)AB B)Y(AB)=AB Y(AB)Y(AB,如A3B3=01,则AB,如 A2B2=01,则AB,如 A1B1=01,则AB,如 A0B0=01,则AB)=A3B3+(A3B3)A2B2+(A3B3)(A2B2)A1B1 +(A3B3)(A2B2)(A1B1)
39、A0B0 +(A3B3)(A2B2)(A1B1)(A0B0)I(AB)Y(AB)=A3B3+(A3B3)A2B2+(A3B3)(A2B2)A1B1 +(A3B3)(A2B2)(A1B1)A0B0 +(A3B3)(A2B2)(A1B1)(A0B0)I(AB)I(A=B)I(AB)Y(A=B)Y(AB)I(A=B)I(AB)Y(A=B)Y(AB)I(A=B)I(AB)Y(A=B)Y(AB)Y(A=B)Y(AB)Y(AB)I(A=B)I(AB)Y(A=B)Y(AB)Y(AB)Y(AB)Y(AB)Y(A=B)Y(AB)A15B15A0B0十六位数值比较器(并行接法)第88页/共102页串行接法和并行接
40、法性能比较:串行接法电路简单,但速度慢;并行接法电路复杂,速度快.第89页/共102页3.3 组合电路设计举例:算术逻辑单元(ALU)算术逻辑单元(ALU)是计算机等数字系统的主要运算部件.ALU的逻辑符号:nnnkALUF(fn-1f0)A(an-1a0)B(bn-1b0)S(sn-1s0)被运算数选择码结果运算数A、B均为n 位结果F为n 位选择码S为k 位,可能实现的运算为2k 种.第90页/共102页设计具有八种功能的ALU.S有3 位,假设功能表如下 选 择 码 ALU S2 S1 S0 功 能 说 明 0 0 0 F=A+B 加 0 0 1 F=AB 减 0 1 0 F=A+1 加
41、 1 0 1 1 F=A1 减 1 1 0 0 F=A B 与 1 0 1 F=A+B 或 1 1 0 F=A 非 1 1 1 F=AB 异或 S2=0:算术运算S2=1:逻辑运算 设计思想:设计采用自顶向下的方法,将能进行n 位运算的ALU分解为n 个能进行一位运算的ALU,最后将n 个一位ALU连接成n 位ALU.第91页/共102页Ci-1S2S1S0aibiCifiALU一位ALUa0b0C0f0ALUa1b1C1f1ALUAn-1Bn-1Cn-1fn-1ALUC-GENS2S1S0n位ALUC-1第92页/共102页一位ALU电路设计:S2S0S1Ci-1aibixyffcoutci
42、nyxLUAUfLUifAUix1x0yMUXCisfi一位ALU分解图:AU:算术单元;LU:逻辑单元;MUX:数据选择器,根据S2的值,对AU和LU的运算结果进行选择.(1)MUX电路设计:这里的MUX为二选一数据选择器,设计方法前面已介绍;(2)LU电路设计:第93页/共102页计算机中的逻辑运算是位操作(即对应位之间进行运算).LU单元功能表S1 S0 功 能(fLUi)0 0 aibi 0 1 ai+bi 1 0 ai 1 1 aibi逻辑方程:f=S1xy+S0 xy+S0 xy+S1S0 x逻辑方程化简为:根据化简的逻辑方程,可用逻辑门实现LU功能.另外,也可直接根据功能表,用数
43、据选择器实现。&11=1S0S1S0S1x0 x1x2x3yfx yMUXf=S1S0(xy)+S1S0(x+y)+S1S0(x)+S1S0(xy)第94页/共102页(3)算术单元算术单元要进行加、减、加1、减1等四种运算,当采用补码运算时,可利用全加器实现。xiyiCiSiCi-1CifAUiY-GENS1S0Ci-1aibi根据ALU功能表,可利用下表求得yi和C-1的表达式。功能 S1 S0 yi C-1 加 0 0 bi 0 减 0 1 bi 1 加1 1 0 0 1 减1 1 1 1 0yi和C-1取值表第95页/共102页对Y-GEN,可写出yi的表达式:yi=S0(S1bi)对
44、C-GEN可写出C-1的表达式 :C-1=S1S0 将上述运算求得的MUX、LU、AU电路连接,可得到一位ALU;将多位ALU和CGEN连接,可完成多位ALU电路设计。第96页/共102页3.4 组合逻辑电路中的冒险 前面分析组合逻辑电路时,没有考虑门电路的延迟时间对电路的影响。实际上,由于门电路延迟时间的关系,可能会使逻辑电路产生错误输出。通常把这种现象称为竞争冒险。第97页/共102页3.4.1 产生冒险的原因以例说明11AF=A+A=1 理想情况AAF实际情况造成冒险的原因是由于A和A到达或门的时间不同。第98页/共102页再举一例ACB1&1ACBCF=AC+BCABCCACBCF毛刺
45、产生冒险的原因之一:电路存在由非门产生的互补信号,且互补信号的状态发生变化时有可能出现冒险现象。(分析中略去与门和或门的延时)第99页/共102页3.4.2 消去冒险的方法1.发现并消去互补变量例如:F=(A+B)(A+C)在B=C=0时,F=AA.若直接根据这个逻辑表达式组成电路,就可能出现冒险。2.增加乘积项例如:F=AC+BC,当A=B=1时,F=C+C.若直接根据这个逻辑表达式组成电路,就可能出现冒险。将上式写成:F=AC+AB+BC,已将AA去掉,则不会出现冒险。第100页/共102页3.输出端并联电容器 如果逻辑电路在较慢速度下工作,为了消去冒险,可以在输出端并联一电容,其容量在420pF之间,该电容和门的输出电阻构成RC低通网络,对窄脉冲起平滑作用。将上式写成:F=AC+BC+AB,这样,当A=B=1时,不会出现F=C+C,所以C状态的变化,不会影响输出。第101页/共102页谢谢您的观看!第102页/共102页