No.1ベストアンサー
- 回答日時:
4入力XOR は、回路が劇的には簡単にはならないように思えます。
AND/OR/NAND/NOT回路で構成できる回路はいろいろ考えられますが一般的な2入力の論理ICを使うなら以下の構成でしょうか。
(1) 10個のAND、5個のOR、4個のNOT
(2) 8個のAND、6個のNOR、1個のNAND、4個のNOT
(3) 15個のNANDと4個のNOT
ABCDのうち0が1個か3個の場合(あるいは 1が1個か3個の場合)だけ A×B×C×D(×をXORの記号とします)が 1 になります。1のブロックが左上と右下に固まるように書いたカルノー図は下のようになります。
CD
AB|00 11 01 10
―┼――――――
01│ 1 1 0 0
10│ 1 1 0 0
00│ 0 0 1 1
11│ 0 0 1 1
否定を小文字または NOT( ) で、論理積をA・B、論理和を A+B で表わせば、左上のブロックの論理式は
a・B・c・d + a・B・C・D + A・b・c・d + A・b・C・D = a・B・( c・d + C・D ) + A・b・( c・d + C・D ) = ( a・B + A・b )・( c・d + C・D )
であり、右下のブロックの論理式は
a・b・c・D + a・b・C・d + A・B・c・D + A・B・C・d = a・b・( c・D + C・d ) + A・B・( c・D + C・d ) = ( a・b + A・B )・( c・D + C・d )
です。したがって結果が 1 となるのはそれらの論理和で
A×B×C×D = ( a・b + A・B )・( C・d + c・D ) + ( A・b + a・B )・( c・d + C・D ) --- (1)
= NOT[ NOT{ NOT( a・b + A・B ) + NOT( C・d + c・D ) } ・ NOT{ NOT{ NOT( A・b + a・B ) + NOT( c・d + C・D ) } ] --- (2)
となります。式(1)を使った場合は、10個のAND、5個のOR、4個のNOTを使えば論理回路が構成できます。式(2)の場合は8個のAND、6個のNOR、1個のNAND、4個のNOTを使えば回路が構成できます。
さらに
a・b + A・B = NOT{ NOT( a・b )・NOT( A・B ) }
C・d + c・D = NOT{ NOT( C・d ・NOT( c・D ) }
A・b + a・B = NOT{ NOT( A・b )・NOT( a・B ) }
c・d + C・D = NOT{ NOT( c・d ・NOT( C・D ) }
なので
A×B×C×D = NOT【 NOT[ NOT{ NOT( a・b )・NOT( A・B ) }・NOT{ NOT( C・d ・NOT( c・D ) } ]・NOT[ NOT{ NOT( A・b )・NOT( a・B ) }・NOT{ NOT( NOT( c・d ・NOT( C・D ) } ] 】
と、15個の2入力NANDと4個のNOTを使っても回路を構成できます。この場合論理ICが2種類で済みます。以下にその回路を示します。回路が複雑なので2つに分けて描きました。
A ┬────────────── NAND ─── NAND ─ NAND ─ NAND ─
└ NOT ───────┐┌──┘ ┌┘ ┌─┘ ┌┘
B ┬──────────)┘┌── NAND ─┘ │ │
└ NOT ──────┐└─┘ ┌┘ │ │
└────┘ │ │
C ┬────────────── NAND ── NAND ┘ │
└ NOT ─────┐ ┌──┘ ┌┘ │
D ┬────────)── )──- NAND -─┘ │
└ NOT ─────-)──┘ ┌┘ │
└────┘ │
│
A ┬────────────── NAND ─── NAND ─ NAND ┘
└ NOT ──────┐ ┌──┘ ┌┘ ┌┘
B ┬─────────)─)─── NAND ─┘ │
└ NOT ────── )─┘ ┌─┘ │
└──┘ │
C ┬────────────── NAND ─── NAND ┘
└ NOT ─────┐ ┌──┘ ┌┘
D ┬────────)──┘┌─- NAND -─┘
└ NOT ─────-)───┘ ┌┘
└────┘
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 ( A xor B ) xor B = A となることを論理演算表で完成させてください。 4 2022/10/27 02:12
- C言語・C++・C# [至急] Project Euler: #15 Lattice paths コード、入力、出力、解説 1 2022/09/24 02:34
- C言語・C++・C# [至急] Project Euler:#16 Power digit sumコード、入力、出力、解説 3 2022/09/24 02:35
- 計算機科学 進数の計算について質問です。 16進数のxorだったら0x7fffと0x8000の計算はどうなります 2 2022/05/17 10:11
- その他(ソフトウェア) 簡単な絵が描けるソフト(wordに挿入) 3 2022/05/20 22:16
- C言語・C++・C# [至急]Project Euler:#13Large sum コード、入力、出力、解説 1 2022/09/24 02:30
- Android(アンドロイド) Android携帯のキーボード入力で時間入力を簡単にしたい 1 2023/05/17 02:13
- Excel(エクセル) エクセルで、未来の月の数値を表示させないようにしたい 1 2022/05/07 18:58
- その他(IT・Webサービス) お気に入りやブックマークの整理はどうやったら上手く行きますか?目的のサイトがすぐに探せません 1 2022/10/14 11:35
- その他(ソフトウェア) シーケンスプログラムで。 1 2022/06/23 21:44
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
直流負荷線ってなんですかね、 ...
-
クランプ回路
-
波形整形回路で質問です。
-
オペアンプ/反転増幅器/頭打ち
-
電気回路のπ型回路の2端子対回...
-
同調回路と共振回路の違いについて
-
触れるだけタッチライトのしくみ
-
利得と増幅率
-
全波整流回路では順方向電圧降...
-
OPアンプの特性について
-
トランジスタ出力のひずみについて
-
WORDに論理回路図を書く
-
近接スイッチの2線式と3線式...
-
3端子レギュレータ、トランジス...
-
なぜ、RS-FF回路がチャタリング...
-
400V 3相4線式について...
-
微分回路、積分回路の出力波形...
-
トランジスタの電圧増幅率につ...
-
ハートレーとコルピッツ発振回...
-
オペアンプの入出力特性。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
400V 3相4線式について...
-
パルスとレベルについて
-
近接スイッチの2線式と3線式...
-
NPNとPNPの違いについて
-
電気設備で使われるGCの意味...
-
EVT(GPT)の電圧比について
-
同一電圧値、異なる電源供給源...
-
オペアンプを使用したアナログ...
-
3端子レギュレータ、トランジス...
-
4入力XORの論理式
-
[LT Spice] オペアンプのシミュ...
-
クランプ回路
-
電気回路について
-
利得と増幅率
-
オペアンプ/反転増幅器/頭打ち
-
オペアンプの故障に関する質問
-
60Hz誘導電動機を関東の50H...
-
電気回路のπ型回路の2端子対回...
-
オシロの入力インピーダンスに...
-
ベース変調方式におけるLC共振
おすすめ情報