我正在阅读David Harris、Sarah Harris的数字设计和计算机体系结构。作者给出了组合逻辑的以下定义:
组合电路的输出仅取决于输入的当前值;换句话说,它结合当前输入值来计算输出......组合电路是无记忆的,但时序电路有记忆。组合电路的功能规格用电流输入值表示输出值。
然而,他们声称这个电路不是组合的:
因为“节点 n6 连接到 I3 和 I4 的输出端”。事实上,当一个方案不能是组合时,它是指定的标志之一,但根据作者的说法:
某些违反这些规则的电路仍然是组合电路,只要输出仅取决于输入的当前值。
正如我能够理解的那样,上述电路就是这种情况:当且仅当其输入均为 1 时,其输出为 1,否则输出为 0。因此输出定义为输入的函数(AND功能)。
事实上,在计算机科学网络中已经有一个关于这个电路的问题,并且它有一个公认的答案。这是它的摘录:
电路 (d) 不能写成[公式]的这种形式,因为 I3 和 I4 的输出连接在一起。最右边门的输入与 I3 和 I4 的输出之间的关系是什么?不是可以组合描述的东西。
不幸的是,我仍然感到困惑,因为
- 该电路被视为一个黑匣子,仍然在组合逻辑定义的范围内:它的输出值仅取决于输入的当前值;
- 最右边门的输入与 I3 和 I4 的输出之间的关系可以通过电路输入的函数 NAND 来描述,这个函数非常“无记忆”。对我来说,为什么我们不能使用其他门的多个输出来描述一个门输入,这对我来说并不明显。
我需要详细说明。如果有人提供一个电路示例,当两个门输出连接到一个输入并且它实际上会导致“记忆”(与所考虑的样本相反)时,事情可能会到位。