Digital Electronics

FULL ADDER

Full Adder - Definition:

Full adder,

  • is an one-bit adder.
  • is a digital circuit that adds three $1$-bit binary numbers (A, B and $C_{in}$) and gives sum and $C_{out}$ as output.
  • $C_{in}$ is input carry and $C_{out}$ is output carry.

$$\{ C_{out}, Sum\} =(A+B)+C{in}$$

Adding three $1$ bit numbers:

$$\{ C_{out}, Sum\} =(A+B)+C{in}$$$$\{ 0, 0\} =(0+0)+0$$$$\{ 0, 1\} =(0+0)+1$$$$\{ 0, 1\} =(0+1)+0$$$$\{ 1, 0\} =(0+1)+1$$$$\{ 0, 1\} =(1+0)+0$$$$\{ 1, 0\} =(1+0)+1$$$$\{ 1, 0\} =(1+1)+0$$$$\{ 1, 1\} =(1+1)+1$$

Truth table:

A
A
B
B
Cin
Cin
Cout
Cout
Sum
Sum
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
Input
Input
Output
Output
Text is not SVG - cannot display

Logical Expression:

Logical expression for the outputs (sum and carry) can be found using K-map,

Sum:

$$=AB’C_{in}’+A’B’C_{in}+ABC_{in}+A’BC_{in}’$$Grouping $1^{st}\;\&\;4^{th}$ terms and $2^{nd}\;\&\;3^{rd}$ terms$$=C_{in}'(AB’+A’B)+C_{in}(AB+A’B’)$$$$=C_{in}'(A\oplus B)+C_{in}((A\oplus B)’)$$$$Sum=A\oplus B\oplus C_{in}$$

Carry $(C_{out})$:

$$C_{out}=AB+BC_{in}+AC_{in}$$

Circuit Diagram:

Using the logical expression for sum and carry, we can implement full adder using logic gates,$$Sum=A\oplus B\oplus C_{in}$$$$C_{out}=AB+BC_{in}+AC_{in}$$

Circuit Diagram $2$: (Full Adder using two Half Adders)

Using the logical expression for sum and carry, $$Sum=A\oplus B\oplus C_{in}$$$$C_{out}=AB+BC_{in}+AC_{in}$$The canonical form of $C_{out}$ will be, $$=ABC_{in}+ABC_{in}’+ABC_{in}+AB’C_{in}+ABC_{in}+AB’C_{in}$$Rearranging and grouping the above canonical form, we get$$=ABC_{in}+ABC_{in}’+AB’C_{in}+AB’C_{in}$$$$=AB(C_{in}+C_{in}’)+(AB’+AB’)C_{in}$$$$C_{out}=AB+(A\oplus B)C_{in}$$

Redrawing the above figure, we get