3入力多数決回路を完全攻略!真理値表からカルノー図・NAND化まで
大学や高専、情報系専門学校のディジタル論理回路の講義において、入門から実践への第一歩として必ず登場するのが「3入力多数決回路」です。「3つの入力のうち、2つ以上が1であれば出力を1にする」という極めて直感的なルールを持ちながら、ここには論理回路設計の根幹を成すエッセンスがぎっしり詰まっています。
しかし、実際のレポート課題や定期試験に直面すると、「真理値表からカルノー図への展開でミスをしてしまう」「ブール代数を用いた数式変形が合っているか不安」「NANDゲートだけで組む裏ワザの式変形が追えない」といった疑問を抱く学習者が後を絶ちません。本稿では、基本となる真理値表の読み解き方から、カルノー図による論理式の簡略化、MIL論理記号による回路図の描き方、さらには全加算器との関係やVerilog HDL記述まで、現場の視点を交えて分かりやすく解説します。
📌 【この記事の重要ポイントまとめ】
- 要点1:3入力多数決回路は、入力 $A, B, C$ のうち2つ以上が「1」のときに出力 $Y$ が「1」となる回路で、全加算器のキャリー出力と完全に一致する。
- 要点2:カルノー図で2マスずつのループを3つ作ることで、冗長な加法標準形から最小論理式「$Y = AB + BC + CA$」を導き出せる。
- 要点3:ド・モルガンの定理を適用すれば「2入力NANDゲート4個」だけで実装可能となり、実験実習でのブレッドボード配線やIC削減に役立つ。
【基本概念】3入力多数決回路とは?真理値表の作成ステップ
多数決回路(Majority Circuit)は、複数の入力信号のうち過半数がアクティブ(論理「1」)になった場合に、出力信号をアクティブ(論理「1」)にする論理回路です。入力が3つの場合、過半数は「2つ以上」となります。
入力変数を $A, B, C$、出力を $Y$ と置いた場合、入力パターンの総数は $2^3 = 8$ 通りです。まずは設計の土台となる3入力多数決回路の真理値表を整理してみましょう。
| 入力 A | 入力 B | 入力 C | 1の個数 | 出力 Y | 最小項 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | - |
| 0 | 0 | 1 | 1 | 0 | - |
| 0 | 1 | 0 | 1 | 0 | - |
| 0 | 1 | 1 | 2 | 1 | $\bar{A}BC$ |
| 1 | 0 | 0 | 1 | 0 | - |
| 1 | 0 | 1 | 2 | 1 | $A\bar{B}C$ |
| 1 | 1 | 0 | 2 | 1 | $AB\bar{C}$ |
| 1 | 1 | 1 | 3 | 1 | $ABC$ |
真理値表から出力 $Y=1$ となる行をそのまま抜き出して論理和(OR)で結ぶと、次の加法標準形(主加法項形式)が得られます。
$$Y = \bar{A}BC + A\bar{B}C + AB\bar{C} + ABC$$
この状態のまま回路を作ろうとすると、3入力ANDゲートが4個、4入力ORゲートが1個、さらに反転用のNOTゲートが3個必要になり、回路規模が非常に大きくなってしまいます。そこで必須となるのが論理式の簡略化です。
【論理式の簡略化】カルノー図とブール代数を駆使した最小化手順
論理式を最もシンプルな形に落とし込むには、視覚的に最小化を行える「カルノー図」の活用が鉄則です。3変数のカルノー図は、横軸に入力 $A$、縦軸に入力 $BC$(グレイコード順:00, 01, 11, 10)を配置して作成します。
| BC \ A | 0 | 1 |
|---|---|---|
| (出力 Y の値) | ||
| 00 | 0 | 0 |
| 01 | 0 | 1 |
| 11 | 1 | 1 |
| 10 | 1 | 0 |
カルノー図上で「1」が立っているマスに注目すると、隣接する2つのセルを3つのグループにまとめて囲むことができます。
- グループ1($BC$の共通項): $A=0, BC=11$ と $A=1, BC=11$ を囲む $\rightarrow$ $BC$
- グループ2($AB$の共通項): $A=1, BC=11$ と $A=1, BC=10$ を囲む $\rightarrow$ $AB$
- グループ3($CA$の共通項): $A=1, BC=01$ と $A=1, BC=11$ を囲む $\rightarrow$ $CA$
中央のセル($A=1, BC=11$)が3つのループすべてに重なる形で共有され、結果として導出される最小論理式は次のようになります。
$$Y = AB + BC + CA$$
なお、ブール代数の公式を用いて数式上で変形する場合も、同一項を複製できる同一則($X = X + X$)を利用して $ABC$ を3つに増やせば、同様に証明可能です。
$$Y = (\bar{A}BC + ABC) + (A\bar{B}C + ABC) + (AB\bar{C} + ABC)$$
$$Y = (\bar{A}+A)BC + A(\bar{B}+B)C + AB(\bar{C}+C) = BC + CA + AB$$
【回路図の作成】MIL論理記号を用いた基本構成と配線ルール
最小化された論理式 $Y = AB + BC + CA$ を、ディジタル回路図の標準規格であるMIL論理記号を使って描き起こします。この基本構成は「AND-OR 2段論理回路」と呼ばれます。
必要な論理素子は以下の通りです。
- 2入力ANDゲート:3個($AB, BC, CA$ の各論理積を計算)
- 3入力ORゲート:1個(3つの論理積の論理和を計算)
A ───┬───────────────┐ │ ┌───┐ │ B ───┼───┤AND├── AB ─┼─────┐ │ │ └───┘ │ │ │ └───┼─────┐ │ ┌────┐ │ │ ┌───┼───┘ │ │ │ │ │ ┌─┴─┐ │ OR ├───── Y C ───┴─────┼─┼─┤AND├── BC┤ │ │ │ └─┬─┘ │ │ │ └───┼─────┐ └────┘ └─────┼─┐ │ │ │ │ ┌─┴─┐ │ └─┼─┤AND├─┘ (CA) │ └───┘ └───────┘
回路図を清書する際の重要なポイントは、信号の流れを左から右へ統一すること、そして交差する配線において接続点(ジャンクション・ドット「●」)を明確に打つことです。接続点があいまいだと、実験実習や試験の採点で致命的な誤読を招く原因になります。
【実験課題の定番裏ワザ】NANDゲートのみで回路を構成するテクニック
学生実験やブレッドボード実習の現場で頻出する課題が、「NANDゲート(標準ロジックIC 74HC00など)だけを使って3入力多数決回路を作れ」という指定です。汎用ICの種類を減らしてコストと配線スペースを抑えるための王道テクニックですが、ここでつまずく人が少なくありません。
この変換には、回路設計の万能ツールであるド・モルガンの定理を用います。
$$Y = AB + BC + CA$$
式全体を二重否定(元の値と等しい)します。
$$Y = \overline{\overline{AB + BC + CA}}$$
内側の否定論理和(NOR)部分にド・モルガンの定理($\overline{X + Y + Z} = \bar{X} \cdot \bar{Y} \cdot \bar{Z}$)を適用します。
$$Y = \overline{ \overline{AB} \cdot \overline{BC} \cdot \overline{CA} }$$
この式変形により、回路構成は劇的に変化します。
- 入力 $A, B$ から $\overline{AB}$ を出力(2入力NANDゲート①)
- 入力 $B, C$ から $\overline{BC}$ を出力(2入力NANDゲート②)
- 入力 $C, A$ から $\overline{CA}$ を出力(2入力NANDゲート③)
- 上記3つの出力を入力とする「3入力NANDゲート」を通すことで、最終出力 $Y$ を得る
もし手元に「2入力NANDゲート(74HC00)」しかない場合でも、初段の論理積の作り方を工夫したり、余った素子をインバータとして組み合わせることで、ICわずか1〜2個の範囲でコンパクトに回路を完結させることが可能です。
【応用と発展】全加算器キャリー出力との一致&Verilog HDL記述例
3入力多数決論理は、単なるパズル的な例題ではありません。コンピュータの心臓部である算術論理演算装置(ALU)の中核、「全加算器(Full Adder)のキャリー(桁上げ)出力」と完全に同一の論理構造を持っています。
全加算器は、下位からの桁上げ入力 $C_{in}$ と2つの加算ビット $A, B$ の計3ビットを加算します。このとき「2つ以上の入力が1」であれば上位桁へのキャリー $C_{out} = 1$ が発生するため、キャリー生成論理は3入力多数決回路そのものなのです。
ハードウェア記述言語(HDL)を用いた設計においても、多数決回路は頻出します。FPGA開発などで用いられるVerilog HDLの記述例を見てみましょう。
module majority_voter ( input wire a, input wire b, input wire c, output wire y ); assign y = (a & b) | (b & c) | (c & a); endmodule
また、条件演算子を用いて「ビット加算の結果が2以上かどうか」を記述するスタイル(assign y = (a + b + c >= 2'd2);)もあり、論理合成ツールが自動的に最適な多数決ゲートへとマッピングしてくれます。
【論理回路 課題解説】テストやレポートで減点されないための重要チェックリスト
定期試験の答案や実験レポートで確実に満点を取るために、指導教員が厳しくチェックしている減点ポイントをまとめました。
- カルノー図のループ重複ミス: すべてのセルを囲もうとして、不要な4つ目のループを作っていませんか?最小化のルールは「すべての1を、できるだけ大きなグループで、最小限のループ数で覆うこと」です。
- MIL記号のバブル(○)の位置: NANDゲートを描く際、出力端の丸(負論理の反転記号)が抜け落ちてAND記号になっていないか確認してください。
- 数式変形の根拠の明記: ブール代数で式を簡略化する過程では、「同一則」「分配則」「補元則」など、適用した論理法則の根拠を1行添えるだけで答案の説得力が飛躍的に上がります。
- ブレッドボード実験時の未使用ピン処理: C-MOSロジックIC(74HCシリーズ等)を扱う場合、使っていないゲートの入力端子をオープン(浮き状態)にせず、GNDまたはVCCに固定(プルダウン/プルアップ)しているかを必ず確認しましょう。ノイズや異常発熱による誤動作を防ぐ基本作法です。
【3入力多数決回路】に関するよくある質問(FAQ)
Q1:4入力の多数決回路を作る場合、過半数はどう扱えばよいですか?
A1:4入力の場合、過半数は「3つ以上」となります。入力がちょうど2つの場合は「同数(引き分け)」となり、仕様によって出力を0にするか1にするかをあらかじめ決定(ドントケア処理など)した上で真理値表を作成します。
Q2:多数決回路は実際の電子機器やシステムでどのように使われていますか?
A2:航空宇宙分野や原子力発電所の制御システムなど、極めて高い信頼性が求められる現場で「三多重冗長化システム(TMR: Triple Modular Redundancy)」として実用されています。3つの独立したマイコンに同一の計算を行わせ、多数決回路を通すことで、仮に1つのマイコンが放射線などで誤作動してもシステム全体として正しい出力を維持します。
Q3:NANDゲートだけで組む場合、NOTゲート(反転器)を使わずに済みますか?
A3:はい、済みます。本稿で紹介したド・モルガンの変換式を使えば、入力信号そのものの反転($\bar{A}, \bar{B}, \bar{C}$)を個別に用意する必要がなく、各入力同士のNANDをとるだけで出力段まで直結できるため、部品点数を最小限に抑えられます。
まとめ:回路設計の基礎から実践力を身につけよう
3入力多数決回路は、真理値表の作成からカルノー図による最適化、MIL論理記号による図面化、さらにはNANDゲートを用いた等価変換まで、ディジタル論理設計の基礎手順が完璧に網羅された最良の題材です。
この一連の流れを自力で再現できるようになれば、全加算器の設計はもちろん、より複雑な論理制御やHDLを用いたFPGA設計にもスムーズに応用できます。まずは紙とペンを用意し、カルノー図のループを自らの手で囲んで最小論理式を導出することから試してみてください。 (出典: 3 入力 多数決 回路(Yahoo!ニュース))