0% found this document useful (0 votes)
72 views8 pages

Lect18 2fast Add

This document discusses fast adder designs and their tradeoffs. It describes the performance issues with ripple-carry adders and how carry-lookahead adders can improve speed by evaluating carry signals in parallel rather than in sequence. Specifically, it expresses the carry outputs recursively in terms of generate and propagate functions. While carry-lookahead adders are faster, they have limitations related to fan-in and complexity for large bit widths. The document proposes a hierarchical design approach to address this.

Uploaded by

purwant10168
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views8 pages

Lect18 2fast Add

This document discusses fast adder designs and their tradeoffs. It describes the performance issues with ripple-carry adders and how carry-lookahead adders can improve speed by evaluating carry signals in parallel rather than in sequence. Specifically, it expresses the carry outputs recursively in terms of generate and propagate functions. While carry-lookahead adders are faster, they have limitations related to fan-in and complexity for large bit widths. The document proposes a hierarchical design approach to address this.

Uploaded by

purwant10168
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

ECE380 Digital Logic

Number Representation and


Arithmetic Circuits:
Fast Adder Designs, Tradeoffs,
and Examples

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-1

Performance issues
• Addition & subtraction are fundamental operations
preformed frequently in the course of a computation
– Performance (speed) of these operations has a strong
impact on the overall performance of a computer
• Consider, again, the adder/subtractor unit
y y y
n–1 1 0
Add/Sub
control
xn–1 x1 x0

cn n-bit adder c0

sn–1 s1 s0

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-2

1
Adder/subtractor performance
• We are interested in the
largest delay from the
time the operands X
and Y are presented as xi
inputs until the time all si
bits of the sum S and yi
the final carry-out, cn, ci
are valid
• Assume the adder is
constructed as a ripple- ci+1
carry adder and that
each bit in the adder is
constructed as a full
adder as shown

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-3

Adder/subtractor performance
• The delay for the carry-out in this circuit, ∆t, is equal
to two gate delays
• From the discussion of the ripple-carry adder, we
know that the final result of an n-bit addition is valid
after a delay of n∆t. This is 2n gate delays
• In addition to the delay in the ripple-carry path,
there is also a one gate delay introduced in the XOR
gates that provide either the true or complement
form of Y to the adder inputs
– The total gate delay for the adder/subtractor circuit is 2n+1
• The speed of any circuit is limited by the longest
delay along the paths through the circuit
– The longest delay is called the critical-path-delay, and the
path that causes this delay is called the critical path

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-4

2
Carry-lookahead adder
• To reduce delay caused by the effect of carry
propagation through the ripple-carry adder,
we will attempt to evaluate quickly for each
adder stage whether the carry-in from the
previous stage will have a value of 0 or 1
– If we can do this quickly, we can improve the
performance of the complete adder
• Essentially we are attempting to reduce the
critical-path-delay

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-5

Carry-lookahead adder
• Recall the carry-out function for stage I can be
realized as
ci+1=xiyi+xici+yici
ci+1=xiyi+(xi+yi)ci
• Let gi=xiyi and pi=xi+yi, so ci+1= gi+pici
• The function gi=1 when both xi and yi are 1,
regardless of the incoming carry ci
– Since in this case, stage i is guaranteed to generate a carry-
out, g is called the generate function
• The function pi=1 when either xi and yi are 1
A carry-out is produced if ci=1
– The effect is that the carry-in of 1 is propagated through
stage i; p is called the propagate function

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-6

3
Carry-lookahead (CLA) adder
• Let us generate an expression for the output
carry of an n-bit adder
given, cn= gn-1+pn-1cn-1
and, cn-1= gn-2+pn-2cn-2
therefore, cn= gn-1+pn-1(gn-2+pn-2cn-2)
cn= gn-1+pn-1gn-2+ pn-1pn-2cn-2

• The same expansion for other stages, ending


with stage 0, gives
cn= gn-1+pn-1gn-2+ pn-1pn-2gn-3+…+pn-1pn-2…p1g0+pn-1pn-2…p0c0

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-7

