半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路。 是实现两个一位二进制数的加法运算电路。数据输入A被加数、B加数,数据输出S和数(半加和)、进位C0。
A和B是相加的两个数,S是半加和数,C是进位数。
现在我们按上一节组合逻辑电路的设计方法来实现半加器。
由逻辑状态表可写出逻辑式
按组合数字电路的分析方法和步骤进行。
1.写出输出逻辑表达式
该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下
2.列出真值表
半加器的真值表见下表。表中两个输入是加数A0和B0,输出有一个是和S0,另一个是进位C0。
3.给出逻辑说明
半加器是实现两个一位二进制码相加的电路,因此只能用于两个二进制码最低位的相加。因为高位二进制码相加时,有可能出现低位的进位,因此两个加数相加时还要计算低位的进位,需要比半加器多进行一次相加运算。能计算低位进位的两个一位二进制码的相加电路,即为全加器。
半加的运算规则
有两个输入端的是半加器,有三个输入端的是全加器,Σ代表相加。
异或门
异或门是一种十分有用的逻辑门,它实际上就是半加器的求和电路。前面已经提到异或逻辑关系式为输出逻辑表达:异或门逻辑图、异或门符号。
异或门逻辑图及符号
异或门的逻辑符号见图19-1-5(b),异或门的真值表十分简单,当A=B时,即A=B=0时,或A=B=1时,Y=0;当A≠B时,即A=0、B=1时,或A=1、B=0时,Y=1。异或门逻辑符号中的=1,表明输入变量中有一个“1”时,输出为“1”。而或门中的特征符号是≥1,表示输入变量中有一个“1”或一个以上“1”时,输出即为“1”。
全加器
全加器的表达式
一位全加器(FA)的逻辑表达式为:
S=A⊕B⊕Cin
Co=AB+BCin+ACin
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出。
如果要实现多位加法可以进行级联,就是串起来使用;比如32位+32位,就需要32个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,超前进位加法前查阅相关资料。
如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y和进位数通过全加器进行全加,就是ALU的逻辑结构结构。
即 X=f(A,B)
Y=f(A,B)
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。
半加器与全加器的区别
半加器:HA 有两个代表数字(A0,B0)有两个输出端,用于输出和S0及进位C1(只考虑两个1位二进制数A和B相加,不考虑低进位来的进位数相加称为半加。)
全加器:FA,有三个输入端,以输入Ai、Bi、Ci,有两个输出端Si,Ci+1(除了两个1位二进制数,还与低位向本位的进数相加称为全加器。)
半加器没有接收进位的输入端,全加器有进位输入端,在将两个多位二进制数相加时,除了最低位外,每一位都要考虑来自低位的进位,半加器则不用考虑,只需要考虑两个输入端相加即可。