プロが教えるわが家の防犯対策術!

NANDゲートで、AND、OR、INVERTER…などのゲートを作ることできますが、どうしてそれらを全てNANDゲートで作るのでしょうか? 確かにNANDゲートは万能素子だと言いますが…。 何かメリットはあるのでしょうか? 教えてください。

A 回答 (5件)

「作ることができる」ということと、「作るべきである」との間には大きな差があると思います。


特に、PICなど使って仮想で論理回路作る場合と、実際に個別素子を実装する場合ではずいぶん違いがあります。
PICなどでは、汎用性と集積度の問題があります。この点で、内部構造が「実はすべてNAND」という事も。この場合は論理設計をツールソフトでおこなう場合が増えて、専用機能のゲートと同じ感覚で設計できるようになってきていますから、回路(?)設計時にすべてNANDであってもこれを意識する事は無いでしょう。

個別素子を使う場合について書きます。

部品の確保などの点からは素子の種類は少ない方が良いです。この点では、すべてNANDの回路にもメリットはあります。しかし、実際には多種類のゲートICが作られ、使われています。初期のゲートICの種類は少なかったのですが、後からどんどん増えてきました。
NANDを2段重ねてANDにすることはできますが、遅延時間が増します。この場合は、ANDを使うか、NANDで済むような回路を組む方が良いでしょう。XORなどもNANDで作れますが、必要となるゲート数、配線の長さ、素子の遅延時間による問題など考えると、専用のIC使う方がメリットがあると思います。ゲート数が増えると基盤が大きくなったりするという問題も。

専用IC使わないで、NANDやNORなどを転用する方が有利な場合は、
近くにある余りゲートを活用したい。遠くにあるINVまで配線伸ばすよりも、近くのNANDを利用する方が楽です。
特定の機能のゲート1個のために部品を増やしたくない。ORが1個必要。NANDならいくつも余っているといった場合。実際、前述XORを余りゲートで作ったこともあります。
将来の機能拡張や機能追加、テストのためのくふう。何段もの複雑な論理回路の途中のINVをNANDにしておきます。この余り入力にテスト信号入れると、その段以降の部分的なテスト等に使えます。後でリセットやインヒビットなどの機能が必要になった時にこれで救われたこともあります。
最近は少なくなりましたが、動作不良時の対策という事もあります。ひとまとめの回路が多くのICにまたがっている(1つの部品が多くの回路に関係している)と、発見や対処が難しくなります。
    • good
    • 1

#1です。


ご質問を一箇所読み誤りました。

>どうしてそれらを全てNANDゲートで

「全て」だったんですね。
#1は、部分的にそういう回路変更があるというつもりで書きました。全てのAND回路、OR回路などをNANDに直すことはありません。一箇所ぐらいそういうことがあれば、ということでした。

工事担任者の試験問題などでは、しばしばNAND回路だけで回路図が書かれている問題を見かけますが、あの場合は、単なる回路計算の問題です。

また、デジタル回路では、正論理と負論理があるため、負論理のゲートICとNANDやOR回路と組み合わせ、見やすい回路図にするとき、回路図を書き換えることがあります。(もっとも、知っている人なら書き直さずに最初からそう書きますが。)
    • good
    • 0

初期のロジックICとしてTTLがありますが、74LS00というのは2入力NANDゲートです。

(この型番から、これが基本と考えていたと思われます)
ロジック回路はNANDゲートさえあれば作ることは可能ですが、NANDゲートでいつもロジック回路を作るわけではありません。
ロジックのカスタムICとしてゲートアレイというのがありますが、これの集積度を考えるとき2入力NANDゲートを1Cellとしてカウントしていたことがあるといった経緯から2入力NANDゲートを基本として考えるという意味だと思います。
尚、2入力NANDゲートも2入力NORゲートも2つのPMOSとNMOSで作れます。
(使用トランジスタ数は同じ。NANDゲートの方が多少動作が速い)
    • good
    • 1

NANDゲートで、AND、OR、INVERTER…などのゲートを作ることが「できる」のは正しいですが、


AND、OR、INVERTER…などのゲートをNANDで「作る」、それが普通の設計だ、と思っておられれば間違いです。そのような設計方針にメリットはありません。
ORが欲しければORのゲートIC、Inverterが欲しければInverterのICを使うのが設計上は基本です。ORを無理にNANDを使って組んでいるとICの数が2倍要ってしまいます。そんな方針で設計した図面を提出したら上司から「おまえアホか」と言われるのは疑いなし。小型・軽量化、、経済性、動作速度、消費電力、全部アウトですもの。
ORゲートが一個欲しいのだけど、わざわざそのためにORのIC(IC1個に4ゲートとか入っている)を入れるのもばかばかしい、たまたまNANDゲートが二つ手近なところに余っているからこれでORを作っちゃえ、というケースはありますけど。

以上はプリント基板上に論理ICを使って組む論理回路の場合。
ICの「中に」組む論理回路ならばちょっと話は変わるかもしれません。そのICの製作プロセスからするとNANDは作りやすいがOR等は作りにくい、なんてことはあるかもしれません、具体的には知りませんが。
    • good
    • 0

NANDゲートで回路を構成するメリットは、


小型・軽量化
経済性
動作速度
消費電力
があげられます。

ディスクリート(個別の部品)で回路を作るとき、一つのICにはNAND回路が4つありますから、それを有効に利用できれば、ICが1つで済みます。AND回路とNOT回路で構成してしまうと、ICが2つ必要となり、基盤の占有面積がその分大きくなります。

また、現在のLSIなどの大規模集積回路においては、C-MOSが主流です。このメリットとして、一つ一つの素子が小さく作れる、動作速度が速い、というメリットがあります。さらにC-MOSは、ほとんど電流を流すことなくスイッチング動作が出来るため、消費電力も小さくなり経済的です。

デメリットは、手作りで回路を作るときに、直感的に回路動作がわかりにくい、配線がやや複雑になる、論理式をAND回路やOR回路をNAND(またはNOR)回路に計算しなおさなければならない、ということが考えられます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!