The equations for AND, OR using only the NOR operator

Thread Starter

icelated

Joined Oct 15, 2010
12
A set of logic gates is called "functionally complete" if some combination of the gates can be used to do each of the basic logic operations AND, OR, and NOT. The claim is the NAND gate is functionally complete. Similarly, the NOR gate is functionally complete. Given two variables, X and Y using only NAND gates, Logic 0 and Logic 1 inputs give the logic equation using just NAND operators to produce the NOT, AND and OR functions.

The equations using the NAND operator are:

Rich (BB code):
X' = X NAND 1 
 X + Y = x' NAND y'   ???
 X * Y =  (x NAND y)' ?????
The equations for AND, OR and NOT using only the NOR operator are:

Rich (BB code):
X' = X NOR 0 ?????
X + Y = (X NOR Y) NOR 0
X * Y = ?
Can someone see if those are right?
Can someone work out x + y OR x * y for the NOR operator on a truth table for me?
 

Georacer

Joined Nov 25, 2009
5,182
I always thought that you need both NAND and NOR or AND and OR to express an arbitrary logic funtion. Seems I am wrong. All your equations are correct.

\(X\cdot Y=\bar{\bar{X\cdot Y}}=\bar{X'+Y'}=(X NOR 0) NOR (Y NOR 0)\)

I just formated my PC and I haven't any circuit design software to do the schematic for you, so I 'll try to explain.

An OR gate with a NOT in both inputs is equivalent to a NAND.
An AND gate with a NOT in both inputs is equivalent to a NOR.
An OR gate with a NOT in its output is equivalent to a NOR.
An AND gate with a NOT in its output is equivalent to a NAND.

So, design your (X+Y)OR(XY) circuit with OR and AND gates. Put 2 NOT gates between the ouputs of the 1st level gates and the input of the 2nd level OR. Now merge the NOTs with the existing gates as I told you. You get exactly what you want.

This is a convenient way to convert to NOR and NAND, even easier than Boolean conversions.
 

Thread Starter

icelated

Joined Oct 15, 2010
12
Thank you for responding.. I am a little hazy with combining truth tables.To convert from
Rich (BB code):
X * Y = to a NOR gate
would i just combine a AND, OR, and a NOR gate and play with the
inputs?

like

Rich (BB code):
|x  | y |  x and y | x OR y | x NOR y |
|---------------------------------- --|
|0 |  0 |    0   |    0     |   1
---------------------------------------
|
something like that? and try yo get the output of the AND to match the output of the NOR output?
 

Georacer

Joined Nov 25, 2009
5,182
If you want to do it with the graphical way I told you about, all you have to do is use an AND to to X and Y inputs and insert 2 NOT gates between each variable and the AND input. That way, you can merge 2 NOTs with the AND and get the NOR. The final configuration will be:

X->NOT->(input 1 of the NOR gate)
Y->NOT->(input 2 of the NOR gate)

If you don't want to use NOT gates at all, replace them with NOR gates, as you did in your first post.

The Boolean operations way is more complicated and requires proficiency with Boolean algebra and a bit of insight. I don't recommend it for learners.
 

Georacer

Joined Nov 25, 2009
5,182
Now, that's the definition of the impossible.

You see, NOR is a funtion that has 2 input arguments and 1 output argument. Otherwise said NOR(x,y)=z.
NOT has 1 input argument and 1 output argument, NOT(x)=y.

Mathematicaly, you cannot simulate NOR with NOT because NOR's Range of definition isn't a subset of NOT's Range of definition.

Simply put, how do you expect NOT, which "sees" only one input, to be able to behave as a NOR, which "sees" two inputs?
 

Thread Starter

icelated

Joined Oct 15, 2010
12
"So, design your (X+Y)OR(XY) circuit with OR and AND gates. Put 2 NOT gates between the ouputs of the 1st level gates and the input of the 2nd level OR. Now merge the NOTs with the existing gates as I told you. You get exactly what you want."

