Professional Documents
Culture Documents
Full Adder: X Y Carry IN C Carry OUT C SUM S
Full Adder: X Y Carry IN C Carry OUT C SUM S
In a previous lesson, we saw how a half adder can be used to determine the sum and
carry of two input bits. What if we have three input bitsX, Y, and CI, where CI is a carry-
in that represents the carry-out from the previous less significant bit addition? In this
situation, we have what is known as a FULL ADDERa circuit that adds three one-bit
values. These values are the addends X an Y, and carry-in CI.
When three single-bit values are added, the two carry bits are ONexplaining the use of the
highest possible result would be 1 + 1 + 1 = 11, OR gate on the far upper right of the circuit
which is the binary representation of the diagram.
decimal number 3. The entire truth table for
the FULL ADDER would look like this: The FULL ADDER (FA for short) circuit can be
represented in a way that hides its inner-
CARRY CARRY workings:
SUM
X Y IN OUT
S
CI Co
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 The FULL ADDER can then be assembled into a
1 0 1 1 0 cascade of full adders to add two binary
1 1 0 1 0 numbers. For example the diagram below
1 1 1 1 1 shows how one could add two 4-bit binary
numbers X3X2X1X0 and Y3Y2Y1Y0 to obtain the
sum S3S2S1S0 with a final carry-out C4.
CoS taken together, represents the binary sum
X+Y+CI. For example, when CoS is 11
(corresponding to decimal 3), then X+Y+CI =
1+1+1.
The above picture shows one way to construct a If you are in a classroom setting, and each lab
FULL ADDER from two half adders. The half group of students has constructed a FULL
adder on the left is essentially the half adder ADDER, you might find it interesting and fun to
from the lesson on half adders. So if you still connect your FULL ADDER creations into a single
have that constructed, you can begin from that n-bit ripple-carry adder and then test it out by
point. Inputs and outputs have been labeled in adding two n-bit binary numbers. (n is the
the picture to correspond to the FULL ADDER as number of FULL ADDERS that your class has
discussed on the previous page. connected together.)