In order to overcome the disadvantaged of Ripple carry Adder, we use carry look ahead Adder.
The problem with ripple carry adder is a dependency on the previous stage for carry bit.
Note: will be 1 if: is 1 and either of two input is 1 or Both inputs are 1
In other words, we can write is as
The reason we are using is: It gives output 1 when either of one input is 1
Step 1: Writing carry equation
// generating term
// propagation term
Step 2: rewriting the carry equation in terms of and
Step 3: removing carry dependency
Now, we can clearly see that there is no carry dependency except
Total number of AND gate used is: 10
Total number of OR gate used is: 4