21 May 2013

WHAT IS FULL ADDER

FULL-ADDER:

A full-adder is a combinational circuit that forms the arithmetic sum of three input bits. A full-adder consists of three inputs and two outputs. Two of the input variables full-adder, denoted by x and y, represent the two significant bits to be added. The third
input, z, represents the carry from the previous lower significant position. Two outputs of full-adder are necessary because the arithmetic sum of three binary digits ranges in value from 0 to 3, and binary 2 or 3 needs two digits. The two output of full-adder are designated by the symbols S (for sum) and C (for carry). The binary variable S gives the value of the least significant bits of the sum. The binary variable C gives the output carry. The truth table of the full-adder is shown below. The eight rows under the input variables designate all possible combinations that the binary variables may have. The values of the output variables are determined from the arithmetic sum of the input bits. When all input bits of full-adder are 0, the output is 0. The S output is equal to 1 when only one input is equal to 1 or when all three inputs are equal to 1. The C output of the full-adder has a carry of 1 if two or three inputs are equal to 1. The K maps for full-adder are used to find algebraic expressions for the two output variables. The 1's in the squares for the maps of S and C are determined directly from the minterms in the truth table. The squares with 1's for the S output do not combine in groups of adjacent squares. But since the output is 1 when an odd number of inputs are 1, S is an odd function and represents the exclusive-OR relation of the variables. The squares with 1's for the C output may be combined in a variety of ways. One possible expression for C is xy + (x'y +xy')z. And including the expression for output S, we obtain the two Boolean expressions for the full-adder:S = x'y'z +x'yz' +xy'z' +xyz
the logic diagram of the full-adder is given below. Note that the full adder circuit consists of two half-adders and an OR gate.

LOGIC DIAGRAM AND TRUTH TABLE OF FULL ADDER 

The logic diagram, block diagram and truth table is shown below. The logic diagram is implemented by two XOR gates, two AND gates and OR gate. The given XOR gates are used to obtain the sum output of the full-adder and other logic gates are used to get the carry output of the full-adder. The K-map for obtaining sum output and carry output is also given below.


INPUT
OUTPUT
X
Y
Z
C
S
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
LOGIC DIAGRAM AND BLOCK DIAGRAM OF FULL-ADDER

IMPLEMENTATION OF FULL-ADDER USING 3-TO-8 LINE DECODER:

Here, It is a truth table for a full-adder which add 3 bit A, B, and Cin simultaneously , where A and B are addend and augend bits respectively, Cin is carry in from the previous bits (if any). Here, S, Cout are the outputs where S is the sum of the full-adder and cout is the carry out of the full-adder. Now we can write,
S = F (A, B, Cin) = ∑m (1, 2, 4, 7) and Cout = F (A, B, Cin) = ∑m (3, 5, 6, 7)
Now, the given requirement of designing a full-adder using decoder can be implemented by a 3-to-8 line decoder. Since, a decoder is a minterm generator, we can use those minterms of decoder which present the Boolean function of sum (S) and carry (Cout).
FULL-ADDER USING DECODER AND LOGIC GATES
The figure shows the logic circuit diagram of full-adder using decoder and two OR gates. Here A, B, and Cin are inputs to decoder. EN is enable input which follows active high logic. Y0 to Y7 are the eight minterms which are from m0 to m8. No, full-adder gives the sum output 1 only when m1 or m2 or m4 or m7  is 1. So, we can write S = m1+m2+m4+m7. Similarly full-adder gives the Cout output 1 only when m3 or m5 or m6 or m7 is 1. So, we can write Cout = m3+m5+m6+m7     


IMPLEMENTATION OF FULL ADDER USING HALF ADDERS AND LOGIC GATES

A Full Adder can be made using Half Adders and logic gates like ANDgates, OR gate. To implement this circuit two Half Adders, one OR gate, and two AND gates are used. These two Half Adders are named by HA1 and HA2. First Half Adder HA1 has two inputs X and Y respectively, S (for sum) and C (for carry) are the two outputs of the HA1, where S = X'Y+XY' and C = XY, where S and C are the sum output and carry output of HA1. The output S of first HA1 is the first input of HA2, Z is the second input to the HA2, S’ is the sum output of the second HA2 that is equal to XY'Z'+X'YZ'+X'Y'Z+XYZ   and it is the sum output of a Full Adder. To get carry output of the Full Adder logic gates are used. The carry output of a Full Adder is XY + XZ + YZ, where X, Y, and Z are the inputs. To get this output two AND gates and one OR gate is used, the first AND gate has the inputs X and Z and generates the output XZ, similarly the second AND gate has two inputs Y and Z and produces the output YZ. These two outputs XZ and YZ as well as the output XY of the HA1 is used as three inputs for the OR gate. This OR gate generates the output XY+YZ+XZ that is equivalent to the carry output of a Full Adder. The logic diagram of the Full Adder using Half Adder and logic gates is given below.  
LOGIC DIAGRAM OF FULL ADDER USING HALF ADDERS AND LOGIC GATES


