AIと戦って、あなたの人生のリスク診断 >>

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

このQ&Aに関連する最新のQ&A

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に関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QNAND素子に利点はあるか?

現在大学で論理回路を構築する実験を行っています。
実験それ自体には問題は無いのですが、回路をNAND素子のみを使って構築する利点がどうしても思いつきません、単に複雑な回路の構築になれさせることが意図なのでしょうか?NAND素子のみで回路を構築することに利点があるならば、ぜひ教えてください。

Aベストアンサー

NAND素子だけを使ってどんなディジタル回路でも構成することが出来ます。
これを体験させるためにNANDだけでやらせているのでしょう。
大学でなければ出来ない実習でしょうね。
LSIの設計などを考えると無意味な実習ではないと思います。

余談ですがNORだけでも同じことが出来ます。

Q論理回路(NAND、NOR)について

現在論理回路について学習中です。
参考書を読んでいたら回路をNAND、NORのみを利用して作成するというものがありました。
実際、NAND,NORを利用すれば他の論理ゲートはどれも実現できるのでどんな回路も作れると思います。
実際に、このような考え方を利用したゲートアレイというものが使われているということも知りました。
参考書が少し古いので現在では違うかもしれませんが・・

そこで、今現在このような考え方を利用して実際に導入しているような例は何か無いでしょうか?
また、家電においても取り入れられているということも聞きましたが実際にはどうなのでしょうか?
あわせてNAND、NORのみを利用して回路を作ることで、利用するゲート数が増えてしまうという欠点を補って余りある利点も教えていただけると幸いです。

宜しくお願いします。

Aベストアンサー

他の方がおっしゃっているように,NAND回路は,CMOS1ゲートで構成できるので,面積が小さく,高速に動作させることができます.

NAND,NORのみを利用している回路,というのは,少なくとも,私が携わっているデジタル家電用LSI(ASIC)ではないですね.やはり,可読性というものも求められますので,ANDゲートやORゲートも必要によって使用しています.

また,現在は,論理素子を結んで回路を作成するような設計(スケマティックな設計といいます)はあまり行われておらず,Verilog-HDLといったC言語ライクな上流設計が主流ですので,NANDやNORを使用するか,そのほかを使用するかは,論理合成ツール(C言語で言うコンパイラのようなもの)に任されてしまっているので,私たちが,それを意識することはほとんどなくなりました...

でも,私も昔は,論理圧縮でNANDだけを使用して回路を組みなおすといった地道な作業をしたこともありましたが^^;
あっ,論理回路は極端な話,NANDだけで構成することも可能です..ゲートアレイの構成要素にもいろいろありますが,NANDだけで構成されているものもあります.

最後に,XOR(排他的論理和)は,普通に考えると,NOT2個,AND2個,OR1個で構成できることはわかりますよね?しかし,実は,NAND4個だけで構成できるのです.ブール代数を駆使して考えてみてください.

他の方がおっしゃっているように,NAND回路は,CMOS1ゲートで構成できるので,面積が小さく,高速に動作させることができます.

NAND,NORのみを利用している回路,というのは,少なくとも,私が携わっているデジタル家電用LSI(ASIC)ではないですね.やはり,可読性というものも求められますので,ANDゲートやORゲートも必要によって使用しています.

また,現在は,論理素子を結んで回路を作成するような設計(スケマティックな設計といいます)はあまり行われておらず,Verilog-HDLといったC言語ライク...続きを読む

QCMOSゲートはなぜ負論理(NAND、NOR)?

大学でCMOSについて勉強をしました。
ここでひとつ疑問を持ちました。
なぜCMOSゲートはAND、ORではなくNAND、NORを使うのでしょうか?
人間の感覚から言って、AND,ORを使用したほうが自然だと思います。
NANDとNORだけで全ての論理が記述可能だそうですが、きっと実際はNOTも使うでしょう。
またゲートを構成する際に必要な面積は、ANDでもORでも
NMOS2個、PMOS2個で変わらないと思います。
わざわざドモルガンの法則で論理式を変換するのが面倒です。
お解りになられる方がいらっしゃいましたら力を貸してください。
お願いします。

Aベストアンサー

実は、CMOSの場合は、AND OR の方が作りやすいのです。
ICの内部等値回路をしらべて見てください。1段ではスレッショルドが不安定でファンアウトが不足。で、バッファを入れると論理が反転して、ANDとORに。初期のCMOS-ICはANDとORとNOTが基本でした。現在のNAND-NORは3段構成になっています。わざわざ反転しているのは・・・

