πŸ“… Monday, May 13th, 2024

Honesty is the best policy.

β€” Benjamin Franklin

ECS154A Lecture: carry-lookahead adder (CLA)

Presentation of the CLA in the textbook: The purpose of the carry-lookahead adder is to do the adding simultaneously before the carry bit is available from previous adders (or really, CLA blocks).

Only generate a carry if both and are set (1 + 1 = 0 with a carry). Only propagate a carry from previous CLA block if and are not the same (0 + 0 with carry = 1 without carry; 1 + 1 with carry = 1 with carry, but the carry is generated not propagated).

We want to reuse these two results we already have in and

Now, instead of computing one after the other, we can try to β€œparallelize” the computation at the cost of exponentially more gates:

The drawing below is incomplete (Posnett didn't complete it in class) and I'm not bothered to do it.

Arithmetic right shifts shift in the same bit values as the original highest bit.