The XNOR circuit can also be made with INVERTERS, NAND, and NOR gates just like the XOR. In fact, the circuits are almost identical.
____
--------| \
____
|
| O------------| \
| --|____/
| O-- C
A --| B --| ____
---|____/
| --\
\ |\ |
|
) O--| O---
--------/____/ |/
___________________
_______ =======
C = ((A * B) * (A + B)) [given formula]
___________________
_______
C = ((A * B) * (A + B)) [A = A {double
negative}]
======= _______
_______ _ _
C = (A * B) + (A + B) [DeMorgan
(A * B) = A + B]
_______ =
C = (A * B) + (A + B) [A =
A {double negative}]
_ _
_______ _ _
C = (A * B) + (A * B) [DeMorgan
(A + B) = A * B]
This formula simplifies much easier then the XOR one did. For the XNOR function to be true, both A and B must be false or both A and B must be true. For the XOR function, these conditions are when the output is false. Literally, the XNOR is simply an inverted XOR.
_________________
_
_
C = (A * B) + (B * A) [given formula,
XNOR is an
inverted XOR]
_______ _______
_
_
_______ _ _
C = (A * B) * (B * A) [DeMorgan
(A + B) = A * B]
_
_
_______ _ _
C = (A + B) * (B + A) [DeMorgan
(A * B) = A + B]
_
_ _
C = ((A + B) * B) + ((A + B) * A)
[A * (B + C) = (A * B) + (A * C)]
_ _
_ _
C = ((B * A) + (B * B)) + ((A * A) + (A * B))
[A * (B + C) = (A * B) + (A * C)]
_ _
_
C = ((B * A) + 0) + ((A * B) + 0)
[A * A = 0]
_ _
C = (B * A) + (A * B)
[0 + A = A]
This alternative formula simplifies into the same equation. Remember the pass gate version of the XNOR gate.
__________
|
|
|
_O_
|
---
| |\ _|
|_
_/|\_| O_|
|___
| | |/ |_
_| |
| |
|___| |
| |
--- |
| | |\ |
|
| |--| O-----|
|--- C
A _| | |/ |
|
| |
_O_ |
| |
--- |
| | _|
|_ |
|_/|\_____| |___|
|
|_ _|
|
|___|
|
---
B ____|__________|
With pass gates, each path can be seen in the circuit. When B is true, the bottom set of pass gates are on. The signal passed is A. However, when B is false the top set passes inverted A.