Carry-select | ||||||||||||||
Another solution: carry-select adder | ||||||||||||||
Design trick: When all else fails, GUESS! (precompute) | ||||||||||||||
To build 8-bit adder: | ||||||||||||||
Lower 4 bits: any adder (ripple-carry, carry-lookahead) | ||||||||||||||
Upper 4 bits: 2 adders | ||||||||||||||
First adder has carry-in of 1 | ||||||||||||||
Second adder has carry-in of 0 | ||||||||||||||
Select between 2 upper results based on carry-out from lower result | ||||||||||||||
|
||||||||||||||
Reference: | ||||||||||||||
http://www-inst.eecs.berkeley.edu/~cs152/ | ||||||||||||||
Time required: | ||||||||||||||
4-bit add time | ||||||||||||||
Multiplexor to select | ||||||||||||||