Carry-lookahead (CLA) adder


carry generated in carry generated in
stage n-2, and stage 0, and
propagated propagated
through remaining through remaining
stages stages

cn= gn-1+pn-1gn-2+ pn-1pn-2gn-3+…+pn-1pn-2…p1g0+pn-1pn-2…p0c0

carry generated in
carry generated in Input carry c0
stage n-3, and
last stage propagated
propagated
through all stages
through remaining
stages
Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-8

4
Ripple-carry adder critical path
3 gate delays for c1, x y x y
1 1 0 0
5 gate delays for c2

g p g p
1 1 0 0
c c c
2 1 0

Stage 1 Stage 0
In general, 2n+1 delays
for n-bit ripple-carry adder s s
1 0
Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-9

Carry-lookahead critical path


x y x y
3 gate delays for c1, 1 1 0 0
3 gate delays for c2
x0 y0
3 gate delays for cn

g p g p
1 1 0 0

c
c 0
2 c
Total delay for n-bit 1
CLA adder is 4 gate
delays
All gi and pi, one delay
All ci, two more delays
One more delay for the
sums si s s
1 0
Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-10

5
Carry-lookahead limitations
• The expression for carry in a CLA adder
cn= gn-1+pn-1gn-2+ pn-1pn-2gn-3+…+pn-1pn-2…p1g0+pn-1pn-2…p0c0

• obviously results in a fast solution (since it is only a


2 level AND-OR function)
• Fan-in limitations may effectively limit the speed of a
CLA adder
– Devices with known fan-in limitations (such as an FPGA)
often include dedicated circuitry for implementation of fast
adders
• The complexity of an n-bit CLA adder increases
rapidly as n becomes large
– To reduce this complexity, we can use a hierarchical
approach in designing large adders

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-11

32-bit adder design


• Suppose we want to design a 32-bit adder
• Divide this adder into 4 blocks such that
– Bits b7-0 are block 0
– Bits b15-8 are block 1
– Bits b23-16 are block 1
– Bits b31-24 are block 1
• Each block can be constructed as an 8-bit CLA adder
– The carry-out signals from the four blocks are c8, c16, c24,
and c32
• There are 2 basic approaches for interconnecting
these four blocks
– Ripple-carry between blocks
– Second level carry-lookahead circuit

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-12

6
Ripple-carry between blocks

X24-31 Y24-31 X16-23 Y16-23 X8-15 Y8-15 X7-0 Y7-0

C32 C24 C16 C8 C0


Block Block Block Block
3 2 1 0

S24-31 S16-23 S8-15 S7-0

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-13

Second level carry-lookahead


circuit
x y x y x y
31-24 31-24 15-8 15-8 7-0 7-0

Block Block Block c


3 c24 1 0 0
G P s G P G P
3 3 11 00
31-24 s
s15-8 7–0

c c c
32 16 8

Second-level lookahead
Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-14

7
Second level carry-lookahead
circuit
• For the second level circuit:
P0=p7p6p5p4p3p2p1p0
G0=g7+p7g6+p7p6g5+…+p7p6p5p4p3p2p1g0

c8=G0+P0c0

c16= G1+P1c8= G1+P1G0+P1P0c0

c24= G2+P2G1+P2P1G0+P2P1P0c0

c32= G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0c0

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-15

Hierarchical CLA analysis


• Assuming a fan-in constraint of four inputs,
the time to add two 32-bit numbers involves
– five gate delays to develop the Gi and Pi terms,
three gate delays for the second-level lookahead,
and one delay (XOR) to produce the final sum
bits.
– Actually the final sum bit is computed after eight
delays because c32 is not used to determine the
sum bits.
– The complete operation, including overflow
detection (c31⊕c32) takes nine gate delays
(compared to 65 for the ripple carry adder)

Electrical & Computer Engineering Dr. D. J. Jackson Lecture 18-16

You might also like