Don't-care term

From Wikipedia, the free encyclopedia
  (Redirected from Don't cares)
Jump to: navigation, search
Don't⋅care terms chosen to get minimal circuit
dc\ba 00 01 11 10
00 1 0 0 1
01 0 0 0 1
11 0 0 0 1
10 1 0 0 1
Karnaugh map for lower left segment
dc\ba 00 01 11 10
00 1 0 0 1
01 0 0 0 1
11 x x x x
10 1 0 x x
Digits in 7-segment display
dc\ba 00 01 11 10
00 Dígito c0.svg Dígito c1.svg Dígito c3.svg Dígito c2.svg
01 Dígito c4.svg Dígito c5.svg Dígito c7.svg Dígito c6.svg
10 Dígito c8.svg Dígito c9.svg

In digital logic, a don't-care term for a function is an input-sequence (a series of bits) for which the function output does not matter. An input that is known never to occur is a can't-happen term. Both these types of conditions are treated the same way in logic design and may be referred to collectively as don't-care conditions for brevity.[1] The designer of a logic circuit to implement the function need not care about such inputs, but can choose the circuit's output arbitrarily, usually such that the simplest circuit results (minimization). Examples of don't-care terms are the binary values 1010 through 1111 (10 through 15 in decimal) for a function that takes a binary-coded decimal (BCD) value, because a BCD value never takes on such values (so called pseudo-tetrades); in the pictures, the circuit computing the lower left bar of a 7-segment display can be minimized to a b + a c by an appropriate choice of circuit outputs for dcba=1010...1111.

Don't-care terms are important to consider in minimizing logic circuit design, using Karnaugh maps and the Quine–McCluskey algorithm. Don't care optimization can also be used in the development of highly size-optimized assembly or machine code taking advantage of side effects.[citation needed]

X value[edit]

"Don't care" may also refer to an unknown value in a multi-valued logic system, in which case it may also be called an X value. In the Verilog hardware description language such values are denoted by the letter "X". In the VHDL hardware description language such values are denoted (in the standard logic package) by the letter "X" (forced unknown) or the letter "W" (weak unknown).[2]

An X value does not exist in hardware. In simulation, an X value can result from two or more sources driving a signal simultaneously, or the stable output of a flip-flop (electronics) not having been reached. In synthesized hardware, however, the actual value of such a signal will be either 0 or 1, but will not be determinable from the circuit's inputs.[2]

See also[edit]


  1. ^ J.A. Strong, Basic Digital Electronics, pp. 28-29, Springer, 2013 ISBN 940113118X.
  2. ^ a b David Naylor and Simon Jones (1997). Vhdl: A Logic Synthesis Approach. Springer. pp. 14–15,219,221. ISBN 0-412-61650-5.