بسم الله الرحمن الرحيم

   

 

 

 

     
 

Carry Look-Ahead Adders:

The performance of a Ripple Carry Adder is limited by the time required for carries to ripple through all stages of the adders. One method of speeding up the addition process is to use the carry look-ahead (CLA) technique to generate all incoming carries in parallel.

 

CLA utilizes the two functions to develop the Cout bit, carry generation and carry propagation. Carry generation, g, occurs when the two input bits are 1. Carry propagation, p, occurs when either of the input bits are 1.

 

Carry Propagation/Generation:

¨       If xi=yi=1, carry-out generated regardless of  incoming carry

¨       If xi,yi=10 or xi,yi=01, incoming carry propagated

¨       If xi=yi=0, no carry propagation

¨       Generated carry: Gi=xi yi

¨       Propagated carry: Pi=xiyi

Example (1):

4-bit Adder:

 

Further Addition Speed-Up:

We use Carry-look-ahead over groups to speed up addition.

¨       Group-generated carry: G*=1 if a carry-out (of group) is generated internally 

¨       Group-propagated carry: P*=1 if a carry-in (to group) is propagated internally to produce a carry-out (of group)

¨       For a group of size 4: 

Example (2):

16-bit (2-level) Carry-look-ahead Adder:

Here the number of bits is n=16; So we use 4 groups. The outputs  of the Groups are: G*0,G*1,G*2,G*3,P*0,P*1,P*2,P*3; those are used as inputs to a carry-look-ahead generator with outputs c4,c8,c12.

 

Operation of 16-bit CLA:

The operation of the Carry look-ahead Adder can be summarized in four steps:

1. All groups generate in parallel Gi and Pi, So delay time is D.

gi=xi yi

pi=xiyi

Required Components for group:      4 XOR

                                                            4 AND

2. All groups generate in parallel group-carry-generate, G*I, and group-carry-propagate, P*i, so the delay time is 2D.

P*0 = p3 p2 p1 p0
P*1 = p7 p6 p5 p4
P*2 = p11 p10 p9 p8
P*3 = p15 p14 p13 p12
G*0 = g3 + (p3 g2) + (p3 p2 g1) + (p3 p2 p1 g0)
G*1 = g7 + (p7 g6) + (p7 p6 g5) + (p7 p6 p5 g4)
G*2 = g11 + (p11 g10) + (p11 p10 g9) + (p11 p10 p9 g8)
G*3 = g15 + (p15 g14) + (p15 p14 g13) + (p15 p14 p13 g12)

Required Components for group:      4 AND

                                                            1 OR

3. Carry-look-ahead generator produces carries c4,c8,c12  into the groups, the delay time is 2D.

Required Components:          10 AND

                                                 4 OR

4. Groups calculate in parallel individual sum bits with internal carry-look-ahead. The delay time for internal carry is 2D and for individual sum is D.

C1 = G0 + (P*0 c0)
C2 = G1 + (P*1 G*0) + (P*1 P*0 c0)
C3 = G2 + (P*2 G*1) + (P*2 P*1 G*0) + (P*2 P*1 P*0 c0)

Required Components for group:      6 AND

                                                            3 OR

Total Time:

Therefore, the total delay time is 8D, where D is the delay of single gate.

 

Total Number of Components:

AND: 14*4+10=66 AND

OR: 4*4+4=20 OR

XOR: 8*4= 32 XOR

 

Number Systems

    - Conventional Number System

         >Properties

         >Binary, Decimal, Hexadecimal

         >Number Base Conversion

    - Unconventional Number System

         >Roman Number System

         >Signed Digit Number System

         >Binary SD Number System

Fast Addition

    - Half and Full Adders

    - Ripple Carry Adder

    - Carry Look-Ahead Adders

Fast Multiplication

    - Carry Save Adders

    - Additive & Non-additive Multiplier

    - Counters