IMPLEMENTATION OF FULL-ADDER USING MUX OR MULTIPLEXER

From the above truth table of Full-Adder and information supplied we know that the sum output and carry output of a Full-Adder is as written:                                                                                          
S = F (A, B, Cin) = ∑(1, 2, 4, 7) and Cout = F (A, B, Cin) = ∑(3, 5, 6, 7).
Where A, B, Cin are the inputs to the Full-Adder. S and Cout are the sum output and carry output respectively. Now, the given requirement of designing a Full-Adder using MUX (Multiplexer) can be implemented by 2X1 MUX or 4X1 MUX or 8X1 MUX.

IMPLEMENT OF FULL-ADDER USING 8X1 MUX OR MULTIPLEXER

At first we are going to implement this Full-Adder by 8X1 Multiplexer. To implement this circuit we need two 8X1 Multiplexers the first one gives the output for sum output of Full-Adder and second gives output for carry output of Full-Adder. The general output equation of a 8X1 MUX or Multiplexer is as follows:
LOGIC DIAGRAM OF FULL ADDER USING 8X1 MUX OR MULTIPLEXERY = I0S’2S’1S’0 + I1S’2S’1S0 + I2S’2S1S’0 + I3S’2S1S0 + I4S2S’1S’0 + I5S2S’1S0 + I6S2S1S’0 + I7S2S1S0 …..(1)
Where Y is the output of 8X1 MUX or Multiplexer S2, S1 and S0 are the selection inputs to the MUX and I0, I1, I2, I3, I4, I5, I6 and I7 are the inputs to the multiplexer.
Now, the output equation of the sum output of Full-Adder is as follows:      
S=F(A,B,Cin)=∑(1,2,4,7)                                                 = m1 + m2 + m4 +m7
   = A’B’Cin + A’BC’in + AB’C’in + ABCin       
  = 0.A’B’C’in + 1.A’B’Cin + 1.A’BC’in + 0.A’BCin + 1.AB’C’in + 0.AB’Cin 0.ABC’in + 1.ABCin       ………………………………. (2)

Now, comparing equations (1) & (2) we get
I0 = 0, I1 = 1, I2 = 1, I3 = 0, I4 = 1, I5 = 0, I6 = 0 and I7 = 1. And S2 = A, S1 = B and S0 = Cin
These values are for first multiplexer for sum output of Full-Adder. Now, we will find all values for second MUX for carry output of Full-Adder. The general output equation of carry output is as follows:
Cout = F (A, B, Cin) = ∑(3, 5, 6, 7)
                                 = m3 + m5 + m6 + m7
                                 = A’BCin + AB’Cin + ABC’in + ABCin
                          = 0.A’B’C’in + 0.A’B’Cin + 0.A’BC’in + 1.A’BCin + 0.AB’C’in + 1.AB’Cin 1.ABC’in + 1.ABCin   …………………………… (3)       
Comparing the equations (1) & (3) we have
I0 = 0, I1 = 0, I2 = 0, I3 = 1, I4 = 0, I5 = 1, I6 = 1 and I7 = 1. And S2 = A, S1 = B and S0 = Cin. These values are for second multiplexer for carry output of Full-Adder.
Now, we have all the values of the two multiplexers therefore the circuit of the Full-Adder can be implemented. The block diagram of Full-Adder is shown here.

IMPLEMENTATION OF FULL-ADDER USING 4X1 MUX OR MULTIPLEXER

