The Full Adder

Complete single-bit addition with carry-in - the building block of all multi-bit arithmetic.

The full adder extends the half adder by adding a carry input (Cin), enabling cascaded multi-bit addition. It adds three single-bit values (A, B, Cin) and produces a sum and carry output. By chaining full adders, you can build adders of any width - the foundation of all computer arithmetic.

Objectives

  • Write the complete truth table for a full adder (3 inputs, 2 outputs)
  • Derive Sum and Cout expressions using K-maps
  • Build a full adder from two half adders and an OR gate
  • Cascade full adders for multi-bit addition (ripple carry)
  • Understand the critical path and carry propagation delay

Key Takeaways

  • Full adder: Sum = A⊕B⊕Cin, Cout = A·B + Cin·(A⊕B)
  • Built from two half adders + one OR gate (5 gates total)
  • Cascade N full adders for N-bit addition (ripple carry adder)
  • Carry propagation delay is the bottleneck in ripple carry adders
  • The full adder is the fundamental building block of all computer arithmetic
  • Cout is the majority function: outputs 1 when 2+ of 3 inputs are 1

Applications

  • ALU Design: Core of every arithmetic logic unit in every processor.
  • Address Calculation: Computing memory addresses from base + offset.
  • Digital Signal Processing: Filter and transform computations.
  • Counters: Incrementing counter values by adding 1.

Practice Problems

Problem 1: Calculate Sum and Cout for A=1, B=1, Cin=1.

Problem 2: How many full adders are needed to add two 8-bit numbers?

Problem 3: If each full adder has a carry propagation delay of 10 ns, what is the worst-case delay for a 16-bit ripple carry adder?

Problem 4: Using full adders, add 0101 + 0011 (5 + 3). Show the carry at each stage.

Problem 5: Why is the full adder's carry expression called the "majority function"?