Adders built by connecting full adders in series are commonly called ripple carry adders because the carry produced at each stage propagates, or "ripples", into the next stage. This sequential propagation makes the total addition time roughly proportional to the number of bits. For small word lengths the delay is acceptable, but for wider binary words the ripple delay becomes a limiting factor for high-speed arithmetic.
To reduce this delay, designers use carry look ahead adders (CLA), which compute carry signals in parallel rather than waiting for carries to ripple through each stage. CLAs use combinational logic that evaluates, for each bit position, whether that stage will generate a carry, propagate a carry, or neither. Using these signals, the carry input for every stage can be determined quickly from the primary inputs and the initial carry in.
For each bit position i, define two signals from the input bits Ai and Bi:
Using these signals, the carry-out from stage i is given by the simple Boolean expression
Ci+1 = Gi + Pi · Ci
This expression allows Ci+1 to be computed directly from Ai, Bi and Ci without waiting for earlier carry computations to ripple through other full adders.
For a 4-bit block with input bits A3..A0 and B3..B0 and initial carry C0, the carries C1..C4 are:
C1 = G0 + P0 · C0
C2 = G1 + P1 · G0 + P1 · P0 · C0
C3 = G2 + P2 · G1 + P2 · P1 · G0 + P2 · P1 · P0 · C0
C4 = G3 + P3 · G2 + P3 · P2 · G1 + P3 · P2 · P1 · G0 + P3 · P2 · P1 · P0 · C0
The sum bits are obtained as
Si = Pi ⊕ Ci
These expanded forms show that each carry is a sum (OR) of terms that involve generate signals and products of propagate signals with earlier generate signals and the initial carry. All terms depend only on the A, B inputs and the initial C0, so the carries can be computed in parallel by combinational logic.
A practical CLA is built from two functional blocks:
In many textbook diagrams the modified full adder is shown as a grey block that provides Pi and Gi, while the carry generator is shown as a separate block (often coloured blue). The carry generator takes all Pi, Gi of the block and the input carry and produces the internal carries and the block carry-out in parallel.
Directly building a single carry generator for a very wide word requires gates with large fan-in and heavy wiring. Practical designs therefore use a hierarchical or grouped approach:
This hierarchy reduces gate fan-in and keeps delays manageable while retaining the parallel speed advantage of look-ahead logic.
Example numbers: A = 1011, B = 0110, initial carry C0 = 0. Use the 4-bit CLA method to compute sums S0..S3 and carry C4.
Sol.
G0 = A0 · B0 = 1 · 0 = 0
P0 = A0 ⊕ B0 = 1 ⊕ 0 = 1
G1 = A1 · B1 = 1 · 1 = 1
P1 = A1 ⊕ B1 = 1 ⊕ 1 = 0
G2 = A2 · B2 = 0 · 1 = 0
P2 = A2 ⊕ B2 = 0 ⊕ 1 = 1
G3 = A3 · B3 = 1 · 0 = 0
P3 = A3 ⊕ B3 = 1 ⊕ 0 = 1
C1 = G0 + P0 · C0 = 0 + 1 · 0 = 0
C2 = G1 + P1 · G0 + P1 · P0 · C0 = 1 + 0 · 0 + 0 · 1 · 0 = 1
C3 = G2 + P2 · G1 + P2 · P1 · G0 + P2 · P1 · P0 · C0 = 0 + 1 · 1 + 1 · 0 · 0 + 1 · 0 · 1 · 0 = 1
C4 = G3 + P3 · G2 + P3 · P2 · G1 + P3 · P2 · P1 · G0 + P3 · P2 · P1 · P0 · C0 = 0 + 1 · 0 + 1 · 1 · 1 + 1 · 1 · 0 · 0 + 1 · 1 · 0 · 1 · 0 = 1
S0 = P0 ⊕ C0 = 1 ⊕ 0 = 1
S1 = P1 ⊕ C1 = 0 ⊕ 0 = 0
S2 = P2 ⊕ C2 = 1 ⊕ 1 = 0
S3 = P3 ⊕ C3 = 1 ⊕ 1 = 0
Resulting sum S3 S2 S1 S0 = 0001 and final carry C4 = 1, so the 5-bit result is 10001 (decimal 17), which matches 11 + 6 = 17.
Carry look-ahead adders strike a practical balance between speed and complexity. By computing carry signals from generate/propagate information in parallel, CLAs eliminate the serial carry delay of ripple adders and are a fundamental building block in high-performance digital arithmetic circuits.
135 videos|182 docs|71 tests |
| 1. What is a carry look ahead adder? | ![]() |
| 2. How does a carry look ahead adder work? | ![]() |
| 3. What are the advantages of using carry look ahead adders? | ![]() |
| 4. Are there any limitations or drawbacks of carry look ahead adders? | ![]() |
| 5. In what applications are carry look ahead adders commonly used? | ![]() |