Level 7: Full Adder

Open the level →Where it fits in the machine →

Task

Goal: build a Full Adder: 3 inputs, 2 outputs.

A full adder adds THREE bits: A, B, and CarryIn (carry from previous digit). Two outputs: Sum and CarryOut.

The main idea: the carry is a full participant in addition: the CarryIn input lets adders cascade, passing the carry from digit to digit. One block becomes a brick of a multi-bit adder.

Path to this level

The competencies this level develops and their formation levels.

Related Materials

Solution for self-check

Try building the circuit yourself first. The solution below is a way to check yourself if you're stuck or have already solved it.

What you should get: three bits add — A, B and CarryIn. Two results: Sum and CarryOut.

Sum is the XOR of all three inputs: two XORs in a row.

CarryOut is a "majority vote": 1 if at least two of the three inputs are 1.

  1. Place the first XOR: inputs A and B.
  2. Feed its output into a second XOR together with CarryIn. The second XOR output is Sum.
  3. Build three ANDs for the three pairs: (A,B), (A,CarryIn), (B,CarryIn).
  4. Combine their outputs via two ORs: the first OR takes AND#1 and AND#2, the second takes the first OR output and AND#3.
  5. The last OR output is CarryOut.

Why the carry is a "majority": 1+1=10, 1+0+1=10, 1+1+1=11 — a one is carried already at two ones. The three ANDs catch all three possible pairs, so no carry is ever missed.

Solution circuit for level 7 — Full Adder
The authored solution for level 7 in the simulator (dark theme)

Check yourself

Why does the adder need the third input, CarryIn?

It takes the carry from the previous digit. Thanks to it, adders chain together and add multi-bit numbers.