下記の論理関数を論理回路で表すことを考える。それぞれ2入力NANDのみ、NORのみを用いて示せ。
(1)
(2)
はじめに
論理関数を論理回路で表す問題は、様々な大学の院試での頻出分野となります。
AND、OR、NOTなどの素子が与えられていれば、論理式をそのまま回路に落とし込むだけで良いですが、院試レベルとなるとそうもいきません。
NANDのみ、NORのみの使用で表記を求められることが多いです。
本記事では、解法の定石をまとめました。問題形式で学べますので、是非知識のチェックに役立てて下されば幸いです。
解法の手順
- 与えられた論理式を確認し、NAND
、NOR で表せない項を確認する。(AND、ORなど) - ドモルガン律を用いて、論理式をNAND/NORのみで表せる形に変形していく。
- NANDのみで表す場合:
NOT→NAND:
AND→NAND:
OR→NAND: - NORのみで表す場合:
NOT→NOR:
AND→NOR:
OR→NOR:
- NANDのみで表す場合:
下記の図で表すことができます。


ドモルガン律の活用がキーになります。
以前の記事で説明したように、NAND/NORは完全系です。(任意の論理関数をNAND/NORのみで表すことができます)
NANDはそのままの形だとOR回路を持たないですが、ドモルガン律を用いることで、+演算子が出てきてORを表現できます。
NORは逆です。AND回路を持たないですが、同じくドモルガン律を用いることで、・AND演算子が出てきます。
このように、NAND/NORはNOT、AND、ORを持ちます。
なお、チェックボックスの変形には、べき等律
例えば、OR→NANDの変換の途中式は下記のようになります。
この性質を用いて、与えられた問いを解答していきます。
解答例
(1) (2入力NANDのみを用いて表せ。)
x=NOT(NOT(x))の関係を利用し、下記のように式変形する。
(2)式の最後より、2入力NANDを6個使用し、下記の論理回路を実装できる。

(2) (2入力NORのみを用いて示せ。)
同じく、x=NOT(NOT(x))の関係を利用し、下記のように式変形する。
このように、NOR回路4つを用いて下記の論理回路を実装できる。

最後に
院試で論理回路を出題するときは、下記の順番で問われることが多いです。
- 問題文で与えられた論理関数に対する真理値表を作成する。
- カルノー図などを用い、論理関数の積和最簡形を求める。
- 論理関数を論理回路として表す。 ←本記事の紹介部分
本問の内容まで理解できれば、完答を狙うことができます。
得点源にするため、是非内容をマスターしましょう。