**Tom Kelliher, CS 315**

**Apr. 5, 1999**

Read 1.2.4.

Segmented prefix problem.

- Brief review of carry lookahead addition.
- Carry-Save addition.

Multiplication and convolution.

Carrylookahead addition:

- Add two
**k**-bit numbers in bit steps. - Suppose we wish to add
**N****k**-bit numbers as quickly as possible.- What is the organization of the adder?
- Do the adders become wider as we progress?
- Running time:
Are these really equivalent?

Can we do better?

- What is the organization of the adder?

- Idea: Add three
**k**-bit numbers in a single bit step, producing two**k+1**-bit numbers. - Implementation: Use a binary full adder for each bit position,
producing a low order bit and a carry bit for each bit position.
- The final sum is the sum of the low order bits and the shifted carry
bits.
- Example:
- Time required to reduce the sum of
**N****k**-bit numbers to the sum of two -bit numbers: bit steps.Proof:

- After the first step of CSA, how many numbers are we left with?
(At most . Why?)
- After the second step?
- After the
**j**th step: - After steps, we're left with numbers, so we need steps to reduce to two -bit numbers.

- After the first step of CSA, how many numbers are we left with?
(At most . Why?)
- Use a carry lookahead adder to reduce the two-number
*redundant*representation to a single, non-redundant number. - Example: Draw the
*Wallace tree*for**N = 9**.

Mon Apr 5 11:02:53 EDT 1999