HW #5 Solution
Note: Different implementations of 3&4 are possible.
1.
Part a) Half Adder
Part b) Full Adder using Half Adder Blocks
Part c) Full Adder Gate Design
2.
4 bit adder using Full adder blocks from #1.
When you add 1111 and 0000, then
change 0000->0001 it causes a carry to be
propagated through all of the full adders, causing the delay of each
sum bit to be progressively delayed proportional to the number of adders the
carry must pass through. When 1010 is added to 0000 and 0000-> 0101 the
output will stabilize more quickly as the carry bit is not changing and
therefore the propagation of the carry is not detected.
3.
4 bit Carry Lookahead Adder
Gate comparision w/ #2.
Lookahead Adder - 58 gates
Ripple Carry Adder - 36 gates
Gate Delays (worst case)
Lookahead Adder - 4 gates
Ripple Carry Adder - 8 gates
Note however, that as the number of bits added grows, the ripple
carry adder's delay will grow as well, while
the delay of the lookahead adder will remain constant.
4.
8 bit unsigned Carry Select Adder