📜  门| GATE CS 1996 |问题19(1)

📅  最后修改于: 2023-12-03 15:28:36.958000             🧑  作者: Mango

门| GATE CS 1996 |问题19

这是GATE CS 1996中的一个问题,涉及到逻辑门和布尔代数。

题目描述

某人设计了一个电路,该电路有三个输入A、B和C和一个输出X,如下所示:

电路图

其中,表示逻辑非门(NOT),表示逻辑与门(AND)和表示逻辑或门(OR)。

该电路实现的布尔函数f(A, B, C)的真值表如下:

| A | B | C | f(A, B, C) | |:-:|:-:|:-:|:----------:| | 0 | 0 | 0 | 1 | | 0 | 0 | 1 | 0 | | 0 | 1 | 0 | 1 | | 0 | 1 | 1 | 0 | | 1 | 0 | 0 | 1 | | 1 | 0 | 1 | 1 | | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 |

请根据所给信息回答以下问题:

  1. 电路中的每一个非门(NOT)相当于哪个类型的门?
  2. 电路中的每一个与门(AND)相当于哪个类型的门?
  3. 电路中的每一个或门(OR)相当于哪个类型的门?
  4. 给出电路中每个非门(NOT)的输⼊和输出。
  5. 给出电路中每个与门(AND)的输⼊和输出。
  6. 给出电路中每个或门(OR)的输⼊和输出。
  7. 完整的电路图中使用了几个非门(NOT),几个与门(AND)和几个或门(OR)?
解题思路

对于每一行真值表,找到输出为1的情况并将其转化为布尔表达式,则可得到以下结果:

f(A, B, C) = (not A and not C) or (not A and B) or (A and C) or (A and not B and not C)

根据布尔表达式,可以推导出每个逻辑门的输入和输出。

  1. 非门(NOT)相当于一组输入、一组输出均为1的异或门(XOR)。
  2. 与门(AND)相当于三个输入、一个输出均为1的与非门(NAND)。
  3. 或门(OR)相当于三个输入、一个输出均为0的与门(AND)。

具体证明如下:

  1. 对于非门(NOT),其输入为A、B或C之一,输出为A'、B'或C'之一。根据异或门的定义,当两个输入不同时,输出为1;当两个输入相同时,输出为0。因此,如果将输入与输出通过异或门连接起来,则可得到非门。例如,将A与A'通过异或门连接,则当A=0时,输出为1;当A=1时,输出为0,即为非门的输出。

  2. 对于与门(AND),其输入为A、B和C,输出为X。根据与非门的定义,当两个输入均为1时,输出为0;否则输出为1。因此,将输出X与一个与非门相连,其中输入为A、B和C,输出为Y,则可得到与门。如果X=1,则A、B和C中至少有一个为0,因此Y=0;如果X=0,则A、B和C均为1,因此Y=1。

  3. 对于或门(OR),其输入为A、B和C,输出为X。根据与门的定义,当两个输入均为0时,输出为0;否则输出为1。因此,将A、B和C各与一个非门相连,其中输入为A、B和C,输出为P、Q和R,则可得到或门。如果X=0,则P、Q和R均为1,因此A、B和C中至少有一个为0,满足或门的定义;如果X=1,则P、Q和R中至少有一个为0,因此A、B和C中至少有一个为1,不满足或门的定义。

在得到每个逻辑门的输入输出之后,可以回答每一个问题。

回答问题
  1. 非门(NOT)相当于一组输入、一组输出均为1的异或门(XOR)。
  2. 与门(AND)相当于三个输入、一个输出均为1的与非门(NAND)。
  3. 或门(OR)相当于三个输入、一个输出均为0的与门(AND)。
  4. 每个非门(NOT)的输入分别为A、B、C,输出分别为A'、B'、C'。
  5. 每个与门(AND)的输入分别为A、B、C,输出为X。
  6. 每个或门(OR)的输入分别为A、B、C,输出为X。
  7. 完整的电路图中使用了1个非门(NOT),2个与门(AND)和1个或门(OR)。
参考文献
  1. Boolean algebra and logic gates
  2. Logic circuit simplification (SOP and POS)