快速理解异或门硬件架构:基于与非门的构建方法

从与非门到异或门:一场数字逻辑的“变形记”

你有没有想过,一个看似简单的“不同则输出1”的逻辑——异或门(XOR),在硬件层面其实并不像它表面那么“轻巧”?而在没有专用异或单元的芯片里,工程师又是如何用最基础的积木——与非门(NAND)——把它“搭”出来的?

这不仅是一个教科书上的练习题,更是理解数字电路设计精髓的关键一步。今天,我们就来拆解这场经典的“逻辑变形记”:如何仅用与非门构建出异或门


异或的本质:不只是“不一样”

先别急着画电路图,我们得先搞清楚——异或到底在做什么

它的行为非常直观:

ABA ⊕ B
000
011
101
110

一句话总结:相同为0,相异为1

数学表达式是:
$$
Y = A \oplus B = \overline{A}B + A\overline{B}
$$

这个公式看起来简单,但藏着两个关键动作:
- 要判断A=0 且 B=1
- 还要判断A=1 且 B=0
- 最后把这两个情况“或”起来

问题来了:如果我们手头只有与非门,怎么实现这些操作?

要知道,在CMOS工艺中,与非门是“万能选手”——它是功能完备的(functionally complete),也就是说,任何逻辑函数都可以只靠它来实现。哪怕你手里只有一块74HC00(四2输入与非门IC),理论上也能搭出整个计算机。

那现在的问题就变成了:怎么把 $ \overline{A}B + A\overline{B} $ 变成一堆“与非”?


德摩根出手:把“或”变成“与非”

要完成这个转换,我们需要请出数字逻辑界的“变形大师”——德摩根定律(De Morgan’s Theorem):

$$
\overline{X + Y} = \overline{X} \cdot \overline{Y}, \quad \overline{X \cdot Y} = \overline{X} + \overline{Y}
$$

我们的目标是消除原始表达式中的“或”和“非”,全部转成“与非”。

从原式出发:
$$
Y = \overline{A}B + A\overline{B}
$$

先对整体两次取反(不改变值):
$$
Y = \overline{\overline{ \overline{A}B + A\overline{B} }}
$$

然后应用德摩根,把“或”变成“与”的取反:
$$
Y = \overline{ \overline{(\overline{A}B)} \cdot \overline{(A\overline{B})} }
$$

看!现在整个表达式已经全是“与非”结构了!

再拆开来看:
- $ \overline{(\overline{A}B)} $ 是一个“与非”
- $ \overline{(A\overline{B})} $ 是另一个“与非”
- 它们的输出再做一次“与”,然后取反 → 又是一个“与非”

但这里还有个问题:我们还没有 $\overline{A}$ 和 $\overline{B}$

别忘了,与非门自己就能当反相器用

只要把一个输入接高电平,或者把两个输入短接,比如:
$$
\overline{A} = \overline{A \cdot A}
$$
这就是一个标准的“与非型反相器”。

所以,完整的构建路径浮出水面:

  1. 用两个与非门生成 $\overline{A}$ 和 $\overline{B}$
  2. 用两个与非门分别计算 $(\overline{A}B)’$ 和 $(A\overline{B})’$
  3. 把这两个结果再送进一个与非门,得到最终输出

等等……不是说只需要4个吗?怎么算出来要5个?

其实可以优化!

注意第3步:我们要的是
$$
Y = \overline{ \overline{(\overline{A}B)} \cdot \overline{(A\overline{B})} }
$$

这本身就是三个“与非”操作,但中间那两个 $\overline{A}$、$\overline{B}$ 的生成可以复用。

最终标准实现只需4个两输入与非门,结构如下:

+-------+ A ------|>o | na = (A·A)' = A' +-------+ | v +-------+ +-------+ na ---->| | t1 -> | | | NAND |------>| NAND |----> Y = ((na·B)' · (a·nb)')' B ------| | | | +-------+ +-------+ ^ ^ | | +-------+ | B ------|>o | nb | +-------+---------+ nb = (B·B)' = B'

虽然图画起来有点绕,但它清晰展示了:所有复杂逻辑,归根结底都能回归到最简单的通用门


