2
\$\begingroup\$

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:

enter image description here

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.

asked Dec 14, 2015 at 18:56
\$\endgroup\$
6
  • \$\begingroup\$ the truth tables are incomplete. Are they displaying the positive rows only? \$\endgroup\$ Commented Dec 14, 2015 at 19:39
  • \$\begingroup\$ Also I see some don't-cares in the k-map, which I don't understand how derived from the function you are giving. It looks like you are not telling us everything. \$\endgroup\$ Commented Dec 14, 2015 at 19:42
  • \$\begingroup\$ @EugeneSh. I edited the post. I thought that the original truth table can be deduced from the K-map above. The way I usually do that is by considering all the values that are not * or 0 to be 1. I made a K-map with 1 in those fields and did the minimization. \$\endgroup\$ Commented Dec 14, 2015 at 19:58
  • \$\begingroup\$ so your function is incorrect. Row 3 can't be 1. It is neither in f(1) nor in f(*). Updat: Oh, wait.. you tables are mixing up the variables order.. can you arrange them in the order matching the function definition? \$\endgroup\$ Commented Dec 14, 2015 at 19:59
  • \$\begingroup\$ I used WolframAlpha this time and it turns out that my solution as well as the textbook solution both create truth tables that match the truth table the function was defined with. Thank you so much for your input and pointing out that variable order was mixed up. How can I award your comment as the best answer? \$\endgroup\$ Commented Dec 14, 2015 at 20:32

2 Answers 2

1
\$\begingroup\$

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.

answered Dec 15, 2015 at 13:39
\$\endgroup\$
2
\$\begingroup\$

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.

answered Dec 14, 2015 at 19:31
\$\endgroup\$

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.