Skip to content
BetterDL

Don't-care condition

Also called: don't care, don't-care, don't cares, don't-care term, don't-care condition, d notation, X in a truth table

An input combination whose output doesn't matter, usually because it never occurs. It may be treated as 0 or 1, whichever simplifies the circuit.

A don't-care is a row of the truth table whose output nobody will ever see, so you are free to choose it. It is written X in a truth table and listed with d(…) in the notation: F = Σm(1s) + d(don't-cares).

Where they come from:

  • Unused codes. A BCD digit uses 0–9, so codes 10–15 never arrive.
  • Impossible inputs. Two sensors that can never both be 1.
  • Unused states in a state machine.

How to use them. Each don't-care may be treated as 1 or as 0, independently, whichever gives the cheaper expression. Treat it as 1 only when that lets a group of 1s grow bigger. Otherwise leave it as 0 and ignore it. You never have to cover a don't-care.

Once you choose, the circuit is fixed: if your expression is 1 on a don't-care row, the hardware really outputs 1 there.

In product form, list only the required 0s in ΠM, and keep the don't-cares separate: F = ΠM(…) · d(…). The 1s, 0s and don't-cares never overlap and together cover every row; see on set and off set. A function with don't-cares is an incompletely specified function.

A\BC00011110
0
1m0
1m1
0m3
0m2
1
Xm4
Xm5
0m7
0m6

Worked examples

Example

Using don't-cares to simplify

F(A, B, C) = Σm(0, 1) + d(4, 5). Find the simplest expression.

  1. 1.

    Without the don't-cares: rows 0 and 1 combine to , 2 literals.

  2. 2.

    Treat rows 4 and 5 as 1s: rows 0, 1, 4, 5 form the pattern -0-, which is .

  3. 3.

    is 0 on rows 2, 3, 6 and 7, the required 0s. ✓

  4. 4.

    F = , 1 literal. The circuit will output 1 on rows 4 and 5, and that is allowed.

Example

Converting to product form

Write F(A, B, C) = Σm(0, 1) + d(4, 5) in ΠM form.

  1. 1.

    Rows 0–7. The 1s are {0, 1} and the don't-cares are {4, 5}.

  2. 2.

    The required 0s are what is left: {2, 3, 6, 7}.

  3. 3.

    F = ΠM(2, 3, 6, 7) · d(4, 5).

  4. 4.

    Putting 4 and 5 into the ΠM list would wrongly force them to 0.

Common mistakes

  • Treating every don't-care as a required 1 and adding terms just to cover it.

  • Putting don't-cares in the ΠM list when converting, which forces them to 0.

  • Thinking the circuit outputs X on don't-care rows. It outputs whatever your chosen expression gives.

Practice Don't-care condition

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Don't-care condition is taught in Boolean Simplification and Karnaugh Maps.