Unit 2 CLA
Unit 2 CLA
A B
It takes A, B, and Cin as input and generates S and Cout in 2 gate delays (SOP)
Ripple Carry Adder
• A ripple carry adder is a digital circuit that produces the
arithmetic sum of two binary numbers. It. can be constructed
with full adders connected in cascaded (see section 2.1), with
the carry output. from each full adder connected to the carry
input of the next full adder in the chain.
• Ripple Carry Adder is a combinational logic circuit.
• It is used for the purpose of adding two n-bit binary numbers.
• It requires n full adders in its circuit for adding two n-bit binary
numbers.
• It is also known as n-bit parallel adder.
• 4-bit ripple carry adder is used for the purpose of adding two 4-bit
binary numbers.
• In Mathematics, any two 4-bit binary numbers A3A2A1A0 and
B3B2B1B0 are added as shown below-
• Ripple Carry Adder works in different stages.
• Each full adder takes the carry-in as input and produces carry-out and
sum bit as output.
• The carry-out produced by a full adder serves as carry-in for its
adjacent most significant full adder.
• When carry-in becomes available to the full adder, it activates the full
adder.
• After full adder becomes activated, it comes into operation
• Working Of 4-bit Ripple Carry Adder-
•
• Let-
• The two 4-bit numbers are 0101 (A3A2A1A0) and 1010 (B3B2B1B0).
• These numbers are to be added using a 4-bit ripple carry adder.
• 4-bit Ripple Carry Adder carries out the addition as explained in the following stages-
• Stage-01:
•
• When Cin is fed as input to the full Adder A, it activates the full adder A.
• Then at full adder A, A0 = 1, B0 = 0, Cin = 0.
• Full adder A computes the sum bit and carry bit as-
•
RCA
• In Ripple Carry Adder,
• The carry out produced by each full adder serves as carry-in for its
adjacent most significant full adder.
• Each carry bit ripples or waves into the next stage.
• That’s why, it is called as “Ripple Carry Adder”.
• Disadvantages of Ripple Carry Adder-
•
• Ripple Carry Adder does not allow to use all the full adders
simultaneously.
• Each full adder has to necessarily wait until the carry bit becomes
available from its adjacent full adder.
• This increases the propagation time.
• Due to this reason, ripple carry adder becomes extremely slow.
• This is considered to be the biggest disadvantage of using ripple carry
adder.
FA
Observations
• The critical component each bit adder waits for is the carry input.
• Instead of generating and propagating carry bit-by-bit, can we
generate all of them in parallel and break the sequential chain?
• This is exactly the idea of CLA (carry look-ahead adder).
Carry Look Ahead Logic
• Now even before the carry in (Cin) is available, based on the inputs
(A,B) only, can we say anything about the carry out?
• Under what condition will the bit propagate an outgoing carry (Cout),
if there is an incoming carry (Cin)?
• Under what condition will the bit generate an outgoing carry (Cout),
regardless of whether there is an incoming carry (Cin)?
1-bit CLA adder
A B
S
(+) Cin
p g
• Instead of Cout, an 1-bit CLA adder block takes A, B inputs and generates p,g
• p=propagator =>I will propagate the Cin to the next bit. p = A+B
(If either A or B is 1, Cin=1 causes Cout=1)
• g=generator =>I will generate a Cout independent of what Cin is. g = AB
(If both A and B are 1, Cout=1 for sure)
• p,g are generated in 1 gate delay after we have A,B. Note that Cin is not needed
to generate p,g.
• S is generated in 2 gate delay after we get Cin (SOP).
4-bit CLA
A B A B A B A B
C3 C2
(+) (+) (+) C1
(+) C0
p g p g p g p g
• The CLL takes p,g from all 4 bits and C0 as input to generate all Cs in 2 gate delay.
• C1=g0+p0C0,
• C2=g1+p1g0+p1p0C0,
• C3=g2+p2g1+p2p1g0+p2p1p0c0,
• C4=g3+p3g2+p3p2g1+p3p2p1g0+p3p2p1p0c0 (Note: this C4 is too complicated
to generate in 2-level SOP representation)
4-bit CLA
A3 B3 A2 B2 A1 B1 A0 B0
C3 C2
S3
(+) S2
(+) S1
(+) C1
S0
(+) C0
p3 g3 p2 g2 p1 g1 p0 g0
C3 C2
S3
(+) S2
(+) S1
(+) C1
S0
(+) C0
p3 g3 p2 g2 p1 g1 p0 g0
(2) when one of the two bits is 1 and the carry-in (carry of the previous stage) is 1.
•
•Gi is known as the carry Generate signal since a carry (Ci+1) is generated whenever Gi
•
•Computing the values of Pi and Gi only depend on the input operand bits (Ai & Bi) as clear from the Figure and
equations.
•
•Thus, these signals settle to their steady-state value after the propagation through their respective gates.
•
•Computed values of all the Pi’s are valid one XOR-gate delay after the operands A and B are made valid.
•
•Computed values of all the Gi’s are valid one AND-gate delay after the operands A and B are made valid.
•
• The Boolean expression of the carry outputs of various stages can be
written as follows:
• C1 = G0 + P0C0
• C2 = G1 + P1C1 = G1 + P1 (G0 + P0C0)
• = G1 + P1G0 + P1P0C0