アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

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

    • good
    • 0

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/ …
[2] TC74HC00データシート http://www.semicon.toshiba.co.jp/docs/datasheet/ …
[3] TC4011BPデータシート http://www.semicon.toshiba.co.jp/docs/datasheet/ …
    • good
    • 0

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