XOR using NAND gates
The formula for the solution, only using x and y as inputs:
((x NAND y) NAND ((x NAND x) NAND (y NAND y))) NAND ((x NAND y) NAND ((x NAND x) NAND (y NAND y)))
In order to solve my problem, first I constructed the simpler AND and OR gates using NAND:
x OR y = (x NAND x) NAND (y NAND y)
x AND y = (x NAND y) NAND (x NAND y)
Since I've never really done this before, the above was just done by playing around.
Second, I looked at the truth tables of x NAND y and x OR y and realized that AND'ing them together would produce an XOR:
x XOR y = (x NAND y) AND (x OR y)
From there it was just substitution to get the answer, which involves 6 NAND gates:
a = x NAND y
b = x NAND x
c = y NAND y
d = b NAND c
e = a NAND d
f = e NAND e
The output from f is the solution.
Anthony Mills
Tuesday, February 24, 2004
(x NAND (x NAND y)) NAND (y NAND (x NAND y))
If you actually draw the gates you only need four, x NAND y is used twice.
digitalis
Friday, February 27, 2004
What about "NAND using XOR gates" ? Any ideas?
bombel
Monday, March 15, 2004
The NAND gate is universal (you can construct every logic gate using only NAND gates), but the XOR gate is not. So you can't construct a NAND gate using XOR gates (otherwise the XOR gate would be universal, which it isn't).
My solution to the problem is much more complicated, unfortunately:
(((A NAND 1) NAND (B NAND 1)) NAND (A NAND B)) NAND 1
requires 6 NAND gates. But I'm glad that I was able to do it at all.
Vigor
Friday, April 09, 2004
http://www.playhookey.com/digital/xor_function.html
see it exaplained there
Carl
Wednesday, May 05, 2004
Recent Topics
Fog Creek Home
