Ripple-Carry vs Carry-Lookahead vs Carry-Save Adder: Delay, Area
All three are adders built from full adders, but they handle carries differently. A ripple-carry adder chains full adders so the carry passes from the lowest bit to the highest in turn, and the delay grows in proportion to the bit width n (O(n)). A carry-lookahead adder computes all carries in parallel from per-bit generate and propagate signals, and with a hierarchical lookahead the delay grows only as O(log n). A carry-save adder reduces three numbers to two, a sum word and a carry word, without propagating carries, so its delay is one full-adder delay regardless of width. Multipliers reduce partial products with trees of carry-save adders (such as Wallace trees) and add the final two numbers with a fast adder.
| Aspect | Ripple-carry adder | Carry-lookahead adder | Carry-save adder |
|---|---|---|---|
| Inputs and outputs | Adds two numbers (and a carry-in) into one sum and a carry-out | Adds two numbers (and a carry-in) into one sum and a carry-out | Reduces three numbers to two, a sum word S and a carry word Cy (A + B + C = S + Cy) |
| How the carry is handled | Each full adder waits for the carry from below and passes it upward in turn | Uses generate g = a·b and propagate p = a ⊕ b and expands c(i+1) = g(i) + p(i)·c(i) to compute carries in parallel | Carries are not passed to the neighboring bit; they go to the next stage as a word shifted one bit left |
| How delay grows | O(n); in the worst case the carry travels from the lowest bit to the highest | O(log n) (with a hierarchical lookahead) | O(1); one full-adder delay regardless of width |
| 64-bit figures | The carry passes through 64 full adders | Three levels of 4-bit blocks; in a Kogge-Stone parallel-prefix adder, the carry computation takes log₂64 = 6 stages | One stage is one full-adder delay; a Wallace tree that reduces 64 partial products to two takes 10 stages |
| Area | Smallest: n full adders for n bits | Larger by the lookahead logic; faster designs use more gates and wiring (roughly n log n for Kogge-Stone) | One stage is n full adders with no carry chain; a whole multiplier tree scales with the number of partial-product bits (about n²) |
| Result format | Ordinary binary | Ordinary binary | Redundant form split into a sum word and a carry word; an ordinary adder is needed at the end to get a single value |
| Typical uses | Small or low-power circuits where speed is not critical; in FPGAs, often built on dedicated carry-chain logic | CPU ALUs, address calculation, floating-point units, the final addition in multipliers | Partial-product reduction in multipliers (Wallace and Dadda trees), accumulation in multiply-accumulate units, adding many numbers |
| Related designs | Carry-skip and carry-select adders (between the two in speed and area) | Parallel-prefix adders (Kogge-Stone, Brent-Kung and others) | 4:2 compressors, combination with Booth's algorithm to reduce partial products |
Figures are typical orders of magnitude and vary by process generation and product.