This is a carry look ahead adder :
This adder is known to calculate one or more carry bits before the sum. From the figure we see that carry look ahead block calculates the carry C1,C2,C3,C4 . But i don't understand how does it do that ? How does this block calculate the carry before the sum ?