具有超过 2 个输入的 XOR 应该如何工作?

电器工程 数字逻辑
2022-01-27 10:20:43

我刚开始学习计算机工程,我对 XOR 门的行为有些怀疑。

我一直在用 Logisim 投影电路,其 XOR 的行为与我所学的不同。对我来说,它应该充当奇偶校验门,只要输入接收到奇数组合,就会提供高输出。但是,它不会超过两个输入。它应该如何表现?

我还在一本书中读到,异或门不是由两个以上的输入产生的。那是对的吗?为什么?

4个回答

关于具有两个以上输入的异或门的行为方式存在不同的观点。大多数情况下,这样的 XOR 门的行为类似于 2 输入门的级联并执行奇校验功能。但是,有些人从字面上解释异或的含义,并说当且仅当其中一个输入恰好是 1 时,输出才应该是 1。我似乎确实记得 Logisim 使用后一种解释,并且在某处我生锈的记忆我曾在一个 ASIC 单元库中看到它。异或门的国际标准符号之一是一个矩形标记=1,似乎更符合“1 且只有 1”的定义。

编辑:异或定义为“1且只有1”并不常见,但可以找到。例如,IEEE-Std91a-1991 在 p 上给出了异或符号。62 带有注释:“如果两个输入中的一个且只有一个处于其 1 状态,则输出处于其 1 状态。” 对于超过 2 个输入,标准建议改用“奇校验”符号。讨论这种令人困惑的情况的网站包括XOR: The Interesting GateTAMS 的门演示谷歌搜索也会出现声称,严格来说,没有多于两个输入的异或门这样的东西。

在两门 XOR 上,当输入不同时,输出为高电平。如果输入相同,则输出为低。

因此这个真值表:

在此处输入图像描述

您可以找到具有两个以上输入的 XOR 门,但它们实际上不是 3 输入 XOR。他们对输入 A 和 B 进行异或运算,然后它们的结果“R”与输入 C 进行异或。R XOR C 的结果然后与输入 4 进行异或,依此类推。

这是显示的三个输入 XOR 的真值表:

在此处输入图像描述

一个简单的奇偶校验算法是通过例如以太网对接收到的消息中的位进行异或运算。如果发送方和接收方知道对消息位进行异或应该为 0(提供消息中的一位以便能够添加一个,以便在异或时任何长度的消息都可以为 0),那么接收方可以知道是否为 1位已翻转。这是一个糟糕的奇偶校验,因为它只能找到奇数的比特变化,但显示了这个概念。

如果您采用 4 个输入并将两个输入到一个 XOR 并将两个输入到另一个,然后将两个 XOR 输出输入到第三个 XOR,它的输出会执行您认为应该做的事情(我认为)。

XOR 不完全是奇偶校验门。如果在一个且只有一个输入为 1 时将 XOR 的输出定义为 1,则三输入 XOR 将为您提供全 1 输入的 0。这不经常使用,因此很少有 3 输入 XOR 门。

大多数人说 XOR 是模 2 加法时的意思,这正是奇偶校验器。大多数标记为 3 输入 XOR 的门实际上是模 2 加法门。对于两个输入,模 2 加法与 XOR 相同,但上述 XOR 中的 0 是模 2 门中的 1。具有任意数量输入的模 2 门可以从简单的两输入 XOR 门产生。