Traditional adder e3 e2 et e0 Traditional adder f3 f2 f1 fo Traditional adder + s5 s4 s1 s0 b3 e3 13 b2 e2 12 bi et 1 bo eo t0 A E F Carry save adder a2 a0 Carry save adder + s'4 c'3 s'3 c'2 s'2 c'1 s'1 co s'0 Traditional adder s4 s3 s2 FIGURE B.14.1 Traditional ripple carry and carry save addition of four 4-bit numbers. The details are shown on the left, with the individual signals in lowercase, and the corresponding higher-level blocks are on the right, with collective signals in upper case. Note that the sum of four n-bit numbers can take n + 2 bits. +
Instead of thinking of an adder as a
device that adds two numbers and then links the
carries together, we can think of the adder as a
hardware device that can add three inputs together
(ai, bi, ci) and produce two outputs (s, ci + 1). When
adding two numbers together, there is little we can do
with this observation. When we are adding more than
two operands, it is possible to reduce the cost of the
carry. The idea is to form two independent sums, called
S′ (sum bits) and C′ (carry bits). At the end of the
process, we need to add C′ and S′ together using a normal adder. This technique of delaying carry
propagation until the end of a sum of numbers is called
carry save addition. The block drawing on the lower
right of Figure B.14.1 (see below) shows the
organization, with two levels of carry save adders
connected by a single normal adder.
Calculate the delays to add four 16-bit numbers using
full carry-lookahead adders versus carry save with a
carry-lookahead adder forming the final sum. (The time
unit T in Exercise B.28 is the same.)
Step by step
Solved in 2 steps with 4 images