Logo
All chapters
Volume II: Digital Logic  ›  Gate-Level Minimization

Don't-Care Conditions

Input combinations that never occur — free to assign 0 or 1 to simplify more.

PrevProduct-of-Sums Simplification
NextNAND & NOR Implementation

Description

Outputs that are unspecified because their input combinations cannot happen. Freedom to choose their value lets groups grow, simplifying the logic further. Treat each × as 0 or 1 to form the largest beneficial groups; ignore the rest.

  • Include a × in a group only if it helps enlarge that group.
  • Never add a group solely to cover ×s — they need no coverage.
  • What: Outputs that are unspecified because their input combinations cannot happen.
  • Why: Freedom to choose their value lets groups grow, simplifying the logic further.
  • How: Treat each × as 0 or 1 to form the largest beneficial groups; ignore the rest.
  • Where: BCD logic (codes 10–15 unused), one-hot decoders, many control circuits.
  • When: Whenever certain input patterns are guaranteed never to occur.
  • Analogy — Don't-cares are like blank tiles in Scrabble: you make each one whatever letter helps your word (group) the most — but you're never forced to play them.

At a glance

What

Outputs that are unspecified because their input combinations cannot happen.

Why

Freedom to choose their value lets groups grow, simplifying the logic further.

How

Treat each × as 0 or 1 to form the largest beneficial groups; ignore the rest.

Where

BCD logic (codes 10–15 unused), one-hot decoders, many control circuits.

When

Whenever certain input patterns are guaranteed never to occur.

Think of it like…

Don't-cares are like blank tiles in Scrabble: you make each one whatever letter helps your word (group) the most — but you're never forced to play them.

Using don't-cares

  • Include a × in a group only if it helps enlarge that group.
  • Never add a group solely to cover ×s — they need no coverage.

Cell types in a K-map

SymbolMeaningMust be covered?
1output is 1yes
0output is 0no (kept out)
×don't-careoptional

Cycle cells to × and watch the cover shrink

▶ live simulator

Click a cell to cycle 0 → 1 → don't-care (×). Minimized SOP updates live.

CD →
AB ↓
00011110
00
01
11
10
F = C' + A'D' + BD'

3 prime implicants · verified by Quine–McCluskey

The 5 Whys

  1. 1

    Why exploit don't-cares? To make groups larger and logic smaller.

  2. 2

    Why are some inputs don't-cares? They never occur in the real system.

  3. 3

    Why does grouping help? Larger groups cancel more variables.

  4. 4

    Why not always set ×=1? Only set it where it actually enlarges a group.

  5. 5

    Root cause: unused input space is free optimization headroom.

Cheat sheet

Working principle

  • Treat each × as 0 or 1 to form the largest beneficial groups; ignore the rest.
  • Outputs that are unspecified because their input combinations cannot happen.

Key facts

  • Include a × in a group only if it helps enlarge that group.

Why it exists

  • Root cause: unused input space is free optimization headroom.
PrevProduct-of-Sums Simplification
NextNAND & NOR Implementation