实战代码:Verilog验证你的设计

理论说得再好,不如跑一遍仿真。下面这段Verilog代码,完全按照上述物理结构编写,用于功能验证:

module xor_from_nand ( input A, input B, output Y ); wire na, nb; // A', B' wire t1, t2; // (A'·B)', (A·B')' assign na = ~(A & A); // NOT A using NAND assign nb = ~(B & B); // NOT B using NAND assign t1 = ~(na & B); // (A'·B)' assign t2 = ~(A & nb); // (A·B')' assign Y = ~(t1 & t2); // Final NAND: ((A'·B)' · (A·B')')' = A⊕B endmodule

✅ 小贴士:虽然现代综合工具会自动将A ^ B映射为最优门级结构,但这种“手动搭建”方式在教学、FPGA资源受限场景或定制ASIC设计中仍有价值。

你可以写个测试平台,遍历所有输入组合,确认输出是否符合真值表。一旦通过,你就亲手完成了一次“从抽象到物理”的跨越。


硬件代价:性能与面积的权衡

理想很丰满,现实有成本。虽然4个与非门能实现异或功能,但这不是免费的午餐。

⚙️ 关键指标一览(基于65nm CMOS估算)

指标数值/说明
所需与非门数量4个
等效MOS管数~16个(每个与非门约4管)
逻辑层级延迟4级门延迟(关键路径)
动态功耗中等偏高(多节点翻转)
面积开销显著高于专用异或门(后者通常6~8管)
最大工作频率约500MHz以下(受延迟限制)

为什么延迟这么长?

因为信号要走一条“山路十八弯”:
1. A → 反相 → 得到 $\overline{A}$
2. $\overline{A}$ 与 B 做与非
3. 结果再参与最后的与非运算

这条路径上有4个门串联,每级都有传播延迟。在高速加法器中,这可能成为瓶颈。

相比之下,专用异或门可以用传输门或复合逻辑门直接实现,速度更快、面积更小。

那为什么还要用与非门搭?

答案是:通用性 > 性能


为什么这么做?背后的设计哲学

你可能会问:“既然有更快更好的方法,干嘛非要用4个与非门?”

这个问题触及了集成电路设计的核心思想之一:标准化与可制造性

🎯 场景一:老式PLD 或 微控制器无专用异或单元

在一些早期FPGA架构或裁剪版标准单元库中,为了节省面积,并不会提供异或门。这时候,设计师必须依赖基本门来“拼装”所需功能。

与非门是标准单元库中最优化、最常用的门,匹配度最好,布线最方便。

🛠 场景二:维修与替换逻辑板卡

想象你在修一台上世纪80年代的工业控制设备,发现某个异或门坏了。但备件库里根本没有74HC86(异或门IC),怎么办?

如果你知道“异或可用与非门实现”,那就简单了——换一块常见的74HC00(四与非门),重新跳线一下,问题解决。

这就是“以通代专”的实际意义:降低维护复杂度,提升系统鲁棒性

📚 场景三:教学与思维训练

在电子工程课程中,“用与非门实现异或”是一个经典实验项目。它迫使学生:

  • 熟练掌握布尔代数变换
  • 理解德摩根定律的实际应用
  • 建立“逻辑功能 ↔ 物理实现”的映射能力
  • 学会分析延迟路径和资源消耗

这种训练,远比直接调用IP核更有价值。


更进一步:它还能做什么?

别小看这个“异或生成器”,它其实是很多高级电路的起点。

🔢 半加器(Half Adder)

一位半加器的核心就是两个门:
- 和 S = A ⊕ B
- 进位 C = A · B

其中“和”正好由我们搭建的异或门提供。如果系统只能使用与非门,那么整个加法器都可以用同一种门实现。

🔍 数据比较器

两个数是否相等?逐位异或,结果全为0即相等。

在ALU中,这用于实现CMP指令;在通信中,用于帧校验。

🔐 加密与混淆

AES、SM4等算法中大量使用异或进行字节混淆。虽然现代处理器有专用指令,但在轻量级IoT设备或侧信道防护设计中,仍可能采用门级重构来增强安全性。

🧮 奇偶校验生成

