I'm learning about logic circuits and I've come across full adder. In the book they derived its two carry out expressions -

Cout = x&&y || x&&z || y&&z and Cout = x&&y || (x'&&y || x&&y')&&z

I've tried to get the second equation from the first one but couldn't. Any one knows how to do that?


From your question it is unclear what $x$, $y$ and $z$ are. However, the two formulas are equivalent. Let me use products to denote a logical "AND" and additions to denote a logical "OR" so that your first formula becomes $xy + xz + yz$

If you gather $z$ in the last two terms you get: $xy + (x+y)z$.

Notice how the second term $(x+y)z$ is true iff $z$ is true, and at least one of $x$ and $y$ is true. However, if both $x$ and $y$ are true, the whole formula is true regardless of the truth value of the second term (since the first term is $xy$). You can then replace $(x+y)$ with $(x \oplus x)$ (where "$\oplus$" denotes the exclusive OR) to obtain: $xy + (x \oplus y)z$ or, equivalently, $xy + (x'y + xy')z$.

  • $\begingroup$ But how this characteristics that, if both x and y is 1 the total output is 1 independent of z and if one of x or y is 1 and z is 1 then total output is 1, can change the or operation to xor? $\endgroup$ – Abhirup Bakshi Mar 14 '20 at 22:48
  • $\begingroup$ Start from $xy + (x+y)z$. We now change the second OR to a XOR. If at most one of $x$ and $y$ is true then $x \oplus y$ is equivalent to $x+y$. If both $x$ and $y$ are true, then the first term is true, and hence both the original and the modified formulas are true. $\endgroup$ – Steven Mar 14 '20 at 22:56
  • $\begingroup$ Hmmmm understood. Previously I was thinking they used some kind of simplification to derive the second formula. Thanks. $\endgroup$ – Abhirup Bakshi Mar 14 '20 at 23:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.