Full Adder Operation
A Full Adder is a digital circuit that performs the addition of three binary bits: two significant bits and a carry-in bit (from a previous addition). Unlike a Half Adder, which only adds two bits, the Full Adder can handle the carry-in, making it essential for multi-bit binary addition. The Full Adder produces two outputs: the Sum (S) and the Carry-out (C_out).
Inputs and Outputs of a Full Adder
-
Inputs:
- A: The first bit to be added.
- B: The second bit to be added.
- Carry-in (C_in): The carry bit from a previous addition (if any).
-
Outputs:
- Sum (S): The sum of the three input bits.
- Carry-out (C_out): The carry-out bit, which is the overflow bit that is passed to the next addition.
Truth Table of a Full Adder
The Full Adder performs binary addition based on the following truth table:
| A |
B |
C_in |
Sum (S) |
Carry-out (C_out) |
| 0 |
0 |
0 |
0 |
0 |
| 0 |
0 |
1 |
1 |
0 |
| 0 |
1 |
0 |
1 |
0 |
| 0 |
1 |
1 |
0 |
1 |
| 1 |
0 |
0 |
1 |
0 |
| 1 |
0 |
1 |
0 |
1 |
| 1 |
1 |
0 |
0 |
1 |
| 1 |
1 |
1 |
1 |
1 |
Explanation of the Truth Table:
-
When A = 0, B = 0, and C_in = 0:
The Sum (S) is 0, and there is no carry, so the Carry-out (C_out) is 0.
-
When A = 0, B = 0, and C_in = 1:
The Sum (S) is 1, and there is no carry, so the Carry-out (C_out) is 0.
-
When A = 0, B = 1, and C_in = 1:
The Sum (S) is 0, and there is a carry-out, so Carry-out (C_out) = 1.
-
When A = 1, B = 1, and C_in = 1:
The Sum (S) is 1, and there is a carry-out, so Carry-out (C_out) = 1.
Boolean Equations for Sum and Carry-out
The outputs of the Full Adder can be expressed using Boolean algebra as follows:
-
Sum (S):
- The Sum output is the result of the XOR operation between the three inputs (A, B, and C_in).
S=A⊕B⊕Cin
This equation shows that the sum is 1 if the number of 1s in the inputs is odd.
-
Carry-out (C_out):
- The Carry-out output is 1 if at least two of the inputs are 1. This can be expressed as:
Cout=(A⋅B)+(B⋅Cin)+(A⋅Cin)
This equation shows that the carry-out is 1 if any two or more inputs are 1.
Logic Gate Implementation of a Full Adder
The Full Adder can be implemented using a combination of XOR, AND, and OR gates:
-
Sum (S):
- The Sum is produced by XORing the three inputs A, B, and C_in.
- First, XOR A and B:
Temp=A⊕B
- Then, XOR the result with C_in to get the final Sum:
S=Temp⊕Cin
-
Carry-out (C_out):
- The Carry-out is produced by ORing the results of three AND operations:
- AND A and B:
A⋅B
- AND B and C_in:
B⋅Cin
- AND A and C_in:
A⋅Cin
- Finally, OR the results of the AND gates to get C_out:
Cout=(A⋅B)+(B⋅Cin)+(A⋅Cin)
Circuit Diagram:
- XOR gates are used to compute the Sum.
- AND gates are used to compute the conditions for the carry.
- OR gate combines the carry conditions to produce the final Carry-out.
Full Adder Example
Let’s walk through an example to better understand how the Full Adder works.
Example 1:
- Inputs: A = 1, B = 0, C_in = 1
- Sum:
S=A⊕B⊕Cin=1⊕0⊕1=0
- Carry-out:
Cout=(A⋅B)+(B⋅Cin)+(A⋅Cin)=(1⋅0)+(0⋅1)+(1⋅1)=1
- Result: Sum = 0, Carry-out = 1
Example 2:
- Inputs: A = 1, B = 1, C_in = 1
- Sum:
S=A⊕B⊕Cin=1⊕1⊕1=1
- Carry-out:
Cout=(A⋅B)+(B⋅Cin)+(A⋅Cin)=(1⋅1)+(1⋅1)+(1⋅1)=1
- Result: Sum = 1, Carry-out = 1
Applications of Full Adder
-
Multi-bit Addition:
- Full Adders are used in the design of binary adders that add multi-bit numbers. Multiple Full Adders are chained together to add larger binary numbers, such as in a 4-bit or 8-bit adder.
-
Arithmetic Logic Units (ALUs):
- Full Adders are part of ALUs in processors, where they are used to perform addition, subtraction, and other arithmetic operations.
-
Counters:
- Full Adders are used in digital counters to increment values, particularly when carry propagation is involved.
-
Digital Signal Processing:
- Full Adders are used in many digital systems where binary numbers need to be added, such as in audio and video encoding or encryption.
Conclusion
The Full Adder is an essential component in digital electronics, enabling the addition of three bits: two significant bits and a carry-in. It produces two outputs: the Sum and the Carry-out. By using Full Adders in combination, more complex arithmetic operations like multi-bit addition can be performed. Full Adders are fundamental in arithmetic logic units (ALUs), binary addition circuits, and other digital systems.