Carry ripple adder

from Wikipedia, the free encyclopedia
Structure of a 4-bit carry ripple adder

The carry-ripple adder (from English carry - carry , ripple - trickle ), also ripple-carry adder or ripple-through carry , is an adding network , so it is used to add multi-digit binary numbers .

An n-bit carry ripple adder can add two n-digit binary numbers, the result has n + 1 places. The switching network thus has 2n + 1 (or 2n without carry in ) inputs and n + 1 outputs.

It is made up of n full adders (or n − 1 full adders and 1 half adder without carry in ). The carry output of the adders is connected to an input of the next full adder. The carry output of the last full adder forms the (n + 1) -th output of the switching network.

The addition corresponds to the EXOR operation: r = a xor b xor c, where a and b are the i-th digits of the first and second summands and c is the carry.

Since full adders do not work infinitely fast, there may be delays in calculating the end result, as the full adder can only output the correct result when the previous full adder has delivered the carry bit. In the worst case, the addition a 0  + b 0 leads to a carry, and for all i> 0 the following applies: a i  + b i  ≥ 1. Then the carry bit has to travel through the entire adding network before the correct result is output ( carry propagation ) .

To avoid these long runtimes , accelerated adding networks were developed, such as carry-skip , carry-look-ahead ((super) ripple CLA and (super) block CLA), conditional sum addition and carry select adder .