
Don't-Care Conditions
Input combinations that never occur — free to assign 0 or 1 to simplify more.
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
| Symbol | Meaning | Must be covered? |
|---|---|---|
| 1 | output is 1 | yes |
| 0 | output is 0 | no (kept out) |
| × | don't-care | optional |
Cycle cells to × and watch the cover shrink
▶ live simulatorClick a cell to cycle 0 → 1 → don't-care (×). Minimized SOP updates live.
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | ||||
| 01 | ||||
| 11 | ||||
| 10 |
3 prime implicants · verified by Quine–McCluskey
The 5 Whys
- 1
Why exploit don't-cares? To make groups larger and logic smaller.
- 2
Why are some inputs don't-cares? They never occur in the real system.
- 3
Why does grouping help? Larger groups cancel more variables.
- 4
Why not always set ×=1? Only set it where it actually enlarges a group.
- 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.