みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ドモルガン 論理回路の等価回路

ドモルガンの定理
¬(A+B)=¬A・¬B
この論理式の左辺の論理回路と右辺の論理回路を
それぞれ作成し、さらに、その2つの回路が等しければLEDが点灯し
等しくなければLEDが消灯する回路を作成したいのです。
左辺、右辺の論理回路は簡単に書けるんですが2つの回路が
等価であるかどうかを調べる回路はどう書けばいいのかわかりません。
どうかお願いします。

投稿日時 - 2007-10-05 20:29:04

QNo.3403973

すぐに回答ほしいです

質問者が選んだベストアンサー

2つの回路というのが論理式の左辺と右辺を指すのであれば、両辺の値はAとBが何であっても一致するので、LEDは点灯しっぱなしになってしまいますが・・・

入力 A と B が等しければ LED が点灯し、等しくなければ消灯する回路を作るには、排他的論理和(EX-OR :exclusive OR)を使います。EX-OR の出力 C は以下の真理値表のように、不一致のとき 1 、一致のとき 0 となるような論理関数です。

 A B│C
 ──┼─
 0 0 │0
 1 0 │1
 0 1 │1
 1 1 │0

C を論理式で書くと
   C = ¬A・B + A・¬B --- (1)
となります。真理値表から論理式を作るには、結果が 1 となるものだけを拾ってOR で結びます。これを AND、OR、NOT だけで作ると以下のようになります。

 A ─┬─────┐
     │        = AND ─┐
    │        │      │
 B ─(─┬─ NOT ┘       = OR ─ C
    │ └───-┐      │
    │         =AND ─┘
    └── NOT -┘

ド・モルガンの法則から
   (¬A)・B = (¬A)・ ¬(¬B) = ¬{ A +(¬B) }
と変形できるので、式(1) は
   C = A・(¬B) + (¬A)・B
     = A・(¬B) + ¬{ A +(¬B) }
となって

 A ──────┬─┐
            │   = AND ─┐
            │  │       │
 B ── NOT ┬─)─┘        = OR ─ C
         │ └┐         │
         │   =OR ─ NOT ┘
         └─-┘

という回路でも同じ機能になります。

さらに別の形に変形すると
   A・(¬B ) = A・( ¬A + ¬B ) = A・¬(A・B)
   (¬A)・B = ( ¬A + ¬B )・B = B・¬(A・B)
なので
   C = A・(¬B) + (¬A)・B
    =A・{ ¬(A・B) } + B・{ ¬(A・B) } --- (2)

 A ─┬────────┐
    │             =AND ─┐
    └┐           │     │
      = AND ─ NOT -┤      = OR ─ C
    ┌┘          │       │
    │              = AND ┘
 B ─┴───────┘

という構成でもできます。

式(2)を{ ¬(A・B) } をまとめれば
    C =(A+B)・{ ¬(A・B) }

 A ─┬────────┐
    │             =OR ┐
    └┐           │    =AND ─ C
      = AND ─ NOT ─)──┘
    ┌┘           │
    │             │
 B ─┴────────┘

という構成も考えられます。

市販の論理ICには EX-OR の機能を持つものがありますが、それを使わないで、1種類のゲート(AND、OR、NOT、NAND、NORの中の1つ)を使って構成する例として

 A ─┬──────┐
    │          =NAND ┐
    └┐       │      │
      = NAND ─ ┤      = NAND ─ C
    ┌┘       │      │
    │         = NAND ┘
 B ─┴──────┘

があります。NAND は¬(A・B) という意味です。入力 A と B が等しければ LED が点灯し、等しくなければ消灯する回路は以下のようになります。結線は資料 [1]、[2] を参考にしてください。
                                     ┌─ R2 ─ +5V
 A ─┬──────┐                      ▼ LED
    │          =NAND ┐               │e
    └┐       │      │            b ┏┷┓
      = NAND ─ ┤      = NAND ─ R1 ──┨  ┃2SA1015
    ┌┘       │      │              ┗┯┛
    │          = NAND ┘              c└──── 0V 
 B ─┴──────┘        R1 = 4.7kΩ、R2 = 220Ω
                        b/c/e はトランジスタのベース/コレクタ/エミッタ
                        NANDゲートは 74HC00 または 4011B

[1] 2SA1015データシート http://www.semicon.toshiba.co.jp/docs/datasheet/ja/Transistor/2SA1015_ja_datasheet_020207.pdf
[2] TC74HC00データシート http://www.semicon.toshiba.co.jp/docs/datasheet/ja/LogicIC/TC74HC00AF_TC74HC00AP_ja_datasheet_071001.pdf
[3] TC4011BPデータシート http://www.semicon.toshiba.co.jp/docs/datasheet/ja/LogicIC/TC4011BF_TC4011BP_ja_datasheet_071001.pdf

投稿日時 - 2007-10-06 15:25:04

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

論理回路が等価というのは「同じ入力に対して、同じ出力を出す」=「真理値表が同一になる」ということですよね?

投稿日時 - 2007-10-06 01:06:27

あなたにオススメの質問