15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

a 12:15<br />

FIGURE 9.7 16-bit carry select adder.<br />

Carry Select Adder<br />

The carry select adder divides the words to be added into blocks and forms two sums for each block in<br />

parallel (one with a carry in of ZERO and the other with a carry in of ONE). As shown for a 16-bit carry<br />

select adder on Fig. 9.7, the carry out from the previous block controls a multiplexer that selects the<br />

appropriate sum. The carry out is computed using Eq. (9.11), since the block propagate signal is the<br />

carry out of an adder with a carry input of ONE and the block generate signal is the carry out of an<br />

adder with a carry input of ZERO.<br />

If a constant block width of k is used, there will be ⎡n/k⎤ blocks and the delay to generate the sum is<br />

2k + 3 gate delays to form the carry out of the first block, two gate delays for each of the ⎡n/k⎤ − 2 intermediate<br />

blocks, and three gate delays (for the multiplexer) in the final block. To simplify the analysis,<br />

the ceiling function in the count of intermediate blocks is ignored. The total delay is thus<br />

© 2002 by CRC Press LLC<br />

4-Bit RCA<br />

4-Bit RCA<br />

1<br />

b 12:15<br />

s 12:15<br />

0<br />

2:1 MUX<br />

c<br />

12<br />

g 8:11<br />

4-Bit RCA<br />

p8:11 4-Bit RCA 1<br />

n<br />

DELAYC–SEL = 2k + 2 -- + 2 (9.19)<br />

k<br />

where DELAY C–SEL is the total delay. The optimum block size is determined by taking the derivative of<br />

DELAY C–SEL with respect to k, setting it to zero and solving for k. The result is<br />

k = n<br />

(9.20)<br />

DELAYC–SEL = 2 + 4 n<br />

(9.21)<br />

As for the carry skip adder, better results can be obtained by varying the width of the blocks. In this<br />

case the optimum is to make the two least significant blocks are the same size and each successively more<br />

significant block is one bit larger. For this configuration, the delay for each block’s most significant sum<br />

bit will equal the delay to the multiplexer control signal [7, p. A-38].<br />

The complexity of the carry select adder is 2n − k ripple carry adder stages, the intermediate carry<br />

logic and (⎡n/k⎤ – 1) k-bit wide 2:1 multiplexers.<br />

GATES C–SEL = 9(2n – k) + 2(⎡n/k⎤ – 2) + 3(n − k) + ⎡n/k⎤ − 1<br />

= 21n – 12k + 3⎡n/k⎤ − 5 (9.22)<br />

This is somewhat more than twice the complexity of a ripple carry adder.<br />

a 8:11<br />

s 8:11<br />

b 8:11<br />

2:1 MUX<br />

0<br />

c 8<br />

g 4:7<br />

p 4:7<br />

a4:7 b4:7 a0:3 b0:3 c0 4-Bit RCA<br />

4-Bit RCA<br />

1<br />

2:1 MUX<br />

s 4:7<br />

0<br />

c 4<br />

4-Bit RCA<br />

s 0:3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!