Ripple carry adder

admin March 29, 2012 6 Comments

Ripple carry adder circuit.

Multiple full adder circuits can be cascaded in parallel to add an N-bit number. For an N- bit parallel adder, there must be N number of full adder circuits. A ripple carry adder is a logic circuit in which the carry-out of each full adder is the carry in of the succeeding next most significant full adder. It is called a ripple carry adder because each carry bit gets rippled into the next  stage. In a ripple carry adder the sum and carry out bits of any half adder stage is not valid until the carry in of that stage occurs.Propagation delays inside the logic circuitry is the reason behind this. Propagation delay is time elapsed between the application of an input and occurance of the corresponding output. Consider a NOT gate, When the input is “0” the output will be “1” and vice versa. The time taken for the NOT gate’s output to become “0” after the application of logic “1” to the NOT gate’s input is the propagation delay here. Similarly the carry propagation delay is the time elapsed between the application of the carry in signal and the occurance of the carry out (Cout) signal. Circuit diagram of a 4-bit ripple carry adder is shown below.

Ripple carry adder circuit

Ripple carry adder

Sum out S0 and carry out Cout of the Full Adder 1 is valid only after the propagation delay of Full Adder 1. In the same way, Sum out S3 of the Full Adder 4 is valid only after the joint propagation delays of Full Adder 1 to Full Adder 4. In simple words, the final result of the ripple carry adder is valid only after the joint propogation delays of all full adder circuits inside it.

Full adder.

To understand the working of a ripple carry adder completely, you need to have a look at the full adder too. Full adder is a logic circuit that adds two input operand bits plus a Carry in bit and outputs a Carry out bit and a sum bit.. The Sum out  (Sout) of a full adder is the XOR of input operand bits A, B and the Carry in (Cin) bit.  Truth table and schematic of a 1 bit Full adder is shown below

There is a simple trick to find results of a full adder. Consider the second last row of the truth table, here the operands are 1, 1, 0 ie  (A, B, Cin). Add them together ie 1+1+0 = 10 . In binary system,  the number order is 0, 1, 10, 11……. and so the result of 1+1+0 is 10 just like we get 1+1+0 =2 in decimal system. 2 in the decimal system corresponds to 10 in the binary system. Swapping the result “10” will give S=0 and Cout = 1 and the second last row is justified. This can be applied to any row in the table.

full adder  schenatic

1 bit full adder schematic and truth table

 A Full adder can be made by combining two half adder circuits together (a half adder is a circuit that adds two input bits and outputs a sum bit and a carry bit).  

full adder, half adder realization

Full adder & half adder circuit

Full adder using NAND or NOR logic.

Alternatively the full adder can be made using NAND or NOR logic. These schemes are universally accepted and their circuit diagrams are shown below.

NAND full adder

Full adder using NAND logic

NOR logic full adder

Full adder using NOR logic




  • August 19, 2015

    to given truth table

  • July 4, 2014

    How to 8 bit encryption logic gates.

  • H Melton
    March 15, 2012

    I believe the full adder truth table image file is wrong in the last row.

    Should not Cout and S both be TRUE when inputs A,B, Cin are all TRUE?

    I’ve included the URL for the full adder truth table file

    • jojo
      March 18, 2012

      Hello Melton 🙂

      Thanks for notifying us. We corrected it 🙂

      • mojo khandani haula
        May 14, 2013

        hahaha. sab haule hai 😛

    • Rajendher
      September 28, 2013

      actually you have not understood the TT of Full adder,
      when A=1, B=1,Cin=1 it implies sum is 3 and it’s binary form is,we will have to write S=1 and Cout=1
      please go through some standard book like marris mano.

Leave a Reply

Your email address will not be published. Required fields are marked *