カルノー図におけるドントケアセルの理解
これまで、すべての入力組み合わせが完全に指定されたロジック簡略化問題を扱ってきました。例えば3変数真理値表は2^3 = 8エントリを持ち、対応するカルノー図は完全に埋められます。
しかし現実の多くのアプリケーションでは、すべての入力を定義する必要はありません。一部の組み合わせは決して発生せず、それらの「不可能」な状態の出力は無関係です。これらをドントケア条件と呼びます。
例えば、4ビットで符号化された2進化十進(BCD)数を扱う場合、有効コードは0000〜1001(十進0〜9)のみです。1010〜1111の6パターンは16進数A〜Fに対応し、決して使用されません。したがって、これら6パターンをドントケアとしてマークし、真理値表やカルノー図で空白にできます。
ドントケアセル
カルノー図では、ドントケアセルをアスタリスク(*)で表し、グループ化時に0または1として扱うか、単に無視できます。これを利用するとより大きなグループ形成が可能になり、よりシンプルなブール式が導かれることがよくあります。
全体のロジック複雑性を減らす場合のみ、ドントケアをグループに含めます。すべてのドントケアセルを使用する義務はありません。

入力ABC = 101で出力1、000〜101の間の他入力は無関係な関数を考えます。110と111をドントケアとしてマークします。3つの異なる簡略化式が導けます:
- ドントケア不使用:Out = AB'C。
- ドントケアを含めてペア形成:Out = AC。
- ドントケアを使ってゼロの4セルグループ形成:これも Out = AC。
これらの例は、ドントケアセルを1または0として扱い、よりシンプルな式をもたらす方を選べることを示します。

実用的応用として、地元科学館の自転車展示用ランプロジック設計に取り組みます。
ライダーが速く漕ぐと、小型DC発電機が速度に比例した電圧を生成。これはタコメータボードに入力され、信号が制限されて、下流のアナログ-デジタル(A/D)コンバータが最高2つの3ビットコード(110, 111)を出力しないようにします。コンバータは以下のコードのいずれかを出力:000(静止)、001, 010, 011, 100, 101。
5つのランプ(L1〜L5)でバー表示を構成。点灯パターン:
- 000 – ランプ点灯なし。
- 001 – L1点灯。
- 010 – L1, L2点灯。
- 011 – L1, L2, L3点灯。
- 100 – L1, L2, L3, L4点灯。
- 101 – 全5ランプ点灯。
コード110, 111は発生しないためドントケアとして扱います。各ランプのカルノー図を作成:000状態を0、適切な点灯状態を1、110と111を*とします。

例えばL5はABC=101のみで点灯。そのマップは該当セルに単一の1、他は0。L4は100と101で点灯なので、それら2セルに1。L3は011, 100, 101;L2は010, 011, 100, 101;L1は000以外すべてで点灯。
1をグループ化し、有益な場合ドントケアを活用することで、各ランプのブール式が劇的に簡略化されます。特にL4の式は単純にA(最上位ビット)に還元され、ロジックゲートが不要になります。他のランプも複雑さが低減されます。

上図のゲート図は、5つの最小化式をオープンコレクタインバータ(74シリーズ7406)に接続し、LEDを駆動します。L1出力は (A + B) と C を組み合わせる2入力ORゲートを用い、論理和 A + B + C を生成。
オープンコレクタ出力は外部負荷に電流を流せるためLEDドライバに最適。インバータのいずれかがアクティブハイになると出力がロウになり、電流制限抵抗を介してLEDに電流が流れます。この展示のLEDが120VACランプを駆動するソリッドステートリレーの一部である可能性もありますが、その回路は本ロジック設計の範囲外です。
関連ワークシート
- デジタル表示回路ワークシート
- カルノー図ワークシート
産業技術