Okay say I have to use a CLA adder to implement the addition of two 2-bit numbers, X = x1x0, Y = y1y0. And say I have to write down the logical expression for the final carry-out.
So C1 or the first carryout would be x0y0 + C0(X0+Y0). Now if we let x0y0 = g0 and x0 + y0 = p0,
we get: C1 = g0 + C0(p0).
Then C2 or the Final carry out = g1 + C1(p1) where C1 = g0 + C0(p0)
so C2 = g1 + p1g0 + p1C0p0.
Now my question is instead of letting the propagate term or p1 or p0 be xi + yi we let it be xi xor yi which is a valid implementation taught in many books.
My question is why? Why should one choose the Xor gate over the or gate. Are there any benefits it provides?