串行异或所有数据位,即可得出奇偶标志。这是UART、内存ECC等系统的基础功能。


写在最后:从“积木思维”到系统设计

你看,一个小小的异或门,背后牵扯出的是整个数字系统的设计逻辑。

我们从中看到的不仅是技术细节,更是一种思维方式:

用有限的通用组件,构造无限的功能可能

这正是集成电路的魅力所在——无论是FPGA的查找表,还是ASIC的标准单元库,本质上都是在重复这样的过程:把复杂的逻辑,分解成最基本的单元,再高效地组合起来

下次当你看到一片芯片上亿个晶体管时,不妨想想:它们之中,有多少正在默默执行着“与非”操作,支撑着整个数字世界的运行?

而你,已经掌握了其中最关键的一环。

如果你也曾在实验室里拿着74系列IC搭过逻辑门,欢迎在评论区分享你的“数字电路初体验”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1151185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MediaPipe Pose效果惊艳!舞蹈动作捕捉案例展示

MediaPipe Pose效果惊艳!舞蹈动作捕捉案例展示 1. 引言:从舞蹈到AI——姿态估计的现实应用 1.1 舞蹈教学中的技术痛点 在现代舞蹈教学与训练中,动作标准化和姿态纠正一直是核心挑战。传统方式依赖教练肉眼观察,主观性强、反馈延…

AI姿态估计技术解析:MediaPipe Pose模型架构详解

AI姿态估计技术解析:MediaPipe Pose模型架构详解 1. 技术背景与核心挑战 随着计算机视觉技术的快速发展,人体姿态估计(Human Pose Estimation)已成为智能健身、动作捕捉、虚拟现实和人机交互等领域的关键技术。其核心目标是从单…

人体动作分析系统:MediaPipe Pose部署与优化

人体动作分析系统:MediaPipe Pose部署与优化 1. 引言:AI 人体骨骼关键点检测的工程价值 随着计算机视觉技术的发展,人体姿态估计(Human Pose Estimation)已成为智能健身、虚拟试衣、动作捕捉、人机交互等场景的核心支…

零基础玩转骨骼关键点检测:MediaPipe镜像保姆级教程

零基础玩转骨骼关键点检测:MediaPipe镜像保姆级教程 1. 引言:为什么你需要关注人体骨骼关键点检测? 在计算机视觉的众多分支中,人体姿态估计(Human Pose Estimation)正迅速成为智能交互、运动分析、虚拟现…

vivado2023.2下载安装教程:项目应用前的环境验证方法

Vivado 2023.2 安装全攻略:从下载到环境验证,一步到位打造稳定FPGA开发平台 你是不是也经历过这样的场景?好不容易下完几十GB的Vivado安装包,结果安装到一半卡死;或者刚打开软件就弹出“License not available”警告&…

MediaPipe Pose部署教程:33个关键点检测代码实例详解

MediaPipe Pose部署教程:33个关键点检测代码实例详解 1. 引言 1.1 AI 人体骨骼关键点检测的应用价值 随着计算机视觉技术的快速发展,人体姿态估计(Human Pose Estimation)已成为智能健身、动作捕捉、虚拟试衣、安防监控等领域的…

AI姿态估计入门必看:MediaPipe Pose极速CPU版使用手册

AI姿态估计入门必看:MediaPipe Pose极速CPU版使用手册 1. 技术背景与应用价值 随着人工智能在计算机视觉领域的深入发展,人体姿态估计(Human Pose Estimation)已成为智能健身、动作捕捉、虚拟试衣、人机交互等场景的核心技术之一…

网站信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着信息技术的快速发展,网站信息管理系统成为企业和机构高效管理数据的重要工具。传统的静态网站或单一架构的系统在灵活性、扩展性和维护性方面存在明显不足,无法满足现代动态业务需求。基于此,开发一套集成前后端技术的网站信息管理系…

人体骨骼检测案例:MediaPipe Pose在体育分析中

人体骨骼检测案例:MediaPipe Pose在体育分析中的应用 1. 引言:AI 人体骨骼关键点检测的现实价值 随着人工智能技术在计算机视觉领域的深入发展,人体姿态估计(Human Pose Estimation)已成为智能健身、运动分析、虚拟现…

