CS355 Sylabus

The full adder generate a sum bit and a carry out bit for the next addition stage.

• Thus, the full adder has 3 inputs:

• a, one of the bits to be added
• b, the other bit to be added
• cin, the carry in bit from the previous bit addition

and it has 2 outputs:

• s, the sum bit
• cout, the carry out bit for the next staged bit addition

Schematically:

The figure on the right shows the operation of the full adder circuit when it adds the bits 1 and 0, while the previous stage generates a carry (cin = 1).

• We can design the full adder circuit using the technique learn a couple of weeks ago (if you have forgotten it, then: click here)

Here is the boolean function in table form for the adder circuit:

cin a b   cout 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

You can see that:

• cout = majority(a, b, cin)
• s = a XOR b XOR c

• The adder circuit is a very common and important circuit and electrical engineers have determine the optimal digital circuit that implements the full adder.

The optimal full adder circuit is as follows: