論理回路設計の手順は、次のように分けられます。(1) 論理変数の割当て(2) 真理値表の作成(3) 論理式の導出(4) 論理式の簡略化(5) 回路の実現  このうち(4)で、論理式の簡略化を行う理由がどうしても分かりません。誰か簡単に説明できる人教えてください。

A 回答 (5件)

このような手順で設計できるものは、かなり簡素な規模の設計に限られると思います。

どちらかといえば学生用の練習問題の範囲かと思います。その意味で、ほかの方の回答にもあるように、回路の冗長度(余計な部分)を取り除くのは練習として重要です。たとえば「NOT(NOT(NOT(NOT(A))))」を単に「A」と書くようなものです。
しかし、真理値表だけで回路が書けるのは時間とともに状態が変化することを考慮していないのではないでしょうか。もちろん時間変化にともなう状態変化を真理値表で記述することは可能ですが、得策とは思えません。
もし、簡単な真理値表であれば、逆にいうと、「真理値表から実際の回路を作ることが目的」であれば、「論理式の導出」の段階も必要ないこともあります。たとえば、真理値表そのものを「ROM・テーブル」にしてしまうものです。実際の回路設計の中でも部分的にこのような方法を採用することがあります。この方式は、「論理式の導出」と「論理式の簡略化」をしていないので。、出来上がった論理回路としては「冗長(無駄な回路だらけ)」です。
回路の動作速度など、さまざまな条件を考慮して、必要とする高い周波数まで回路動作が不安定にならないような気配りをしてある回路設計であれば、冗長な回路を含めることも現実にはたくさんあります。
最後に一言付け加えます。論理回路の設計手順にはさまざまな方法があり、目的とする「機能」を数式やプログラム言語のようなもので記述して、ICを開発することがほとんどです。そのなかには「インバータ」や「アンド・ゲート」などといったものは見かけ上どこにも出てきません。また、はじめから、真理値表などもありません。たとえば、インテルのペンティアム・プロセッサを真理値表で記述することは膨大な規模になるばかりでなく、意味がありません。
    • good
    • 0

 論理式を記述するということは、即ち、ある事象(入力)に対して、いかなる選択(出力)をとるべきか


数学的な式としてあらわすことだと言えます。
 ところで、このような論理式を設計するのは人間であり、人間が考えることには多かれ少なかれ冗長部分があるものです。そのほうが考えるのが楽だから。たとえば、入力、出力の数が数十、数百なんて場合は、入力を場合わけしていくつかのブロックにまとめ、ブロック毎に中間的な出力を新たに定義して次段を設計して...といった具合です。
 一方、出来上がった”回路“の側から見れば、入力と出力の関係が正しければ良いわけで、中間出力だの、場合わけのやり方だの、人が加えた冗長な部分は関係ない。だから簡略化してしまうことができます。

 では、入力と出力の関係が正しければ良いのなら、特に簡略化しなくてもよいか、というとそのような回路は、現実的にはまず、満足に動かないでしょう。
 それは、実際の論理素子は、入力の変化が出力に反映されるのに時間がかかるので、簡略化していない冗長な回路では、実行時間がかさんで高速で動かせなかったり、内部のブロック毎の実行時間に差ができて、出力に余計な波形や、ノイズが現れる等の悪影響がでてくるためです。
 また、回路規模の大きな回路を製造するとなると、当然コスト高になります。極端な話、こんな大きな回路作れない!と言う場合もあります。このような事態を避けるため、知恵を絞って簡略化するのです(ただこの場合、簡略化というより、回路を最適化する、と言い直したほうがよい)
    • good
    • 0

追加のコメントですが、


仕様によっては、簡略化でなく、複雑化?ってこともあります。それは主にスピードを要求する場合ですが。
    • good
    • 0

簡単な論理式から回路を実現した方が、回路が小さくなる場合が多いからです。


回路が小さくなって、なぜうれしいかについては、疑問の余地はないでしょう?
    • good
    • 0

実際に行ってみればすぐ解りますよ。


(3)の段階までで導き出された論理式は、圧縮(簡略化)が可能なのです。
やっていることは(意味的には)、1+1+1+1-1を1×4-1や1+2にするのと同じです。
    • good
    • 0

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

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

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

