0

我正在阅读David Harris、Sarah Harris的数字设计和计算机体系结构。作者给出了组合逻辑的以下定义:

组合电路的输出仅取决于输入的当前值;换句话说,它结合当前输入值来计算输出......组合电路是无记忆的,但时序电路有记忆。组合电路的功能规格用电流输入值表示输出值。

然而,他们声称这个电路不是组合的:

因为“节点 n6 连接到 I3 和 I4 的输出端”。事实上,当一个方案不能是组合时,它是指定的标志之一,但根据作者的说法:

某些违反这些规则的电路仍然是组合电路,只要输出仅取决于输入的当前值。

正如我能够理解的那样,上述电路就是这种情况:当且仅当其输入均为 1 时,其输出为 1,否则输出为 0。因此输出定义为输入的函数(AND功能)。

事实上,在计算机科学网络中已经有一个关于这个电路的问题,并且它有一个公认的答案。这是它的摘录:

电路 (d) 不能写成[公式]的这种形式,因为 I3 和 I4 的输出连接在一起。最右边门的输入与 I3 和 I4 的输出之间的关系是什么?不是可以组合描述的东西。

不幸的是,我仍然感到困惑,因为

  • 该电路被视为一个黑匣子,仍然在组合逻辑定义的范围内:它的输出值仅取决于输入的当前值;
  • 最右边门的输入与 I3 和 I4 的输出之间的关系可以通过电路输入的函数 NAND 来描述,这个函数非常“无记忆”。对我来说,为什么我们不能使用其他门的多个输出来描述一个门输入,这对我来说并不明显。

我需要详细说明。如果有人提供一个电路示例,当两个门输出连接到一个输入并且它实际上会导致“记忆”(与所考虑的样本相反)时,事情可能会到位。

4

1 回答 1

3

电路 (d) 不是组合电路,因为它根本不是逻辑门电路。
我认为这是解释组合电路与时序电路的一个非常愚蠢的例子。

在逻辑电路中,一条输出线不能连接到另一条输出线。您假设输出连接在一起时,将充当它们自身的逻辑 OR 或 AND。
这不是真的(否则我们为什么要首先使用AND/OR门?)。
会发生什么取决于门的具体实现(即您使用的特定 IC 或制造工艺),这不是逻辑电路要建模的东西
无论您使用什么品牌,逻辑电路的行为都必须相同。

在电路 (d) 中,I3 的输出将同时馈入最右边 NOT 的输入和 I4 的输出(互补也是如此)。
如果电流从它们的输出流入,大多数 IC 会损坏,其他 IC 不会,但它们会干扰最右边的 NOT 感应其输入的能力。
逻辑电路仍然是电路,因此理论上您应该执行完整的电路分析,包括求解微分方程,以求解其输出。
数字电子学是一个从这些“低级”细节中抽象出来的分支,但代价是做出一些假设,其中之一是:没有门就永远不会合并输出。

组合电路的全部意义在于您可以编写out = f(in0, in1, ..., ink),但并非总是可行。以边缘检测器
为例,根据排中法则,它应该总是输出。 但它不会因为路径需要稍长的时间才能到达输入。 你如何用函数来描述这种动态行为?f(A) = (NOT A) AND A0
NOT AAND
f(A)

不要想太多,当您了解时序电路时,您会立即发现差异(如果您需要预览,请查找“锁存电路”)。

于 2021-03-12T15:48:58.980 回答