CMOSロジックICが登場した頃、デジタルICの主流はDTLからTTLに移ってましたが、どちらもICの構成上NANDが基本でした。最初にの頃のCMOS-ICにはNANDやNORはありませんでしたが、後にNANDやNORも登場しました。設計者としては、応用例の豊富さや馴染みの点でAND-OR型よりもNAND-NOR型を使方が気楽で、ピン接続がTTLと同じ74Cや74HCシリーズが出てからは置き換え等も可能なので、こちらのシリーズ圧倒的にが売れた(4500シリーズなどすぐに消滅した)ようです。つまり、すでに普及していたTTLの74シリーズと動作を揃えるために敢えてNAND-NOR型にしたと言えるでしょう。

DTLやTTLでロジック設計始めた頃は、馴染むまでは何となく違和感がありましたが、性能や価格のためなど(DTLではNAND-NORでの回路構成にはいろいろ技があったし)の理由もあり、「そんな物」と思ってやってました。一度慣れてしまうと、正負どちらの論理(というかどちらとも言い難い)でも組めるようになりますし。

実装やコスト面も考えると、NAND-NORは余りゲートがあればNOTとして使えますが、AND-OR型だと、1ゲートでも反転が必要な時にはICが1個増えてしまいます。回路の中で1個のNOTが必要な場合、遠くにあるICのゲートまで配線するよりも、近いNANDやNORを代用する方が合理的な事が多いです。案外これがいちばんの理由かも。

実は、CMOSの場合は、AND OR の方が作りやすいのです。
ICの内部等値回路をしらべて見てください。1段ではスレッショルドが不安定でファンアウトが不足。で、バッファを入れると論理が反転して、ANDとORに。初期のCMOS-ICはANDとORとNOTが基本でした。現在のNAND-NORは3段構成になっています。わざわざ反転しているのは・・・

CMOSロジックICが登場した頃、デジタルICの主流はDTLからTTLに移ってましたが、どちらもICの構成上NANDが基本でした。最初にの頃のCMOS-ICにはNANDやNORはありませんでしたが、後にN...続きを読む

Qゲートで遅延が起きる理由

 LSIの設計において,ゲート遅延と配線遅延などを考慮に入れますが,ゲート遅延はなぜ起こるのでしょうか.

 配線遅延については,それだけの長さを信号が伝わるために必要だから,と理解できるのですが,それに加えてゲート遅延を考える必要があるのでしょうか.大まかに言って,ゲートの信号伝播方向の長さ(幅)を測れば,配線遅延と同等に扱えないものなのでしょうか.

 私が何か誤解しているのでしょうか.

Aベストアンサー

ゲート遅延は、ゲートと配線に寄生している容量を、充電するのにかかる時間です。

配線遅延は、信号の波が伝播するのにかかる時間ですが、ゲート遅延は波そのものを起こすのにかかる時間と思えばいいでしょうか。

Qnor回路だけでand,or,nand回路を作成したいのですが

タイトルの通り、nor回路だけでand,or,nand回路を作成したいのですが、or回路はnor回路を二つ並べて作成することができたのですが、andとnandの回路を作ることができません。教えてもらえないでしょうか。

Aベストアンサー

ANDを二重否定して、ドモルガンで変形させていくと良いです。
NOT回路は、NOR回路の入力をつないで一つにしてしまえば出来ます。
ANDが出来れば、NOTをつないでNANDに。

Qカットオフ周波数とは何ですか?

ウィキペディアに以下のように書いてました。

遮断周波数(しゃだんしゅうはすう)またはカットオフ周波数(英: Cutoff frequency)とは、物理学や電気工学におけるシステム応答の限界であり、それを超えると入力されたエネルギーは減衰したり反射したりする。典型例として次のような定義がある。
電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
導波管で伝送可能な最低周波数(あるいは最大波長)。
遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。


ですがよくわかりません。
わかりやすく言うとどういったことなのですか?

Aベストアンサー

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です。



電子回路の遮断周波数の場合
-3dB はエネルギー量にして1/2である事を意味します。
つまり、-3dBなるカットオフ周波数とは

「エネルギーの半分以上が通過するといえる」

「エネルギーの半分以上が遮断されるといえる」
の境目です。

