問題文
図のように、入力信号A, B及びC、出力信号Zの論理回路がある。
この論理回路の真理値表として、正しいものを次の(1)~(5)のうちから一つ選べ。
(回路図の構成:NAND, OR, NAND, NAND等の組み合わせ)
図はタップで拡大できます。
選択肢
-
(1)
入力000→0, 001→1, 010→1, 011→0... (パリティ的動作)
-
-
-
-
回路を追っていくと以下のようになります。
1. 上段NAND: \( \overline{A \cdot B} \)
2. 下段OR: \( A + B \)
3. 中段NAND: \( \overline{ (\overline{A \cdot B}) \cdot (A + B) } \)
これはXORの否定、つまりXNOR (一致回路) となります。\( A \odot B \)。
(A=Bなら1, A≠Bなら0)
これを \( X \) と置きます。
4. 右側の回路は、信号 \( X \) と \( C \) を入力として、同様のXNOR構成(またはXOR構成)になっています。
詳細な解析:
* 右上OR: \( X + C \)
* 右下NAND: \( \overline{X \cdot C} \)
* 出力Z (NAND): \( \overline{ (X+C) \cdot (\overline{X \cdot C}) } \)
これはXORの否定の否定? いえ、\( (X+C)(\overline{XC}) \) は XOR (排他的論理和) です。
それのNAND(否定)をとっているので、最終的な出力 Z は \( \overline{X \oplus C} = X \odot C \) (XNOR)となります。
つまり、全回路は \( Z = (A \odot B) \odot C \) という構成です。
これは「偶数パリティ」のような動作をします(1の個数が偶数個なら1?確認します)。
* 0,0,0 -> A=B(1) -> 1と0のXNOR -> 0
* 0,0,1 -> A=B(1) -> 1と1のXNOR -> 1
* 0,1,0 -> A≠B(0) -> 0と0のXNOR -> 1
* 0,1,1 -> A≠B(0) -> 0と1のXNOR -> 0
* 1,0,0 -> A≠B(0) -> 0と0のXNOR -> 1
* 1,0,1 -> A≠B(0) -> 0と1のXNOR -> 0
* 1,1,0 -> A=B(1) -> 1と0のXNOR -> 0
* 1,1,1 -> A=B(1) -> 1と1のXNOR -> 1
Zの出力列: 0, 1, 1, 0, 1, 0, 0, 1
これに合致するのは選択肢(1)です。