Ripple Carry Adder
Chaining full adders
An n-bit binary adder adds two n-bit numbers and , plus an initial carry-in , producing an n-bit sum and a final carry-out .
The simplest implementation chains n full adders: the carry-out of column i feeds the carry-in of column i+1.
For each bit position i:
The initial carry-in is typically 0 for unsigned addition (or can be set to 1 for two’s complement subtraction via ).
Delay analysis
The critical path of a ripple carry adder runs through the carry chain. Each full adder must wait for the previous column’s carry-out before it can produce its own carry-out.
Let be the carry propagation delay through one full adder (typically 2 gate delays: one AND + one OR from the path). For an n-bit adder, the worst-case delay from , , to the final is:
The sum bits settle earlier: is ready after one XOR delay from followed by one XOR delay from . But must wait for to settle through n-1 carry stages.
For the worst case, consider adding A = 1111, B = 0001, c0 = 0:
- Column 0:
1+1+0→s0=0,c1=1 - Column 1:
1+0+1→s1=0,c2=1 - Column 2:
1+0+1→s2=0,c3=1 - Column 3:
1+0+1→s3=0,c4=1
The carry ripples through every column. Other worst cases are A = 0000, B = 1111, c0 = 1 (or any pattern that forces carry propagation through all bits).
Maximum clock frequency
In a synchronous system, the clock period must accommodate the critical path. For a ripple carry adder used between two registers (flip-flops):
where is the clock-to-Q delay of the source register and is the setup time of the destination register. The maximum operating frequency is .
For modest n (e.g., 32 bits), can be tens of nanoseconds, limiting the clock frequency. This is why faster adder architectures (carry lookahead, carry select, carry skip) were developed for high-performance processors.
When ripple carry is acceptable
Ripple carry adders are simple, use minimal hardware, and are acceptable when:
- n is small (e.g., 4-8 bits).
- The clock period is slow relative to the ripple delay.
- Power consumption is more important than speed (fewer gates switching).
- Area is the primary constraint.
For large n or high-speed designs, the O(n) carry delay is unacceptable, motivating the carry lookahead approach described in the next section.