📅  最后修改于: 2023-12-03 15:41:50.061000             🧑  作者: Mango
这是 GATE CS 1998 的第23个问题,涉及到电路和布尔代数的基本知识。以下是问题的描述:
给定一个 4-输入的多路开关电路,有两个输入变量 $x_1$ 和 $x_2$,和两个输出变量 $f_1$ 和 $f_2$,如下所示:
___________
x1 ---| |
| SWITCH |--------- f1
x2 ---|___________|
|
|
|__________
___________ |
x1 ---| | |
| SWITCH |------ f2
x2 ---|___________|__|
在变量 $x_1$ 和 $x_2$ 取值的所有可能情况下,给定下表中的输出是否可行:
| $x_1$ | $x_2$ | $f_1$ | $f_2$ | |:------:|:------:|:------:|:------:| | 0 | 0 | 0 | 0 | | 0 | 1 | 1 | 1 | | 1 | 0 | 1 | 1 | | 1 | 1 | 0 | 0 |
请问这个电路是否是可行的,如果是,请给出一个实现它的布尔表达式。
我们可以用真值表来检查这个电路是否是可行的。根据真值表,我们可以将 $f_1$ 和 $f_2$ 的布尔表达式写出来。对应的布尔表达式分别为:
$$ f_1 = \lnot x_1 \land x_2 \ f_2 = x_1 \land \lnot x_2 $$
因此,这个电路是可行的,并且可以用以下逻辑门来实现:
____
x1 --| |
| NAND|--f2
|____|
|
y1 ----| ____
|____| |
x2 ----------| NAND|--f1
|____|
这个问题考察了我们对布尔代数和逻辑门的基本知识。我们需要将输入变量的所有可能取值带入电路中,检查输出变量是否符合所给定的真值表中的输出。如果符合,我们需要给出相应的布尔表达式,并使用逻辑门构建电路。