# How to construct XOR function using NORs?

Discussion in 'Electronic Basics' started by Rakesh Sharma, Sep 26, 2004.

1. ### Rakesh SharmaGuest

Hi,

How would I construct an XOR function using NOR gates ONLY? I have
tried breaking my head over it but haven't come up with a solution.

Rakesh

2. ### Ian StirlingGuest

Work out how to make other stuff.
Start out with an inverter.
Now, see if you can use this to make an and gate.

Now, go on to nand and ...

Now, you have the building blocks.
Start playing with them, and see how you can reduce the gate count
as much as possible.

3. ### Fred BloggsGuest

EXOR(A,B)=OR(AND(A,/B),AND(/A,B)) and since AND(X,Y)=NOR(/X,/Y) and
OR(X,Y)=NOT NOR(X,Y) you're done.

4. ### R. Steve WalzGuest

--------------------
These files comprise a complete course in Boolean transformations.
If you study them you can do anything.

ftp://ftp.armory.com/pub/user/rstevew/TUTS/
files: boolean & boolean2 and demorgan & demorgan2 -> .txt

or:
http://www.armory.com/~rstevew/Public/Tutor/Boolean/BooleanTut.txt
http://www.armory.com/~rstevew/Public/Tutor/Boolean/DeMorganTut.txt
http://www.armory.com/~rstevew/Public/Tutor/Boolean/XOR1.gif

http://www.armory.com/~rstevew/Public/Tutor/Boolean/XNOR1.gif
and add an inverter to the output.

-Steve

5. ### Geir KlemetsenGuest

This should work:

__
.------------|>=|
| |1 |o-------.
| .-|__| |
| __ | | __ __
A----o-|>=| | '-|>=| .------|>=|
|1 |o----| |1 |o-' |1 |o- X
B----o-|__| | .-|__| .---|__|
| | __ | |
| '-|>=| | |
| |1 |o-------' 0|
o------------|__|
created by Andy´s ASCII-Circuit v1.24.140803 Beta www.tech-chat.de

Must be viewed in fixed font.

6. ### Rich GriseGuest

Please don't do the kiddies' homework for them.

Thanks,
Rich

7. ### Michael BlackGuest

I've deliberately taken out the cross-posting.

You do realize that this sort of question is in all kinds of books. If
you don't have a source to look it up, you do lack a basic library that
everyone interested in electronics should have.

One could go to the public library if one's stuck for lack of books.

Likely a search of websites will turn it up.

Finally, the only real reason you would want to do this is for homework.
It's much simpler to get an exclusive-or gate than wire up other gates.
Michael

8. ### Tim WescottGuest

The last two months of Embedded Systems Programming
(http://www.embedded.com) has a nice column on Karnaugh maps and the
Quien-McClusky method -- look for Jack Crenshaw's math column.

9. ### AndybGuest

Why's everyone got such a downer on helping kids with homework? Sure, don't
do it for them, but a prod in the right direction is reasonable.

In my day <dons slippers><lights pipe> we'd have got extra marks for knowing
where to look for help on the Internet!

Andyb

10. ### WittGuest

All of the propositional functions can be expressed in terms of 'nor',
(or in terms of 'nand')

If 'nor' is primitive:

1. not(p) =df (p nor p)
2. (p or q) =df not(p nor q)
3. (p and q) =df not(not(p) or not(q))
4. (p nand q) =df not(p and q)
5. (p only if q) =df (not(p) or q)
6. (p if q) =df (p or not(q))
7. (p if and only if q) =df (p if q) and (p only if q)
8. (p xor q) =df not(p if and only if q).

1a. ~p <-> (p nor p)
2a. (p v q) <-> ~(p nor q)
3a. (p & q) <-> ~(~p v ~q)
4a. (p nand q) <-> ~(p & q)
5a. (p -> q) <-> (~p v q)
6a. (p <- q) <-> (p v ~q)
7a. (p <-> q) <-> ((p <- q) & (p -> q))
8a. (p xor q) <-> ~(p <-> q).

etc.