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"?