p14m

Carry Save Adder (CSA)

Adds three numbers producing two (sum + carry) with zero propagation delay.

Problem

How do you add three binary numbers without waiting for carries to ripple?

How it works

A carry save adder is a row of n independent full adders with no carry chain between them. Each FA takes one bit from each of the three input numbers and produces a sum bit and a carry bit independently. The result is two numbers (a sum row and a carry row) instead of one.

This is the same hardware as a single level of a ripple carry adder, but with the horizontal carry wires removed. Because no FA waits on another, the entire row completes in just 2 gate delays regardless of width.

The tradeoff: you started with 3 numbers and now have 2. To get a final answer, you eventually need a carry-propagate adder (RCA, CLA, etc.) to combine the last two rows.
Key insightA CSA doesn't finish the addition: it just reduces the problem from 3 numbers to 2, instantly. Stack multiple CSA layers and you get a Wallace Tree.