LOGIC DIAGRAM OF FULL-ADDER USING 4X1 OR 4-TO-1 MULTIPLEXERWe already know the sum output and carry output of a Full-Adder. Now, we have to write the general output equation of a 4X1 MUX or Multiplexer and it is as follows:
Y = I0S’1S’0 + I1S’1S0 + I2S1S’0 + I3S1S0   …………………………………. (1)            
Where Y is the output of the MUX or Multiplexer S1 and S2 are the selection inputs. From I0 to I3 are the inputs to the MUX or Multiplexer.
Now, the output equation of the sum of Full-Adder is as follows:
S = F(A,B,Cin
= ∑(1,2,4,7)                                        
= m1 + m2 + m4 +m7
= A’B’Cin + A’BC’in + AB’C’in + ABCin
= A.(B’C’in) + A’.(B’Cin) + A’.(BC’in) + A.(B’C’in)……………………(2)
Comparing equations (1) & (2) we have 

I0 = A, I1 = A’, I2 = A’, I3 = A and S1 = B, S0 = Cin.
     Now, the output equation of carry output of Full-Adder is as follows:
      Cout = F (A, B, Cin) = ∑(3, 5, 6, 7)
              = m3 + m5 + m6 + m7
              = A’BCin + AB’Cin + ABC’in + ABCin  
              = (A’ + A) BCin + AB’Cin + ABC’in + 0.AB’C’in               [since A + A’ = 1]
              = 0.(B’C’in) + A.(B’Cin) + A.(BC’in) + 1.(BCin)    ………………………(3)
Comparing equation (1) and (2) we have
I0 = 0, I1 = A, I2 = A, I3 = 1 and S1 = B, S0 = Cin.
      The logic diagram of Full-Adder using 4X1 MUX or Multiplexer is shown here.
From the above picture, it can be shown that a Full-Adder can be implemented by two 4X1 MUX or Multiplexers. One MUX or Multiplexer is used to find the sum of the FA (Full-Adder) and other is used to get the carry output of FA. Each 4X1 MUX has two selection input lines which are used to select one of the inputs from I0 to I3. Here, two selection inputs of each 4X1 MUX or Multiplexers are replaced by the two inputs of Full-Adder B and Cin and the values of I0 to I3 of each 4X1 MUX has given.

IMPLEMENTATION OF FULL-ADDER USING 2X1 MUX OR MULTIPLEXER

Here, it is implemented by 2X1 MUX. The general output equation of 2X1 MUX is written as:
           Y = I0S’0 + I1S0    ……………………………………. (1)
Where Y is the output to MUX, S0 is the selection input to the MUX and I0 and I1 are the inputs to MUX.
Now, output equation of sum output Full-Adder is as follows:
           S = F(A,B,Cin= ∑(1,2,4,7)                                                                                                                                               = m1 + m2 + m4 +m7
                                     = A’B’Cin + A’BC’in + AB’C’in + ABCin
                                     = (A’B + AB’).C’in + (A’B’ + AB).Cin    …………………………………. (2)
Comparing equations (1) & (2) we get
I0 = A’B + AB’, I1 = A’B’ + AB and S0 = Cin.
       Now, output equation of carry out of Full-Adder is as follows:
       Cout = F (A, B, Cin) = ∑(3, 5, 6, 7)
                                        = m3 + m5 + m6 + m7
                                        = A’BCin + AB’Cin + ABC’in + ABCin
                                        = (AB)Cin + (A’B + AB’ + AB)Cin
                                        = (AB)Cin + (A + B)Cin   …………………......(3)
Comparing equation (1) & (3) we have
I0 = AB, I1 = A + B and S0 = Cin.
The logic diagram of Full-Adder using 2X1 MUX is shown below.
LOGIC DIAGRAM OF FULL-ADDER USING 2X1 MULTIPLEXER

IMPLEMENTATION OF FULL-ADDER USING NAND GATE

The circuit diagram of a Full-adder can be implemented by using only NAND gates because we know that NAND gates are called universal logic gates. A universal gates means a gate which is alone sufficient to implement any circuit. Hence, the circuit of the Full-adder using NAND gates is shown below. We know that the sum output of Full-adder and the carry output is as follows:
                                   S = F(A,B,Cin) = ∑(1,2,4,7)                                                                                                                                                = m1 + m2 + m4 +m7
                                                              = A’B’Cin + A’BC’in + AB’C’in + ABCin
                      and, Cout = F (A, B, Cin) = ∑(3, 5, 6, 7)
                                                               = m3 + m5 + m6 + m7
                                                               = A’BCin + AB’Cin + ABC’in + ABCin  
                                                               = AB + ACin + BCin    (After solving the equation)
To implement the circuit by NAND gates first we have to take the double complement of the sum output and carry output. After complementing two times the sum output and carry output, the terms of the obtained output equations are the output of each NAND gates and all these output are directed as input to a NAND gate which gives the final outputs. 
                 {(S)'}' = {( A’B’Cin + A’BC’in + AB’C’in + ABCin )'}' 
                        S = { (A’B’Cin)’. (A’BC’in)’. (AB’C’in)’. (ABCin)’}’   and,
            {(Cout)’}’= {(AB + ACin + BCin)’}’
                  Cout = {(AB)’. (ACin)’.(BCin)’}’         
The circuit diagram of the full-adder using NAND gates are shown below.
CIRCUIT DIAGRAM OF FULL-ADDER USING NAND GATES

IMPLEMENTATION OF FULL-ADDER USING NOR GATES

Designing the circuit diagram of a Full-Adder using NOR Gates can be done by as we done above with NAND Gates. There a few steps we need to take to construct the circuit and these steps are listed below.
  1. Change the sum output and Carry output equations into Canonical form.
  2. Change the sum output and carry output equations into sum of product forms.
  3. Take double complement of sum output equation and carry output equation.
Sum output of Full-Adder is X = A’B’C+A’BC’+AB’C’+ABC and carry output of Full-Adder is Y = AB+BC+AC where A, B and C are three inputs and X and Y are outputs of the Full-Adder.
Since the Sum output of the Full-Adder is in canonical form and also in product of sum form so we have to execute the second step. Here we will use K-Map to convert the output equations into SOP form.
            X(A, B, C) = A’B’C+A’BC’+AB’C’+ABC

            X(A, B, C) = ∑m (1, 2, 4, 7)
K-MAP FOR SUM AND CARRY OUTPUT OF FULL-ADDER

Here K-Map for Sum output is shown. To find the SOP form we have to cover the all zeros as the combinations of them should be minimum. One thing we need to know that the covering is done either horizontally or vertically with adjacent same value. Since in the above map there are no adjacent zeros either vertically or horizontally. By covering zeros we find the complement of the sum output. Thus we get
            X’ = A’B’C’+A’BC+AB’C+ABC’
Now take Complement of S’, we obtain the simplified function in product of sum form:
            (X’)’ = (A+B+C)(A+B’+C’)(A’+B+C’)(A’+B’+C)
            X = (A+B+C)(A+B’+C’)(A’+B+C’)(A’+B’+C)
Similarly we can change the carry output equation into product of sum form.
The carry output equation is Y = AB+BC+AC. Since the equation is not in canonical form so at first we will change it in canonical form.
            Y = AB+BC+AC
            Y = AB.1+BC.1+AC.1
            Y = AB(C+C’)+BC(A+A’)+AC(B+B’)
            Y = ABC+ABC’+ABC+A’BC+ABC+AB’C
            Y = ABC+ABC+ABC+A’BC+AB’C+ABC’
            Y = ABC+ A’BC+AB’C+ABC’
Now the carry output equation has been changed into canonical form. Thus perform the second step.
            Y(A, B, C) = ABC+ A’BC+AB’C+ABC’
            Y(A, B, C) = ∑m (3, 5, 6, 7)
K-Map for carry output is shown above. From the above K-Map we can write:
            Y’ = A’B’+B’C’+A’C’
Taking complement of X’ we obtain the product of sum form of carry output:
            (Y’)’ = (A+B)(B+C)(A+C)
            Y = (A+B)(B+C)(A+C)
Now we will take last step,
            X = (A+B+C)(A+B’+C’)(A’+B+C’)(A’+B’+C)
            (X’)’ = [{(A+B+C)(A+B’+C’)(A’+B+C’)(A’+B’+C)}’]’
            X = [(A+B+C)’+(A+B’+C’)’+(A’+B+C’)’+(A’+B’+C)’]’
Similarly
            Y = (A+B)(B+C)(A+C)
            (Y’)’ = [{(A+B)(B+C)(A+C)}’]’
            Y = [(A+B)’+(B+C)’+(A+C)’]’
Using X = [(A+B+C)’+(A+B’+C’)’+(A’+B+C’)’+(A’+B’+C)’]’ and Y = [(A+B)’+(B+C)’+(A+C)’]’ we will design the circuit. The circuit of Full-Adder using NOR Gates is shown below.
CIRCUIT DIAGRAM OF FULL-ADDER USING NOR GATES


SEE MORE
tag: what is full adder, full adder, full adder using decoder, full adder using mux, full adder using multiplexer, full adder k map, full adder half adder, full adder block diagram,full adder using 4x1 multiplexer,binary full adder,boolean expression of full adder,implement full adder using two 4x1 multiplexers,full adder expression for sum and carry,binary full adder circuit,full adder equation,full adder circuit,design full adder using 4x1 mux,full adder logic equation,full adder logic circuit,full adder implementation,full adder logic expression,full adder logic gatesfull adder nand,full adder using 8x1 mux,implement a full adder circuit with multiplexer,one bit full adder,implementation of full adder using multiplexer,describe the full adder
Post a Comment