The task is to implement a Boolean function using NOR gates only. After minimization what I end up with is the following equation:
$$f(a,b,c,d) = {\overline {b} \overline {c}} + {a \overline {c}} + {c \overline {d}} $$
I tried to do something like this:
$$f(a,b,c,d) = \overline{\overline{\overline {b} \overline {c}}} + \overline{\overline{a \overline {c}}} + \overline{\overline{c \overline {d}}} $$ using De Morgan's Laws:
$$f(a,b,c,d) = \overline{b+c} + \overline{\overline{a} +c} + \overline{\overline{c} +d} $$
Textbook solution suggested to deduce the minimized CNF form and transform it a bit: enter image description here
I wanted to find out is my solution any good, but Logic Friday created two different truth tables for the two expressions:
What interests me is where did I go wrong in my solution? Do we generally must use CNF to get to the function with only NOR operations?
EDIT: The function is given by:
$$f(1)={1,2,6,9,10,13,14}$$ and $$f(*)={0,8,12}$$
For minimization I used a K-map.
2 Answers 2
Don't care conditions are greedy. Your answer will be different from the textbook.
$$\overline {\overline {X}} = X$$
So they have:
$$(\overline {c} + \overline {d})(c+d)(a+\overline {b}+\overline {d})$$
Double negation:
$$\overline{\overline{(\overline {c} + \overline {d})(c+d)(a+\overline {b}+\overline {d})}}$$
Take DeMorgan's on lower bar. $$\overline{\overline{(\overline {c} + \overline {d})}+\overline{(c+d)}+\overline{(a+\overline {b}+\overline {d})}}$$
All NOR gates.
You have:
$${\overline {b} \overline {c}} + {a \overline {c}} + {c \overline {d}} $$
AND - OR. Take DeMorgan's. $$(\overline{\overline {b} \overline {c}}) (\overline{a \overline {c}}) (\overline {c \overline {d}})$$
NAND - AND. Take DeMorgan's on terms. $$(b + c) (\overline{a} + c) (\overline {c}+ d)$$
OR - AND. Take DeMorgan's. $$\overline{\overline{(b + c)} + \overline{(\overline{a} + c)} + \overline{(\overline {c}+ d)}}$$
NOR - NOR.
Your answer is just as valid as the textbook because you used the Don't Cares in a different way.
Edit... The textbook solution is not minimal. They attempt to include all Don't Cares. This makes yours better (less gates/connections).
$$(\overline {c} + \overline {d})(a+\overline {b}+ c)$$ which makes the answer: $$\overline{\overline{(\overline {c} + \overline {d})}+\overline{(a+\overline {b}+c)}}$$
That should be equivalent to your answer, with Don't Care states.
When I input "evaluate (¬b&&¬c)||(a&&¬c)||(c&&¬d)" into WolframAlpha, it came back with the NOR minimal form:
(a↓¬b↓c)↓(¬c↓¬d)
where ¬ is logical NOT and ↓ is the NOR symbol (a.k.a. Peirce's arrow).
However I don't know the process the program used to come up with the answer. You might try writing out the truth table from their answer and see if that gives you any ideas.
If you're not able to use inverters, you can create those from NOR gates also.
3
can't be1
. It is neither inf(1)
nor inf(*)
. Updat: Oh, wait.. you tables are mixing up the variables order.. can you arrange them in the order matching the function definition? \$\endgroup\$