You are on page 1of 2

Full adder

Step 1. Analyzation

# inputs - 3 inputs (addend(x), augend(y),cin(z))

# outputs - 2 outputs (sum(s), cout(c))

Step 2. Truth table

inputs outputs
x y Z(lsb) s c
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

Step 3. Characteristics / Boolean function

S (x,y,z) = ∑ (1,2,4,7)

C(x,y,z) = ∑ (3,5,6,7)

Step 4. Simplification

For s

xy 00 01 11 10
Z 1 1
0 0 2 6 4
1 1
1 1 3 7 5

S = x’y’z + x’yz’ + xy’z’ + xyz

= x’ (y’z + yz’) + x (y’z’ + yz) but y’z + yz’ = y xor z and y’z’ + yz = y xnor z

= x’ ( y xor z ) + x (y xnor z) but y xnor z = ( y xor z )’ and let A = y xor z

= x’ A + x A’

= x xor A , substituting value of A

S= x xor (y xor z)
For c

xy 00 01 11 10
Z 1
0 0 2 6 4
1 1 1
1 1 3 7 5

C = yz + xz + xy

Step 5. Diagram

S= x xor (y xor z)

C = yz + xz + xy

Step 6. Test

Output of the constructed diagram is the same with the outputs of the truth table formed in
step 2.

You might also like