贵州电子信息职业技术学院实训中心电工电子与控制 · 虚拟仿真

简单差异检测器

带 NOT 门的基础 XOR 差异检测器。以简单方式入门使用异或逻辑检测变化。

交互式仿真

本地工程状态

原作者完整工程已本地恢复;实际验证范围见交付清单。原远程交互电路已停用。

载入 H57 简单差异检测器 的本机副本。载入前会确认当前工程的保存选择。

学习目标

  • 使用异或判断两个单比特输入何时不同。
  • 通过对异或结果取反推导同或相等函数。
  • 验证全部四种输入组合下的 MATCH 输出。
  • 区分内部 DIFF 节点与电路中唯一的可见输出。
  • 理解该 1 位函数与多位相等比较器、采样式边沿检测器之间的关系。

工作原理

该电路比较两个单比特输入 A 和 B。异或门首先计算内部差异信号 DIFF = A ⊕ B。两个输入不同时,DIFF 为逻辑高电平;两个输入相等时,DIFF 为逻辑低电平。

随后,非门对 DIFF 取反,其输出驱动电路中唯一的输出指示灯 MATCH。因此,MATCH = ¬(A ⊕ B) = A ⊙ B:输入为 00 或 11 时指示灯为逻辑高电平,输入为 01 或 10 时为逻辑低电平。这是以异或门后接非门明确实现的同或相等函数。

原理图没有使用第二个输出指示灯显示 DIFF。DIFF 只是两个逻辑门之间的内部节点,可见输出仅有 MATCH。从任一开关到指示灯,信号都要经过两级逻辑门,因此在不计互连延迟的情况下,组合逻辑深度为两级门延迟。

明确展开的两级结构有助于教学,因为它直观展示了取反关系。在生产用标准单元库中,直接使用同或单元可实现相同的单一输出,但其面积、功耗和时序特性可能不同。

真值表

MATCH 是 A 与 B 的同或结果。输入对相等时,唯一输出为逻辑高电平;输入对不等时为逻辑低电平。

输入输出
ABMATCH
001两个输入均为逻辑低电平;DIFF=0,MATCH=1。
010两个输入不同;DIFF=1,MATCH=0。
100两个输入不同;DIFF=1,MATCH=0。
111两个输入均为逻辑高电平;DIFF=0,MATCH=1。

布尔表达式

DIFF=A⊕B\mathrm{DIFF} = A \oplus B

异或门生成内部差异信号;当且仅当 A 与 B 不同时,该信号为逻辑高电平。

MATCH=DIFF‾=A⊕B‾=A⊙B\mathrm{MATCH} = \overline{\mathrm{DIFF}} = \overline{A \oplus B} = A \odot B

非门对内部差异信号取反,因此当且仅当 A 与 B 相等时,唯一可见的 MATCH 输出为逻辑高电平。

DIFF+MATCH=1\mathrm{DIFF} + \mathrm{MATCH} = 1

DIFF 与 MATCH 互为逻辑反相。DIFF 是本原理图中的内部节点,并非第二路输出指示灯。

逐步尝试

在上方嵌入式电路中设置输入,然后阅读预期结果并验证。

  1. 1
    A = 0B = 0
    预期: MATCH = 1
    观察结果: A=0、B=0 时,异或门生成 DIFF=0。非门对其取反,因此 MATCH 指示灯为逻辑高电平。
  2. 2
    A = 1B = 0
    预期: MATCH = 0
    观察结果: A=1、B=0 时,异或门生成 DIFF=1。取反后,MATCH 为逻辑低电平。
  3. 3
    A = 1B = 1
    预期: MATCH = 1
    观察结果: A=1、B=1 时,两个输入再次相等。DIFF 恢复为逻辑低电平,MATCH 变为逻辑高电平。
  4. 4
    A = 0B = 1
    预期: MATCH = 0
    观察结果: A=0、B=1 时,两个输入不同。DIFF 为逻辑高电平,可见的 MATCH 输出为逻辑低电平。

所用元件

实际应用

单比特相等检查。 控制逻辑可以检查状态位是否与期望模式位一致。

总线相等比较器。 对每一位应用相等函数,并对结果进行与归约,即可生成 N 位全相等信号,用于处理器比较、缓存标签检查和协议逻辑。

边沿与变化检测。 将当前信号与经过寄存的先前采样值进行异或运算,在任一方向的转换后均可产生差异指示;该功能需要当前电路中没有的存储元件。

奇偶校验与错误逻辑。 异或网络可汇总是否有奇数个输入位有效;对其结果取反即可选择相反的奇偶校验约定。

相位比较。 对于频率相同的两个周期数字信号,在可用范围内,异或节点会产生与其相位差相关的占空比。

常见问题

为什么使用异或门后接非门,而不是单个同或门?

该双门链可直观显示 XNOR = NOT(XOR) 这一恒等关系。如果只需要 MATCH,且组件库提供同或门,则可用一个同或门替代这两个门。如果同时需要 DIFF 和 MATCH,可在反相器前从异或节点引出信号,从同一条链获得两路互补信号。

如何将该电路扩展为多位相等比较?

为每一位生成一个相等结果,再对全部结果进行与运算,即可得到所有位均相等的信号。每一位既可直接使用同或门,也可采用此处所示的异或加反相结构。

内部异或节点与边沿检测有何关系?

将信号与经过延迟和寄存的副本进行比较。只要延迟和时钟设计正确,任一方向转换后,异或节点 DIFF 都会在一个采样间隔内变为逻辑高电平。在本原理图中,DIFF 是内部信号,可见指示灯显示其反相信号 MATCH。

该电路是同步电路还是异步电路?

它是组合电路:MATCH 会在经过异或门和非门的传播延迟后跟随 A 与 B。电路中没有时钟或存储元件。如需比较当前采样值与先前采样值,必须外接触发器或寄存器。

异或加反相是否始终是最高效的硬件实现?

不存在通用的晶体管数量结论。实际结果取决于半导体工艺、静态 CMOS(互补金属氧化物半导体) 或传输门拓扑、驱动能力、负载以及经过表征的标准单元库。综合时应针对实际目标比较可用的异或、同或和反相器单元。

继续学习

进阶课程