Q生物の脳の論理回路とコンピュータの論理回路、多数決論理とAND、OR論理の違い

生物の脳はすべて多数決論理でできています。一方コンピュータの論理回路はAND OR論理回路です。このような違いはどうして発生したのでしょうか? コンピュータがすべてAND OR論理で作られているのでAND OR論理の方が設計が楽なのではないかと思いますが、生物の脳はなぜ進化の過程でAND OR論理が選ばれなかったのでしょうか?

Aベストアンサー

こんにちは。
神経系の情報処理といいますのは無数のAND回路やOR回路によって構成される「ツリー構造」によって行なわれています。この「ツリー構造」が即ち「多数決論理」であるわけのですが、だからといって、神経回路の中にANDやORが使われていないというわけではありません。当然、抑制性シナプス結合によるNANDやNORも存在します。
ところが、コンピュータと違い、脳ではそのような演算は行なわれていないといいますのは、つまりこれらは全てツリーの根元に向かい集計されるわけですから、枝葉がANDであるかORであるかは出力結果とは直接結び付かないということなんです。そして、これがどういうことかと申しますと、質問者さんの仰る通り、脳はコンピュータに比べてたいへん不正確で効率が悪いということです。

>このような違いはどうして発生したのでしょうか?

では本題に入ります。
極めて単純なことであります。
コンピュータのようにAND回路やOR回路を目的に応じて組み合わせるならば極めて効率の良い正確な結果が得られます。ですが、このような設計は飽くまで予め決定されている特定の結果に対し「トップ・ダウン方式」で行われるものです。では、生物の進化では未来の結果を予測するということはできませんので、このようなトップ・ダウン方式の設計は不可能ということになります。
逆に近年では、このような生物の進化における「ボトム・アップ方式」をコンピュータ・プログラムに応用したものが「遺伝的アルゴリズム」であります。トップ・ダウン方式ならば常に目的通りの最適解が得られますが、それ以上の結果は絶対に出てきません。これに対しまして、遺伝的アルゴリズムの手法を用いますならば、それが必ずや最適解ということではありませんが、未知の結果、あるいは不可知な結果さえも獲得することができます。
もしこれがトップ・ダウン方式であったとしますならば、それは生物は神様が設計したということになります。ですが生物の進化とは、常に不可知な結果に対して行なわれるものです。

さて、なぜ神経系の構造が「多数決論理」であるのかといいますならば、それはそもそも生命現象の本質が「エネルギーの積算と解放」という脈動であるからです。心拍、呼吸、筋肉の収縮、全ての生命現象はこの「脈動」であります。エネルギーの積算だけではシステムは稼動しません。これが開放され、元に戻るために脈動という生命現象が成立します。そして、この脈動周期は機械とは異なり、生物独特の不正確なものでありますが、その分「冗長性」があり、外界からの影響に対して柔軟性を持っています。

神経系の「多数決論理」といいますのは十人のうち五人以上ならば採択といったものとはちょっと違います。何処が違うかといいますと、そこには既定の「閾値」というものが設けられており、仮に、例え何十人が投票をしたとしましても、飽くまで5以上ならば「真」、それ以下では「偽」という判定が下されます。従いまして、ここでは票が割れるということはなく、5以上であるならば必ずや一定の結果が得られることになります。
神経細胞の「閾値」といいますのは概ね「100~120mA(電位差)」であり、一箇所からの入力は「1~5mA」、抑制性入力の場合は逆に「1~5mAのマイナス」となります。従いまして、神経細胞の集計が閾値を超え、インパルスを発生させるためには最低でも20から100以上の同時入力が必要となります。
100mAの閾値に対しまして100mAの入力ならば効率良く一発で正確な結果を出すことができます。ですが、「-5~5mA」というまちまちの入力ではお世辞にも正確とは言えませんし、閾値を超えたならばそれ以上の入力は全て無駄ということになります。先ほど申し上げました通り、これは100mAという設計上の値を予め目的としたものではなく、たまたまそれが閾値として利用されるようになったからであります。
この脈動は閾値を超えることによって確実に発生させることができるわけですが、その周期は全く正確なものではありません。ですがその代わり、外界からのノイズ、あるいは「負の周期」と同調してしまうということがありません。もし仮にこれが正確な周期であり、何かの影響と完全に同調してしまいますならば、もはや自然には元に戻りませんし、脈動こそが生命現象の全てであるわけですから、生物の場合はそれがカタストロフィとなり、システムはダウンしてしまいます。ところが、根っから不正確であるため、このようなことはまず起こらないわけです。

このように、脳といいますのは設計効率がたいへん悪く不正確なものですが、その分ノイズに強く冗長性を持っています。そして、先ほど申し上げましたように、それは「不可知な結果」を基に獲得されたものであります。ですから、トップ・ダウン設計のコンピュータとは違い、我々の脳は「未知の可能性」というものを持っています。

こんにちは。
神経系の情報処理といいますのは無数のAND回路やOR回路によって構成される「ツリー構造」によって行なわれています。この「ツリー構造」が即ち「多数決論理」であるわけのですが、だからといって、神経回路の中にANDやORが使われていないというわけではありません。当然、抑制性シナプス結合によるNANDやNORも存在します。
ところが、コンピュータと違い、脳ではそのような演算は行なわれていないといいますのは、つまりこれらは全てツリーの根元に向かい集計されるわけですから...続きを読む

Q微分回路の理論式 画像の積分回路の理論式の導出手順を参考にした微分回路の理論式を求めてほしいです。

微分回路の理論式

画像の積分回路の理論式の導出手順を参考にした微分回路の理論式を求めてほしいです。

Aベストアンサー

回路? 単なるコンデンサーの電圧と電流の関係式ですよ。

オペアンプの入力側に抵抗 Rs が、出力側に静電容量 C のコンデンサーを接続した積分回路なのではありませんか?

微分回路を作りたければ、静電容量 C のコンデンサーを入力側に、抵抗 Rs を出力側にすればよいのです。
↓ こんな構成に。
http://www.nteku.com/opamp/opamp-differential.aspx

そうすれば、
 Vout = -Rs * Ic = -Rs * dQ/dt = -Rs * d(C*Vc)/dt = -Rs * C * d(Vin)/dt
です。

Q論理回路で、OR回路の存在意味

論理回路で、OR回路の存在意味
現在論理回路を学んでいるのですがOR回路の存在意味は何でしょうか?
単に信号の合成でいいのであれば回路など使わず、線をつなげるだけでいいのでは?
(電流の逆流が無い前提として)
まあ、信号の合成なので単純に電流も倍になるかと思いますが、信号がある・無いを確認するだけなので、電流の量も関係ないと思うのですが・・・・・

そこのところ詳しくお願いします。

Aベストアンサー

論理回路の出力段の回路構成には、トーテムポール型とオープンオープンドレイン型の2種類があります(http://www.cqpub.co.jp/hanbai/books/42/42101/42101_1syo.pdf の2ページ目の下の図)。トーテムポール型の出力同士を複数接続した場合、出力レベルが全て H か L の場合は問題ありませんが、 H と L が混在している場合、L を出力している回路に大電流が流れて素子が壊れてしまいます(http://soudan1.biglobe.ne.jp/qa2975893.html)。したがって、トーテムポール型では、出力同士を単につないでORの機能を持たせることはできません。

一方、オープンドレイン型の論理回路の出力同士を複数接続した場合はこのようなことは起こりません(ORとして機能する)。ただし、オープンドレイン型は電流を吸い込む機能しかないので、出力レベルが H から L に変化する速度は速いですが、L から H に変化するときの速度は遅くなります(プルアップ抵抗と次段の回路の入力容量の積で決まる時定数で変化する)。オープンドレイン型は、リレーなどの外部機器を動作させる場合に使われることが多く、スイッチング速度が遅ために、論理回路同士の接続に使われることはあまりありません。

論理回路の出力段の回路構成には、トーテムポール型とオープンオープンドレイン型の2種類があります(http://www.cqpub.co.jp/hanbai/books/42/42101/42101_1syo.pdf の2ページ目の下の図)。トーテムポール型の出力同士を複数接続した場合、出力レベルが全て H か L の場合は問題ありませんが、 H と L が混在している場合、L を出力している回路に大電流が流れて素子が壊れてしまいます(http://soudan1.biglobe.ne.jp/qa2975893.html)。したがって、トーテムポール型では、出力同士を単につないでORの機能を...続きを読む

Q論理式の簡略化

お世話になります。
論理式の簡略化のやり方がわかりません。
教えていただけませんでしょうか?

Aベストアンサー

簡略の方法がわからないのなら、真理値表を書いて比較すればよい。

Q高校生なのですが、ANDやOR、NOTのNAND論理回路の実験(基本回

高校生なのですが、ANDやOR、NOTのNAND論理回路の実験(基本回路)をしました。そうして入出力特性についてグラフをかいたところAND回路では、low(低い方)を示すのですが、どんな電圧をかけても0.3Vほど上昇して、出力されます。OR回路では、0.3Vほど下がって出力されました、この原因は、測定誤差ではなく、ダイオードが原因らしいのですが、全くわからないので、詳しく優しい回答お願いします。

Aベストアンサー

ダイオードを使った論理回路で実験されていると思いますが、推定通りダイオードの順方向電圧降下があり、通常0.3Vから0.6V程度の電圧降下が発生します。

半導体には流す電流で電圧降下が発生しますので、下記のデータシート例でP3のIf-VF特性の順電圧 VFが0.4Vから0.6V程度発生しているのが読みとれると思います。
(Ta=25℃で順電流10マイクロA流した時0.4Vで、1mA流した時0.6V程度となります。)

データシート:1SS387
http://www.semicon.toshiba.co.jp/docs/datasheet/ja/Diode/1SS387_ja_datasheet_071101.pdf

Q論理式の簡略化

論理式の簡単化についてご教授お願いします。
論理式の簡単化について以下の様な問題が出題されたのですが、全く手つかずで困っております。

A・C*+A*・C*・D+A・B・C・D*+A*・B*・C*・D*

*は否定を表しています。

Aベストアンサー

4変数なので、カルノー図が使えますね。

Q以下の論理回路をANDゲート、ORゲート、NOTゲ

以下の論理回路をANDゲート、ORゲート、NOTゲートを用いて設計せよ。
x0,x1,x2,という参入力よz0,z1,z2という3出力の論理回路で
入力が
0,1,2,3のときは、それより大きい値の出力、
4,5,6,7のときは、それより小さい値の出力する論理順序回路を設計せよ。

という問題です。

問題の意味を自分なりに理解して
入 出
0 1
1 2
2 3
3 4
4 3
5 4
6 5
7 6

というふうに「それより大きい」と「それより小さい」をそれぞれ「1大きい」、「1小さい」と定義したのですが、これでいいのでしょうか?

Aベストアンサー

> 「それより大きい」と「それより小さい」をそれぞれ「1大きい」、「1小さい」と定義した
問題を満たす設計となっていますから、これでもOKです。

ただ、
In   Out
0~3→4
4~7→0
とした方が、回路は単純になりますね。

Q真理値表と論理回路

写真の真理値表のような動作をする論理回路の作り方がまったくわかりません。
あとこの回路に名前があるらしいのですが教えてください<(_ _)>

Aベストアンサー

まず、こう言う時は、こう考えます。
1.まず、真理値表から 結果が1のところに注目します。

2.今回の場合はF1、F2とありますから、それぞれ一個ずつ考えることにします。

3.(1)F1について1になっている行はAが1であり、かつBが0の時 と、Aが0であり、かつBが1の時となります。これを論理式で表しますが、入力が1のものはそのまま、0のものは否定してそしてそれを論理積(AND)でくっつけます。 A・B(否定)という式とそれともう一つは A(否定)・B となります。この式二つを論理和(OR)で結びます A・B(否定)+A(否定)・Bとなります。これ以上は計算するのは難しいのでここで終わります。
3.(2)F2について、AとBが双方とも1のとき(言い換えるとA=1 かつ B=1)ですから A・Bとなります。これ以上計算しようがないです。
4.以上からそれぞれ、論理回路を作ると図のようになります(手描きなので本当に醜いです汚いですが)。

5.この回路、見覚えがあったらいいのですが、実は「半加算器(Harf adder)」です。
よく真理値表を見てみてください。まず、F1に注目しますと、「入力のどちらかが1ならば1を出力しなさい、入力が両方共同じであるならば0を出力しなさい。つまり、二進数の数学的に0+1をしたときは下一桁1です。次に両方共0ならば、二進数の数学的に0+0であるから0ですね。問題は両方共1なのに、どうして0なのかですが、2進数なので1+1=10になるはずです。つまり、下一桁、この場合はF1なのですが、これが、0ですよね。で、繰り上がりがありますので、その分(F2)が1にならなければならない。
ということになるのです。
わかりにくい説明とずで申し訳ないですが、図に関しては半加算器 論理回路とかで調べると出てくると思います。(私は最初から計算したので、4の段階でようやく半加算器だと気づきました)。ご参考になれば幸いです。一応二種情報処理(現、基本情報技術者)資格は持ってますのでご指名あればわかる限りお答えいたしますのでよろしくお願いします。

参考URL:http://homepage2.nifty.com/ttoyoshima/Computer/Logic.htm

まず、こう言う時は、こう考えます。
1.まず、真理値表から 結果が1のところに注目します。

2.今回の場合はF1、F2とありますから、それぞれ一個ずつ考えることにします。

3.(1)F1について1になっている行はAが1であり、かつBが0の時 と、Aが0であり、かつBが1の時となります。これを論理式で表しますが、入力が1のものはそのまま、0のものは否定してそしてそれを論理積(AND)でくっつけます。 A・B(否定)という式とそれともう一つは A(否定)・B となります。この式二つを論理和(OR)...続きを読む

Q論理回路 3入力AND,ORによる回路について

次の論理式で表される論理回路を考えてください。ただし3入力のOR、3入力のANDのみで書くものとします。
X = (A+B) + A・B

使わない入力をどうすればよいのか分かりません。分かる方回答をお願い致します。
※回答欄は画像の通りです。

Aベストアンサー

3入力を2入力にしたいだけなら、
3本のうちの2本は同じ信号を入力することにすればいい。

Qディジタル回路の論理式の簡単化について。

ディジタル回路の論理式の簡単化について。

今ある問題で簡単化の途中で迷っています。

簡単化すると次のうちどれかになるそうです。

(ア)Y=A^+C

(イ)Y=A+C

(ウ)Y=A・C+A^・B^・C^
 
(エ)Y=A・C+A^・B・C

私は今カルノー図で【 Y=A^・B^・C^+B・C+A・C 】という式を導いたのですが、
ここからどう式変形すれば上記の答えになるのかわかりません。

それともこの導いた式が間違っていますか?この式から変形できるなら方法を教えていただきたいです。

Aベストアンサー

No.1 です。

>真理値表からYの論理式を求める問題です。
>真理値表はこんな感じです。↓

からカルノー図を書くと
  |B^C^ B^C  BC   BC^
A^|1    -    1    -
A |0    1    1    0
です。


(ア)~(エ)もカルノー図を書き出します。

(ア)
  |B^C^ B^C  BC   BC^
A^|1    1    1    1
A |0    1    1    0

(イ)
  |B^C^ B^C  BC   BC^
A^|0    1    1    0
A |1    1    1    1

(ウ)
  |B^C^ B^C  BC   BC^
A^|1    0    0    0
A |0    1    1    0

(エ)
  |B^C^ B^C  BC   BC^
A^|0    0    1    0
A |0    1    1    0


質問文中の、質問者さんが導いたものは
>【 Y=A^・B^・C^+B・C+A・C 】

  |B^C^ B^C  BC   Bc^
A^|1    0    1    0
A |0    1    1    0

で、未定義部分を「0」と仮定したのですね。
課題は「選択肢の中から...」との事で、
これだと残念ながら一致するものがありません。

ならば、「0と仮定した」のを変えましょう。
どれが合致するか明白ですね。
未定義部分を[1]にすれば(ア)と同じです。

ということで(ア)が正解です。

No.1 です。

>真理値表からYの論理式を求める問題です。
>真理値表はこんな感じです。↓

からカルノー図を書くと
  |B^C^ B^C  BC   BC^
A^|1    -    1    -
A |0    1    1    0
です。


(ア)~(エ)もカルノー図を書き出します。

(ア)
  |B^C^ B^C  BC   BC^
A^|1    1    1    1
A |0    1    1    0

(イ)
  |B^C^ B^C  BC   BC^
A^|0    1    1    0
A |1    1    1    1

(ウ)
  |B^C^ B^C ...続きを読む


人気Q&Aランキング

おすすめ情報