基于逻辑的灯光系统

Logic-based light system

我需要开发一个系统,当所有三个开关都关闭时打开红灯,并在三个开关中的任意两个关闭时打开橙色灯。红灯部分已经用一个简单的或非门进行了排序。但是,我在使用橙色灯时遇到了问题。红灯亮时,橙灯必须熄灭。因此,当橙色灯亮起时,三个开关中只有两个可以关闭。如果一个开关关闭,什么也不会发生,两盏灯都保持亮着。如果所有开关都打开,则相同。如果三个开关中的任意两个关闭,则只有橙色灯亮起。如果所有三个开关都关闭,则只有红灯亮起。我无法理解让这一切同时工作的逻辑,有人知道吗?我使用 logic.ly 编辑器来完成此操作。

非常感谢。

Inputs  |  Outputs
C  B  A | Red   Orange
--------+--------------
0  0  0 |  1      0
0  0  1 |  0      1
0  1  0 |  0      1
0  1  1 |  0      0
1  0  0 |  0      1
1  0  1 |  0      0
1  1  0 |  0      0
1  1  1 |  0      0

这里最简单的正则形式是Zhegalkin多项式:A&B&C⊕A⊕B⊕C。

因此:

不幸的是,您已经构建的 "red" 电路在构建 "orange" 电路时无法有效地重复使用。


异或的logic.ly editor also supports the one-hot generalization,给出了"orange"电路最简单的解法:


整个电路: