#author("2019-06-28T22:46:34+09:00","","")
*Boolean Logic Circuits [#ccbc4554]
#author("2019-06-29T00:46:41+09:00","","")
*Boolean Logic Circuits [#i0928a34]

**概要 [#q93ea791]
**概要 [#z86e3535]

Boolean Logic Circuits(以下ブール論理回路)とはいわゆる論理回路の事で、論理演算を行う電気回路および電子回路である。回路図を描画する上でよく用いられる記号があるので今回はそれらを中心に説明する。

この論理回路は組み合わせる事で非常に様々な回路を作成する事ができる。
論理記号を描画する上でいくつか規格があるが今回は代表的な物としてMIL規格のMIL-STD-806が規定していたMIL論理記号を用いて描画する。

**主な記号 [#a02636fe]
**主な記号 [#g6bf7a0c]
入力はAもしくはAとBが与えられ、AとBは真偽値が入る。今回は簡略化するため1,0で表現し、
1 = true (真)
0 = false (偽)
とする。

***NOT [#ob07caa2]
[[https://ja.wikipedia.org/wiki/%E8%AB%96%E7%90%86%E5%9B%9E%E8%B7%AF#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Not-gate-en.svg]]
***NOT [#wedcd6fd]
否定を表す。
入力を反転させて次へ伝える。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/not.gif]]

[[第7章 論理回路記号とその変換 - NOT回路(否定):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

*** OR [#l94db66e]
2つの入力のうちどちらかが真であれば真を次へ伝える。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/or.gif]]

[[第7章 論理回路記号とその変換 - OR回路(論理和):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]


*** AND [#y4b2c989]
2つの入力のうちどちらかが真であれば真を次へ伝える。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/and.gif]]

[[第7章 論理回路記号とその変換 - AND回路(論理積):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

*** NOR [#f95fb060]
上述されたORとNOTを組み合わせた物と考えて良い。
ORの出力をNOT回路に入れた回路と同じ挙動となる。
そのため、記号もOR回路とNOT回路を組み合わせたような記号となっている。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/nor.gif]]

[[第7章 論理回路記号とその変換 - NOR回路(否定論理和):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

*** NAND [#y3cd2056]
上述されたANDとNOTを組み合わせた物と考えて良い。
ANDの出力をNOT回路に入れた回路と同じ挙動となる。
NORと同様に記号AND回路とNOT回路を組み合わせたような記号となっている。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/nand.gif]]

[[第7章 論理回路記号とその変換 - NAND回路(否定論理積):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

*** XOR [#of4d4294]
排他的論理和と呼ばれる。
日本語としての意味から考えると、排他的つまり自分以外を許可しない。というイメージができる。
実際に、自分以外の入力(AからみてB、BからみてA)が自分と異なる場合は真となるようになっている。
逆に、自分と同じ入力が他にある場合は偽となっている。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/exor.gif]]

[[第7章 論理回路記号とその変換 - XOR回路(排他的論理和):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

*** XNOR [#oa4007f7]
一致回路と呼ばれたり、排他的論理和の否定と呼ばれる。
XORの否定になり、XORの後にNOT回路を組み合わせた物と同じ挙動となる。

[[http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/icchi.gif]]

[[第7章 論理回路記号とその変換 - XOR回路(排他的論理和):http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

*** フリップフロップ回路 (FlipFlop) [#laaecc54]
実際にはこれらの回路を組み合わせて何かしらの目的を達成する回路を構築する。
その例として今回はフリップフロップ回路の特にRS型のフリップフロップ回路を紹介する。

フリップフロップ回路とは記憶装置を構成する基本的な回路の一つで、データの保持をする事ができる。
この回路ではNORを二つ利用している。

[[https://toshiba.semicon-storage.com/design_support/elearning/elearning/micro_intro/chap1/__icsFiles/artimage/2010/09/10/c_elrn_int1/1-2-9.gif]]

[[論理回路:RSフリップフロップ回路:https://toshiba.semicon-storage.com/jp/design-support/e-learning/micro_intro/chap1/1274779.html]]

この回路では2つの入力をそれぞれR(Reset),S(Set)と呼び、これにしたがって以下の図では真理値表も記述している。
また、R:0, S:1として入力した場合の出力はそれぞれQ:0,Q^-:1となっており、これらの出力は維持される。
というのも何も入力が無い状態つまりR:0, S:0の時は真理値表にあるようにQ,Q^-の値は保持されることになっている。
これによりデータを保持する事が可能となっている。

では、どのようにして実際にデータを保持しているのかを簡単に説明する。
画像下部にあるタイムチャートを見ると少し分かりやすい。
この回路では、与えられた入力に対する出力が入力にも使われている。
ここで具体的にR:0, S:1だったときの流れを見てみる。

R:0,S:1だった場合、下のNORの入力が初期状態では01となる。
NORで01の入力だった場合、出力は0となる為、上のNORの入力が今度は00となり、出力が1になる。
その結果下のNORの入力は11となり以降このループとなり、データがセットされた状態になる。

次にデータがセットされている所にR:0,S:0の入力が来た場合、下のNORの入力は10となり、出力は0になる。
その結果上のNORの入力は00となり、出力は1になり、以降このループとなる。そして最終的なQ,Q^-に変化はない。

次にここにR:1,S:0が入力された場合、下のNORの入力は最初は変わらない。しかし、上のNORの入力が01となり出力が1から0に変わる。
その結果下のNORの入力が00になり1を出力するようになる。次に上のNORの入力が11となり、出力が0となり以降このループとなる。
そしてQ, Q^-の結果は反転する。

また、この回路ではR:1,S:1を入力した場合、Q:0, Q^-:0となってしまい破綻する為、禁止事項とされる事が多い。

[[フリップフロップsimulator:http://home.a00.itscom.net/hatada/dc2/chap07/rsff.html]]


**参考 [#oec2dcdb]
[[論理回路- Wikipedia:https://ja.wikipedia.org/wiki/%E8%AB%96%E7%90%86%E5%9B%9E%E8%B7%AF]]

[[第7章 論理回路記号とその変換 http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]
[[第7章 論理回路記号とその変換:http://www.cs.shinshu-u.ac.jp/Lecture/LogicCirc/chap7/chap7.html]]

[[MIL論理記号:https://ja.wikipedia.org/wiki/MIL%E8%AB%96%E7%90%86%E8%A8%98%E5%8F%B7]]

[[なぜNANDなのか:https://qiita.com/nindanaoto/items/629fedda3a95787c08d8]]

[[フリップフロップ-Wikipedia:https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AA%E3%83%83%E3%83%97%E3%83%95%E3%83%AD%E3%83%83%E3%83%97]]

[[論理回路:RSフリップフロップ回路:https://toshiba.semicon-storage.com/jp/design-support/e-learning/micro_intro/chap1/1274779.html]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS