2022 23 4a

Computer Organization and Architecture2022-2310 marksNumericalLook ahead carries adders

Describe the derivation procedure of look ahead carry adder by an example with the help of block diagram.

Describe the derivation procedure of look ahead carry adder by an example with the help of block diagram.

Deriving the carry equations

A full adder adds the bits $A_i$ and $B_i$ and the carry $C_i$. Its carry out is:

$$C_{i+1} = A_iB_i + (A_i \oplus B_i)C_i$$

We give the two parts names. The generate term $G_i = A_iB_i$ means that the stage creates a carry by itself. The propagate term $P_i = A_i \oplus B_i$ means that the stage passes the carry on. The equations become:

$$C_{i+1} = G_i + P_iC_i \qquad S_i = P_i \oplus C_i$$

Now we replace each carry by the equation of the stage before it, one at a time.

$$C_1 = G_0 + P_0C_0$$

$$C_2 = G_1 + P_1C_1 = G_1 + P_1G_0 + P_1P_0C_0$$

$$C_3 = G_2 + P_2C_2 = G_2 + P_2G_1 + P_2P_1G_0 + P_2P_1P_0C_0$$

$$C_4 = G_3 + P_3G_2 + P_3P_2G_1 + P_3P_2P_1G_0 + P_3P_2P_1P_0C_0$$

After the substitution, no carry depends on another carry. Each one depends only on $G$, $P$ and $C_0$, so all can be built as two-level AND-OR circuits and are ready at the same time.

Block diagram

   A3 B3   A2 B2   A1 B1   A0 B0
    |  |    |  |    |  |    |  |
  [ P/G ] [ P/G ] [ P/G ] [ P/G ]   P = A xor B, G = A.B
    |  |    |  |    |  |    |  |
    |  +----+--+----+--+----+--+--> look-ahead carry unit
    |       |       |       |        (C1, C2, C3, C4 from
    |       |       |       |         all P, G and C0)
  [XOR]   [XOR]   [XOR]   [XOR] <--- C3, C2, C1, C0
    |       |       |       |
    S3      S2      S1      S0          C4 = carry out

Example. Add $A = 0111$ and $B = 0011$ with $C_0 = 1$.

Bit iABG = ABP = A xor B
01110
11110
21001
30000

The look-ahead equations give:

$$C_1 = G_0 + P_0C_0 = 1 + 0 = 1$$

$$C_2 = G_1 + P_1G_0 + P_1P_0C_0 = 1 + 0 + 0 = 1$$

$$C_3 = G_2 + P_2G_1 + P_2P_1G_0 + P_2P_1P_0C_0 = 0 + 1 + 0 + 0 = 1$$

$$C_4 = G_3 + P_3G_2 + \dots = 0$$

The sums are $S_i = P_i \oplus C_i$, so $S_0 = 0 \oplus 1 = 1$, $S_1 = 0 \oplus 1 = 1$, $S_2 = 1 \oplus 1 = 0$ and $S_3 = 0 \oplus 1 = 1$. The result is $S_3S_2S_1S_0 = 1011$ with carry out $0$. Therefore $7 + 3 + 1 = 11 = 1011_2$.

Short on time? The 1, 5 and 10 mark versions of this answer, flashcards and practice sets come with a program pass.

Up nextShow the systematic multiplication process of (-15) x (-16) using Booth's Algorithm.