DigitalLogicCircuit第11讲算术运算电路和竞争冒险第11讲课时授课计划DigitalLogicCircuit第11讲算术运算电路和竞争冒险内容:加法器和数值比较器组合逻辑电路中的竞争冒险目的与要求:1.掌握半加器,全加器的逻辑功能、逻辑符号。2.了解多位加法器实现进位的方法。3.掌握数值比较器的逻辑功能。4.了解MSI加法器74LS283。5.竞争冒险的概念、产生的原因。6.竞争冒险的判断。7.竞争冒险现象的消除方法。重点与难点:半加器、全加器、数值比较器的基本概念。竞争冒险现象的消除方法。竞争冒险的判断。课堂讨论:多位二进制数如何比较大小?1.什么情况时要考虑竞争冒险问题?2.译码显示时是否要考虑竞争冒险问题?现代教学方法与手段:大屏幕投影复习(提问):常用MSI组合逻辑电路及其实现组合逻辑函数的方法?DigitalLogicCircuit第11讲算术运算电路和竞争冒险半加器真值表ABS000110110110BABABAS加数和加法器1.半加器:不考虑进位将两个一位二进制数相加的运算电路。输入输出信号为:输入信号:加数A,被加数B;输出信号:和S异或门也就是半加器DigitalLogicCircuit第11讲算术运算电路和竞争冒险2.全加器:实现两个一位二进制数相加,并且考虑来自低位的进位以及向高位的进位的运算电路。输入信号:加数Ai,被加数Bi,来自低位的进位Ci-1。输出信号:本位和Si,向高位的进位Ci。真值表如下:AiBiCi-1SiCi00000001100101001101100101010111001111111-iiiii1iiiiii1iiiiCBABACBABACCBAS)()(DigitalLogicCircuit第11讲算术运算电路和竞争冒险多位加法器(二进制并行加法器)串行进位:低位全加器的进位输出依次加到相邻高位全加器的进位输入端。最低位的进位输入端接地。4位串行加法器如下图:优点:电路简单。缺点:运算速度慢。在最不利的情况下,做一次加法运算需要经过4个全加器的传输时间(从输入加数到输出建立稳定的状态所需时间)才能得到稳定可靠的运算结果。(速度慢的根源在于逐位进位)DigitalLogicCircuit第11讲算术运算电路和竞争冒险超前进位加法器并行进位(超前进位)的思想:高位用的进位信号不取自低位的进位信号而直接取自低位的数据。即由逻辑电路根据输入信号同时形成各位向高位的进位。什么情况下产生进位(Ci=1)?观察Ci=AiBi+(Ai+Bi)Ci-1当Ai=1,Bi=1,即AiBi=1时,有Ci=1定义Gi=AiBi为进位产生(Generation)函数当Ai和Bi中只有一个为1,即AiBi=0,Ai+Bi=1时,有Ci=Ci-1若Ci-1=1,则Ci=1定义Pi=Ai+Bi为进位传递(Propagation)函数则由Ci=Gi+PiCi-1可以得到如下递推式:DigitalLogicCircuit第11讲算术运算电路和竞争冒险Ci的递推式C1=P1C0+G1C2=P2C1+G2=P2P1C0+P2G1+G2C3=P3C2+G3=P3P2P1C0+P3P2G1+P3G2+G3C4=P4C3+G4=P4P3P2P1C0+P4P3P2G1+P4P3G2+P4G3+G4……各进位输出仅取决于Pi,Gi,C0,而Pi,Gi取决于Ai,Bi,已知Ai,Bi,C0能并行提供(二进制并行加法器),所以各位的进位能同时产生,运算速度得以提高。DigitalLogicCircuit第11讲算术运算电路和竞争冒险并行进位加法器(超前进位加法器)iiiBAGiiiBAP进位生成项进位传递条件11)(iiiiiiiiiCPGCBABAC进位表达式1001230123123233233323310012012122122212210010110111011100001000CPPPPGPPPGPPGPGCPGCCPSCPPPGPPGPGCPGCCPSCPPGPGCPGCCPSCPGCCPS11iiiiiiCPCBAS和表达式4位超前进位加法器递推公式DigitalLogicCircuit第11讲算术运算电路和竞争冒险S0S1S2S3C3C0-1A0B0A1B1A2B2A3B3=1&&≥1P0G0P1G1P2G2P3G3≥1≥1=1&&&&=1&&&C0C1C2≥1&&=1=1=1=1&=1&&超前进位发生器演示评价:运算速度快;但电路较复杂。DigitalLogicCircuit第11讲算术运算电路和竞争冒险16151413121110974LS28312345678VCCB2A2S2B3A3S3C3TTL加法器74LS283引脚图161514131211109400812345678VDDB3C3S3S2S1S0C0-1CMOS加法器4008引脚图A3B2A2B1A1B0A0VSSS1B1A1S0B0A0C0-1GNDA15~A12B15~B12A11~A8B11~B8A7~A4B7~B4A3~A0B3~B0S15S14S13S12S11S10S9S8S7S6S5S4S3S2S1S04位加法器4位加法器4位加法器4位加法器C15C11C7C3C0-1加法器的级连(注意存在串行进位)集成二进制4位超前进位加法器DigitalLogicCircuit第11讲算术运算电路和竞争冒险加法器的应用1、8421BCD码转换为余3码BCD码0011余3码S3S2S1S0C3C0A3A2A1A0B3B2B1B0S3S2S1S0C3C0A3A2A1A0B3B2B1B0=1=1=1=1被加数/被减数加数/减数加减控制MBCD码+0011=余3码2、二进制并行加法/减法器M=0时,B0=B,电路执行A+B运算;当M=1时,B1=B,电路执行A-B=A+B运算。DigitalLogicCircuit第11讲算术运算电路和竞争冒险例3用加法器实现余三码转换成8421BCD码的数码转换电路。解:余三码与8421BCD码相差3,只要将余三码减去3即可得到8421BCD码。因此可以采用四位加法器来完成这一转换功能。因全加器是加法运算器,本题要完成的功能是减法,首先对-3(-0011)取补,变成补码(1101),再与余三码相加。根据该原理直接画出用全加器实现余三码转换8421BCD码电路如右图所示。图中Bi为余三码,Fi为8421BCD码,Ai为1101(0011的补码),CI不用,接地。DigitalLogicCircuit第11讲算术运算电路和竞争冒险例4用4位二进制并行加法器设计一个用余3码表示的1位十进制数加法器。解根据余3码的特点,两个余3码表示的十进制数相加时,需要对相加结果进行修正。修正法则是:若相加结果无进位产生,则和需要减3;若相加结果有进位产生,则和需要加3。据此,可用两片4位二进制并行加法器和一个反相器实现给定功能,逻辑电路图如图所示。其中,片Ⅰ用来对两个1位十进制数的余3码进行相加,片Ⅱ用来对相加结果进行修正。修正控制函数为片Ⅰ的进位输出FC4,当FC4=0时,将片Ⅰ的和输出送至片Ⅱ,并将其加上二进制数1101(即采用补码实现运算结果减二进制数0011);当FC4=1时,将片Ⅰ的和输出送至片Ⅱ,并将其加上二进制数0011,片Ⅱ的和输出即为两余3码相加的和数。DigitalLogicCircuit第11讲算术运算电路和竞争冒险例5用4位二进制并行加法器实现X*Y,其中X=x3x2x1x0,Y=y3y2y1y0。解根据乘数和被乘数的取值范围,可知乘积范围处在0~255之间。故该电路应有8个输出,设输出用z7z6z5z4z3z2z1z0表示,两数相乘求积的过程如下:被乘数x3x2x1x0X)乘数y3y2y1y0y0x3y0x2y0x1y0x0y1x3y1x2y1x1y1x0y2x3y2x2y2x1y2x0+)y3x3y3x2y3x1y3x0乘积z7z6z5z4z3z2z1z0DigitalLogicCircuit第11讲算术运算电路和竞争冒险因为两个1位二进制数相乘的法则和逻辑“与”运算法则相同,所以“积”项xiyj(i,j=0,1,2,3)可用两输入与门实现。而对部分积求和则可用并行加法器实现。由此可知,实现上述二进制数乘法运算的逻辑电路可由16个两输入与门和3个4位二进制并行加法器构成。逻辑电路图如图所示。DigitalLogicCircuit第11讲算术运算电路和竞争冒险数值比较器用于比较两个数大小关系的电路。一、1位数值比较器一位数码比较的结果有相等、大于和小于三种情况,因而假定要比较的两个数字为A、B,输出比较结果为L1、L2、L3。其中L1代表“AB”,L2代表“AB”,L3代表“A=B”,则真值表和逻辑电路图为DigitalLogicCircuit第11讲算术运算电路和竞争冒险二.两位数值比较器两个多位数值进行比较,若高位数字大,则这个数大。高位数字小,则这个数小。高位数字相等,才需比较低位数字。所有位数字全部相等,则这两个数才相等。根据这一原理,可以用两个一位比较器和部分门电路,构成一个两位比较器如下图所示。DigitalLogicCircuit第11讲算术运算电路和竞争冒险三、4位数值比较器比较输入级联输入输出A3B3A2B2A1B1A0B0A'B'A'B'A'=B'ABABA=BA3B3A3B3A3=B3A3=B3A3=B3A3=B3A3=B3A3=B3A3=B3A3=B3A3=B3××A2B2A2B2A2=B2A2=B2A2=B2A2=B2A2=B2A2=B2A2=B2××××A1B1A1B1A1=B1A1=B1A1=B1A1=B1A1=B1××××××A0B0A0B0A0=B0A0=B0A0=B0× × ×× × ×× × ×× × ×× × ×× × ×× × ×× × ×100010001100010100010100010100010100010001DigitalLogicCircuit第11讲算术运算电路和竞争冒险A3B3A2B2A1B1A0B0A'B'A'B'A'=B'L1(AB)L2(AB)L3(A=B)≥111&≥111≥111≥11≥1≥1&&&&&&&&&&1&&&&&&&&逻辑图演示DigitalLogicCircuit第11讲算术运算电路和竞争冒险16151413121110974LS8512345678VCCA3B2A2A1B1A0B0B3A'B'A'=B'A'B'ABA=BABGND(a)TTL数值比较器引脚图161514131211109458512345678VDDA3B3ABABB0A0B1B2A2A=BA'B'A'B'A'=B'A1VSS(b)CMOS数值比较器引脚图集成数值比较器DigitalLogicCircuit第11讲算术运算电路和竞争冒险ABA'B'ABA'B'A=BA'=B'A11B11…A8B8A7B7…A4B4A3B3…A0B0ABA'B'ABA'B'A=BA'=B'ABA'B'ABA'B'A=BA'=B'001比较输出串联扩展多片数值比较器串联使用时,最低位片的级联输入端A'B'、A'B'和A'=B'必须预先分别预置为0、0、1。比较器的级联DigitalLogicCircuit第11讲算术运算电路和竞争冒险并联扩展B3A2B2A1B1A0B0ABABA=B001A3A'B'A'B'A'=B'A'B'A'B'A'=B'A'B'A'B'A'=B'A'B'A'B'A'=B'A15B15A12B12A11B11A8B8A7B7A4B4A3B3A0B0001ABAB001001001ABABABABABA