In a ripple carry adder, each stage has to wait for the carry from the stage below. The total time is set by the longest chain of waiting: the ripple-carry delay.
In this course's gate delay model (each full adder computes Cout = , every gate takes 1 delay, all inputs arrive at time 0):
- every and is ready at time 1, in all bits at once
- C1 is ready at 3 (AND at 2, OR at 3), and each later carry adds 2 more: Cᵢ at 2i + 1
- each sum is one XOR after its carry: Sᵢ at 2i + 2
- the worst case for an n-bit adder is Cₙ at 2n + 1
Counted from C0 only, a carry needs 2 gate delays per stage, so 2n to cross n stages. Either way the delay is linear in n: double the width, double the wait. That's why wide, fast adders use carry-lookahead.
When does the worst case actually happen? When a carry is created at bit 0 (both bits 1) and passed on by every higher bit (exactly one 1 in each). A column with two 0s kills the carry and cuts the chain. A clock period must still allow for the worst case, because the outputs pass through wrong values before they settle.