Is there any way to simplify a combination of XOR and XNOR gates in the following expression? I have tried multiple boolean theorems and I have not been able to simplify this any further:
The simplified version is XOR(A,B)*XNOR(C,D) + XOR(C,D)*XNOR(A,B)
The actual expression is: (A'B + AB')(CD + C'D') + (AB + A'B')(C'D + CD')
According to my lab, this expression can be simplified, but I don't know where to start.
I guess you could look at each element, such as (A'B + AB') as a single variable, such as X and then the equation would be XY' + X'Y, but I still don't see how to simplify that.
4 Answers
$\begingroup$You're on the right track. Note that $X\bar Y + \bar X Y$ is exactly $X\oplus Y$ (where $\oplus$ is XOR), so you can simplify to $$ (A\oplus B) \oplus (C\oplus D)$$ Since $\oplus$ is associative and commutative, this simplifies further to $$ A\oplus B\oplus C\oplus D $$ which is particularly nice because it's a linear function of the inputs in the associated Boolean ring (whose multiplication is conjunction and addition is $\oplus$).
$\endgroup$ 3 $\begingroup$The definition (xor, xnor) of XOR(A,B)is A'B + AB' and of XNOR(C,D) is CD+C'D'. So XOR(A,B)*XNOR(C,D) + XOR(C,D)*XNOR(A,B) is a direct translation of (A'B + AB')(CD + C'D') + (AB + A'B')(C'D + CD').
In plain boolean algebra: XOR = (a || b) && !(a && b)
$\endgroup$ $\begingroup$Keep in mind that XNOR is "XOR NOT" and as stated above: AB'+ A'B = A XOR B, AB + A'B' = A XNOR B = (A XOR B)'
So, the steps for (A'B + AB')(CD + C'D') + (AB + A'B')(C'D + CD')
= (A XOR B)(C XNOR D) + (A XNOR B)(C XOR D) = (A XOR B)(C XOR D)' + (A XOR B)'(C XOR D) = (A XOR B) XOR (C XOR D) = A XOR B XOR C XOR D $\endgroup$