>カットオフ周波数は影響がないと考える周波数のことでよろしいでしょうか?
いいえ
例えば高い周波数を通すフィルタがあるとして、カットオフ周波数が1000Hzの場合
1010Hzだと51%通過
1000Hzだと50%通過
990Hzだと49%通過
というようなものをイメージすると解り易いかも。

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です...続きを読む

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

Q論理回路R-Sフリップフロップ

R-Sフリップフロップは論理の入力でR=1、S=1は禁止入力とされていますが、実際には入力可能です、これってどういうことなんですか?どなたか教えてください。

Aベストアンサー

私も以前から (1, 1) を「禁止入力」と呼ぶのには疑問を感じていました。

(1, 1) を入力しても単に出力が (1, 1) (回路構成によっては (0, 0) ) になるだけでなんの矛盾もありません。

入力を (1, 1) -> (1, 0) -> (0, 0)

(1, 1) -> (1, 0) -> (0, 0)

と変化させた場合も常識どおりに動作します。

問題は入力を (1, 1) から (0, 0) ) に変化させた場合です。このとき出力が (1, 0) で安定するか (0, 1) で安定するかは不定です。

Q電気・電子回路のバッファについて

電気回路にバッファというものがありますが、これはどのような働きをしているのですか?(74LS~ とか) 安定化のためにあるようですが…
詳しく教えて頂けませんでしょうか。

Aベストアンサー

バッファー(Buffer)は日本語に直訳すれば緩衝増幅器になります。緩衝増幅器は電流(波形)の増幅、電圧(波形)の増幅や整形、出力インピーダンス変換(高出力インピーダンスを低インピーダンスや整合インピーダンスに変換)のために挿入されます。回路1の出力を回路2の入力に接続する時、回路2を接続した影響が回路2に及ばなくしたり、出力波形の整形や出力インピーダンスを変換します。
ディジタル回路では出力用のバッファーでは
1)出力電流増幅、2)出力インピーダンスを下げる、3)論理レベル(1や0に対応する電圧)の電圧レベル調整・波形整形、が目的で
1)と2)はファンアウト増やす機能です。出力のタイプはオープンコレクター(オープンドレイン)、3ステート、単にファンアウトが大きいものがあります。
入力用バッファーでは、1)雑音や論理レベルが明確でないデジタル信号の波形整形(論理1と論理0の明確な信号に再生)、2)後続の回路の負荷(ファンイン)を減らして前置回路への影響を少なくする。
といった目的で使われ、主に入力電圧振幅に対して出力電圧にヒステリシス特性を持つシュミット回路が採用されています。

バッファー(Buffer)は日本語に直訳すれば緩衝増幅器になります。緩衝増幅器は電流(波形)の増幅、電圧(波形)の増幅や整形、出力インピーダンス変換(高出力インピーダンスを低インピーダンスや整合インピーダンスに変換)のために挿入されます。回路1の出力を回路2の入力に接続する時、回路2を接続した影響が回路2に及ばなくしたり、出力波形の整形や出力インピーダンスを変換します。
ディジタル回路では出力用のバッファーでは
1)出力電流増幅、2)出力インピーダンスを下げる、3)論理レベル(1...続きを読む

Q計算値と理論値の誤差について

交流回路の実験をする前に、ある回路のインピーダンスZ(理論値)を計算で求めたあと、実験をしたあとの測定値を利用して、同じ所のインピーダンスZ(計算値)を求めると理論値と計算値の間で誤差が生じました。
そこでふと思ったのですが、なぜ理論値と計算値の間で誤差が生じるのでしょうか?また、その誤差を無くすことはできるのでしょうか? できるのなら、その方法を教えてください。
あと、その誤差が原因で何か困る事はあるのでしょうか?
教えてください。

Aベストアンサー

LCRのカタログ値に内部損失や許容誤差がありますが、この誤差は
1.Rの抵抗値は±5%、±10%、±20% があり、高精度は±1%、±2%もあります。
2.Cの容量誤差は±20% 、+50%・ー20% などがあり
3.Lもインダクタンス誤差は±20%で、
3.C・Rは理想的なC・Rでは無く、CにL分、Lに抵抗分の損失に繋がる成分があります。
これらの損失に繋がる成分は、試験周波数が高くなると、周波数依存で増大します。
また、周囲温度やLCRの素子自身で発生する自己発熱で特性が変化します。
測定器や測定系にも誤差が発生する要因もあります。
理論値に対する測定値が±5%程度発生するのは常で、実際に問題にならないように、
LCRの配分を工夫すると誤差やバラツキを少なく出来ます。
 


人気Q&Aランキング