20
$\begingroup$

How could I express an AND gate using only XOR gates ?

$\endgroup$
36
$\begingroup$

You cant.

Since $XOR$ is associative, i.e. $(x_1\oplus x_2)\oplus x_3=x_1\oplus(x_2\oplus x_3)$, you can only implement functions of the form $x_{i_1}\oplus...\oplus x_{i_k}$ where $x_{i_j}\in\{x_1,x_2\}$. This is equivalent to (depending on the parity of the number of instances of $x_1$ and $x_2$) either 0, $x_1$, $x_2$, or $x_1\oplus x_2$, which are not equivalent to AND.

$\endgroup$
  • 5
    $\begingroup$ You might want to allow 0 and 1 as inputs as well. You still will not get AND though, although you will get the negation of the above as well. $\endgroup$ – Taemyr Oct 29 '15 at 8:40
19
$\begingroup$

Hmmm. It can't be done with boolean algebra that's for sure, but I could wire one up physically. The trick is wiring one of the inputs to a power lead of an XOR gate.

                     I2
                     |
      0  I1          |
      |   |          |
     \|   |/         |
     |\   / |        |
.|---| \ /  |--------/
     \  V  /  
      \   /  
       \ /  
        V 
        |            
     AND OUTPUT

The XOR gate is wired up as a non inverting buffer. The trick involved is that if you wire VCC to GND (or by extension a logic ground), the output is a weak GND.

Disclaimer: this works on the silicon I have, but might not work on all silicon.

$\endgroup$
  • 8
    $\begingroup$ Some explanation of how this works would make this a much better answer. $\endgroup$ – David Richerby Oct 29 '15 at 8:59
  • $\begingroup$ Isn't the first gate redundant in this case? $\endgroup$ – Nit Oct 29 '15 at 13:35
  • 1
    $\begingroup$ What are these .|, |>? $\endgroup$ – Wojowu Oct 29 '15 at 14:17
  • 1
    $\begingroup$ @Wojowu ground and Vcc, I presume. $\endgroup$ – John Dvorak Oct 29 '15 at 14:27
  • 4
    $\begingroup$ "might not work on all silicon." ... yes, and might even damage some - applying an input to a physical gate with the power turned off, or even worse turning the power on afterwards, is out-of-spec for a lot of parts (re: CMOS latchup effect!). Also, the "true" output voltage of the first gate is lower than your supply voltage, and depending on how much lower it is, will shift interpretation of input levels at the second gate significantly. And it is not unlikely (protection diodes, complimentary output...) that I2 will be an effective short circuit to ground when lower gate is unpowered. $\endgroup$ – rackandboneman Oct 29 '15 at 15:48

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.