My question is theoretical in it's essence, so it may be closed as being too broad.

The situation

Suppose that a logic expression (to simplify let's say 2 parameters, \$a\$ and \$b\$, and a result) only makes sense for some combination of the parameters.

There is then \$ 2^n\$ possible, non equivalent expressions satisfying the truth table (Each having a different set of results for the forbidden value(s)).

The question

Assuming no difference of operation in the domain of definition whatsoever (such as propagation delay, price/availability of the parts, etc...), and assuming that a result of 1 corresponds to doing something and 0 to not do it (Active high signal). Which expression to choose ?

  • 1
    \$\begingroup\$ You are referring to the "don't care values". We love these in logic design because they help us minimize functions. So you chose these which are leading to the most optimal design. That's it. The last paragraph seem to be somewhat disconnected from the "theoretical" part, and makes a little sense without a context. \$\endgroup\$
    – Eugene Sh.
    Commented Nov 28, 2017 at 22:17
  • \$\begingroup\$ I know, and saw that those are indeed very handy. Which is why the first paragraph of the second part begins by "Assuming no difference of operation in the domain of definition whatsoever". What felt disconnected in the last paragraph ? I felt like clarifying that the question is between theorical perfectly identical solutions in normal operations, and stating the kind of stuff I watch out to (really rare and unpredictable events). Was I unclear ? And if so, how could I fix that ? \$\endgroup\$ Commented Nov 28, 2017 at 22:19
  • \$\begingroup\$ The last paragraph is probably talking about some very specific application. 0 is an "ignore" approach? Why is that? How 0 is different from 1 except it's logical value? "Facilitates debugging" - what? "Solar ray" ? Are you talking about "cosmic rays" bit flipping? These are theoretically applicable for some memories only. But you are not talking about memories here. \$\endgroup\$
    – Eugene Sh.
    Commented Nov 28, 2017 at 22:28
  • \$\begingroup\$ Did I make point clearer ? Sorry if I didn't. \$\endgroup\$ Commented Nov 28, 2017 at 22:30
  • \$\begingroup\$ Narrower, yes. For this question - if the system is defined properly, and there is a probability that the illegal sequence will occur you have to define it explicitly (effectively making it "legal") to lead to the least harmful outcome. \$\endgroup\$
    – Eugene Sh.
    Commented Nov 28, 2017 at 22:34

1 Answer 1


In logic design we usually define such an "illegal" combination as a "don't care" combinations, meaning that the implementation might choose any behavior (output) when such an input is seen. Such an approach allows to come up with most optimal design for the "legal" inputs.
That's fine if we assume the "illegal" input won't happen, or if it will happen but there is nothing bad could be caused by the possible behavior/output of the system. But if we know that the illegal combination can happen with a non-negligible probability and a possible output can cause some harm, or just unwanted - it means that this combination is not really a "don't care" but a combination that has to be taken in account and a specific behavior has to be defined for it. Which is effectively making it into an "legal" input with a specific output.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.