elasticsearch 201状态码在日志分析中的实际意义(核心要点)

深入理解 Elasticsearch 的 201 状态码:日志写入成功的真正信号在现代云原生架构中,日志不再是简单的调试输出,而是系统可观测性的核心支柱。每天数以亿计的日志事件被采集、索引、分析,支撑着故障排查、安全审计和业务监控。而在…

视频动作分析神器:MediaPipe骨骼检测镜像避坑指南

视频动作分析神器:MediaPipe骨骼检测镜像避坑指南 1. 引言:为什么选择MediaPipe做动作分析? 在智能健身、远程康复、体育训练等领域,人体姿态估计(Human Pose Estimation)正成为核心技术。通过精准识别视…

AI骨骼关键点检测:MediaPipe Pose模型蒸馏

AI骨骼关键点检测:MediaPipe Pose模型蒸馏 1. 技术背景与应用价值 随着人工智能在计算机视觉领域的深入发展,人体姿态估计(Human Pose Estimation)已成为智能健身、动作捕捉、虚拟现实和人机交互等场景的核心技术之一。其核心目…

MediaPipe Pose性能优化指南:让骨骼检测速度提升3倍

MediaPipe Pose性能优化指南:让骨骼检测速度提升3倍 1. 引言:为什么需要优化MediaPipe Pose? 随着AI在健身指导、动作识别、虚拟试衣等场景的广泛应用,实时人体姿态估计已成为智能交互系统的核心能力之一。Google开源的 MediaPi…

健身动作分析实战:MediaPipe Pose镜像快速搭建教程

健身动作分析实战:MediaPipe Pose镜像快速搭建教程 1. 引言:为什么需要本地化人体骨骼关键点检测? 在智能健身、运动康复和体态评估等场景中,精准的人体姿态识别是实现自动化分析的核心前提。传统依赖云端API或复杂深度学习框架…

通过VSCODE下在markdown插件编辑查看

目录 一、下载markdown editor 二、发送给朋友 1.下VS Code Markdown PDF 插件 2.右击空白区域保存 三、和朋友一起在线协作 1.下载Live Share插件 2.开始共享 3.拿到邀请链接 4.其他人通过浏览器打开 5.host调整模式 前言: 有的时候我们有写文档的需求…

从零开始:Vue2中集成v-scale-screen入门必看

Vue2大屏适配神器:用 v-scale-screen 实现设计稿级还原 你有没有遇到过这样的场景?设计师甩来一张 19201080 的 Figma 稿,信誓旦旦说“按这个做就行”,结果上线后在指挥中心的 4K 屏上内容被拉伸变形,在会议室投影仪…

健身教练都在用!AI骨骼检测镜像快速部署指南

健身教练都在用!AI骨骼检测镜像快速部署指南 1. 引言:为什么健身行业需要AI姿态分析? 在智能健身、运动康复和体态评估领域,精准的人体动作捕捉正成为提升训练效果的核心工具。传统依赖专业设备(如动捕服、红外摄像头…

健身动作分析避坑指南:用MediaPipe镜像少走弯路

健身动作分析避坑指南:用MediaPipe镜像少走弯路 1. 引言:为什么健身动作需要AI辅助分析? 在现代健身训练中,动作标准性直接关系到训练效果与运动损伤风险。无论是深蹲、硬拉还是瑜伽体式,微小的姿态偏差都可能导致肌…

AI火柴人生成器:MediaPipe镜像创意应用实战

AI火柴人生成器:MediaPipe镜像创意应用实战 1. 引言:从姿态估计到“AI火柴人”的创意落地 人体骨骼关键点检测,作为计算机视觉中的基础任务之一,广泛应用于动作识别、虚拟现实、健身指导、动画制作等领域。近年来,随…

小白指南:初识UDS 27服务的安全级别概念

打开汽车“保险箱”的钥匙:深入理解UDS 27服务中的安全级别机制你有没有想过,为什么4S店的技术员能刷新你的发动机控制程序,而普通OBD设备却连VIN码都读不出来?或者,在OTA升级时,车辆是如何确保只有来自主机…