something like this?
Rich (BB code):
 x+ y equivalent to NAND

|x  | y |  x and y |  | x OR y | 
|----------------------------
| 0 |  0 |    0   |     0

the output from the first x and y need to match the second table NAND output?
second table

|x'  | y' | x'NAND y'  | 
|-----------------------
 |1 | 1 | 1  |
"Put 2 NOT gates between the ouputs of the 1st level gates and the input of the 2nd level OR"

Would i just NOT the x and y from the inputs? or do i not see any x y outputs i can NOT?
 

Thread Starter

icelated

Joined Oct 15, 2010
12
I am trying to follow your formula
An OR gate with a NOT in both inputs is equivalent to a NAND.
An AND gate with a NOT in both inputs is equivalent to a NOR.
An OR gate with a NOT in its output is equivalent to a NOR.
An AND gate with a NOT in its output is equivalent to a NAND.

"An OR gate with a NOT in its output is equivalent to a NOR."
How can i use a NOT in the outputs? can you give me an example using a truth table?
 

Georacer

Joined Nov 25, 2009
5,182
Oh, what you wanted to say is how can we make a NOT out of a NOR, not vice versa.
By the way, I cannot make heads or tails out of your coded text. To make a complete truth table, you have to fill it with all possible permutations of your inputs. If your inputs are x and y, the truth table should have 4 rows. Read more about truth tables.
A truth table of the expression f=(x + y) OR (x * y) will be exactly the same, no matter what gates you use to materialize it.

I 'll show you how to solve your problem of using only a NOR or a NAND gate, but you need to learn yourself how to setup a truth table.

Take a look at this picture:

Notice that the NOT gate (Figure A) and the dot (Figure B) are in all aspects equal.

In order to convert a OR/AND configuration to a NOR/NAND one you do the following steps:


  • You set up the OR/AND ciruit (Figure C).
  • You put a dot in every gate output of the first level (the left row), and a dot at every gate input at the second level (the right row). In a single signal line there must be two dots. That is because two NOT gates will not affect the signal (Figure D).
  • Merge the NOT gates into the OR/AND gates as I instructed:
  • An OR gate with a NOT in both inputs is equivalent to a NAND.
    An AND gate with a NOT in both inputs is equivalent to a NOR.
    An OR gate with a NOT in its output is equivalent to a NOR.
    An AND gate with a NOT in its output is equivalent to a NAND.
The result is in Figure E
 

Attachments

zgozvrm

Joined Oct 24, 2009
115
well, if theres no definition how could i get this done?

NOT using only the NOR operator are:

X' = ?
NOT can be made with an NOR gate (X = A NOR A), or with a NAND gate (X = A NAND A).

In other words, 1 NOR 1 = 0, 0 NOR 0 = 1, 1 NAND 1 = 0, and 0 NAND 0 = 1
 

zgozvrm

Joined Oct 24, 2009
115
Thank you for responding.. I am a little hazy with combining truth tables.To convert from
Rich (BB code):
X * Y = to a NOR gate
would i just combine a AND, OR, and a NOR gate and play with the
inputs?
Here's how I look at it:

NOR is defined as (A + B)'
Since A = (A')' we can convert X * Y to (X')' * (Y')'
Since (A + B)' = A' * B' we get (X')' * (Y')' = (X' + Y')'
Since A' = (A + A)' we get (X' + Y')' = [(X + X)' + (Y + Y)']'

So you have X NOR'd with itself and Y NOR'd with itself, both NOR'd together.
 

Georacer

Joined Nov 25, 2009
5,182
NOT can be made with an NOR gate (X = A NOR A), or with a NAND gate (X = A NAND A).

In other words, 1 NOR 1 = 0, 0 NOR 0 = 1, 1 NAND 1 = 0, and 0 NAND 0 = 1
The above is true, but so are the OP's statements on using NAND and NOR gates to make a NOT gate.
 
Top