news 2026/6/10 2:36:33

基于或非门的逻辑综合:组合电路设计通俗解释

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于或非门的逻辑综合:组合电路设计通俗解释

从一个门开始:用或非门“搭”出整个数字世界

你有没有想过,一个看似简单的逻辑门,真的能撑起整个数字系统?

在现代芯片内部,成千上万的晶体管协同工作,完成着加法、判断、存储等复杂任务。而这些功能的起点,往往只是几个基本的逻辑门——与、或、非、异或……但你知道吗?哪怕只给你一种门,只要它是或非门(NOR Gate),你也完全可以构建出任意复杂的数字电路。

这不是理论游戏,而是实实在在的工程能力。本文不讲空泛概念,我们直接动手:从最基础的反相器开始,一步步用或非门“造”出所有其他逻辑功能,最后完整设计一个三人表决电路,带你亲历一次真实的基于或非门的逻辑综合全过程


或非门不止是“或+非”,它是一个通用构建块

先来认识这位“低调的实力派”。

两输入或非门的输出规则很简单:有1出0,全0出1。它的布尔表达式是:

$$
Y = \overline{A + B}
$$

听起来很普通?但它藏着一个惊人的特性——功能完备性(Functional Completeness)。也就是说,仅靠或非门这一种元件,就能实现任何布尔函数。

这就像给你一套乐高积木,虽然每块都长一样,但你能拼出飞机、城堡甚至机器人。或非门就是数字世界的那种“万能积木”。

为什么偏偏是它和与非门(NAND)有这样的能力?因为它们都具备“非”操作和某种形式的“或”或“与”组合,足以覆盖逻辑系统的全部表达空间。


怎么用或非门“变”出其他逻辑门?

既然它是万能的,那具体怎么“变”?下面我们一步步拆解,看看如何仅用或非门实现非、或、与、与非、异或这五大基本逻辑。

1. 非门(NOT):把两个输入接在一起就行

这是最简单的技巧:把同一个信号同时接到或非门的两个输入端。

$$
Y = \overline{A + A} = \overline{A}
$$

就这么简单,一个反相器就出来了。这种“自短接”方式在实际设计中非常常见,尤其是在资源受限的场景下。

┌─────────┐ A ───┤\ │ │ NOR ├── Y = ¬A A ───┤ │ └─────────┘

小贴士:这其实利用了CMOS结构中的对称性——即使只有一个有效输入,电路依然能稳定翻转电平。


2. 或门(OR):两次“否定”等于肯定

我们知道:
$$
A + B = \overline{\overline{A + B}} = \text{NOT}(A ↓ B)
$$

所以思路就很清晰了:

  • 第一步:用一个或非门得到 $ \overline{A+B} $
  • 第二步:再用一个或非门当反相器,对其取反

最终结果就是 $ A + B $。

总共用了两个或非门。这就是“双重否定得肯定”的硬件实现。


3. 与门(AND):靠德摩根定律“绕个弯”

直接用或非门做“与”显然不行,但我们有数学工具——德摩根定律

$$
A \cdot B = \overline{\overline{A} + \overline{B}}
$$

这个公式告诉我们:“与”可以转化为“对反变量求或后再取反”。而这正是或非门擅长的事。

实现步骤:

  1. 先分别对 A 和 B 取反 → 各用一个或非门做反相器
  2. 把 $ \overline{A} $ 和 $ \overline{B} $ 输入第三个或非门

输出就是:
$$
Y = \overline{\overline{A} + \overline{B}} = A \cdot B
$$

一共三个或非门。虽然比直接用与门多花了资源,但在纯或非架构中,这是标准解法。


4. 与非门(NAND):在与门后面再加一级反相

有了与门,要得到与非门就容易了:再加一个反相器。

也就是在上面三个门的基础上,第四个或非门用来对输出取反:

$$
Y = \overline{A \cdot B} = [(A ↓ A) ↓ (B ↓ B)] ↓ [(A ↓ A) ↓ (B ↓ B)]
$$

注意最后一个门的两个输入是相同的——又是“自短接”技巧。


5. 异或门(XOR):稍微复杂一点,但也能搞定

异或的表达式是:
$$
A ⊕ B = A\overline{B} + \overline{A}B
$$

直接转换比较麻烦,但我们可以通过代数变换找到高效的或非实现方式。

一个已被验证的结构是:

$$
A ⊕ B = [A ↓ (A ↓ B)] ↓ [B ↓ (A ↓ B)]
$$

我们来快速验证一下真值表的关键点:

  • 当 A=0, B=0:
    $ A↓B = 1 $,然后 $ A↓(A↓B)=0↓1=0 $,同理右边也是0 → 最终 $ 0↓0 = 1 $ ❌不对!

等等,这里有问题?别急,上面那个公式其实是错的常见写法。

正确的五门实现应基于以下推导:

先定义:
- $ P = A ↓ B = \overline{A + B} $
- $ Q = A ↓ P = \overline{A + \overline{A+B}} = \overline{A} \cdot (A+B) = \overline{A}B $
- $ R = B ↓ P = \overline{B + \overline{A+B}} = A\overline{B} $

然后:
$$
S = Q ↓ R = \overline{Q + R} = \overline{\overline{A}B + A\overline{B}} = \overline{A ⊕ B}
$$

最后:
$$
T = S ↓ S = \overline{S} = A ⊕ B
$$

所以完整路径需要五个两输入或非门

  1. $ P = A ↓ B $
  2. $ Q = A ↓ P $
  3. $ R = B ↓ P $
  4. $ S = Q ↓ R $
  5. $ T = S ↓ S $

虽然层级多了些,延迟也更大,但在只能使用或非门的系统中,这是可行方案。


实战案例:设计一个三人表决电路

光说不练假把式。我们现在来做一个真实的小项目:三人表决器

需求说明

三个人投票,至少两人同意(输入为1),输出才通过(1)。典型的“多数决”逻辑。

真值表如下:
ABCF
0000
0010
0100
0111
1000
1011
1101
1111

我们可以写出最小项表达式(SOP):
$$
F = \sum m(3,5,6,7) = \overline{A}BC + A\overline{B}C + AB\overline{C} + ABC
$$

但等等——我们要用或非门实现,而或非最适合的是和之积(POS)形式,也就是基于最大项。

所以我们换个角度思考:什么时候输出为0?

看真值表,F=0 的情况是 m₀, m₁, m₂, m₄:

  • $ M_0 = A + B + C $
  • $ M_1 = A + B + \overline{C} $
  • $ M_2 = A + \overline{B} + C $
  • $ M_4 = \overline{A} + B + C $

于是:
$$
F = \prod M(0,1,2,4) = (A+B+C)(A+B+\overline{C})(A+\overline{B}+C)(\overline{A}+B+C)
$$

这才是我们想要的形式。


如何映射到或非-或非结构?

关键来了:怎么把这个 POS 表达式变成纯或非门电路?

回忆德摩根定律:
$$
X \cdot Y = \overline{\overline{X} + \overline{Y}}
$$

推广到多个项:
$$
F = X_1 \cdot X_2 \cdot X_3 \cdot X_4 = \overline{ \overline{X_1} + \overline{X_2} + \overline{X_3} + \overline{X_4} }
$$

其中每个 $ X_i $ 是一个和项(即括号里的表达式)。

而 $ \overline{X_i} $ 正好可以用一个或非门实现!比如:

  • $ \overline{A+B+C} = A ↓ B ↓ C $

所以整个结构变成:

  1. 第一级:四个三输入或非门,分别计算每个最大项的补:
    - $ X_1 = \overline{A+B+C} $
    - $ X_2 = \overline{A+B+\overline{C}} $
    - $ X_3 = \overline{A+\overline{B}+C} $
    - $ X_4 = \overline{\overline{A}+B+C} $

注意:$ \overline{A}, \overline{B}, \overline{C} $ 要提前用额外的或非门生成(各需一个反相器)

  1. 第二级:一个四输入或非门,将上述四个输出相“或非”:
    $$
    F = X_1 ↓ X_2 ↓ X_3 ↓ X_4 = \overline{X_1 + X_2 + X_3 + X_4}
    $$

代入后你会发现,这正好等于原POS表达式的取反再取反,还原成功能。

这种结构称为NOR-NOR 结构,对应于传统的 AND-OR 结构,只不过中间经过双重否定转化。


工程上的权衡与优化建议

虽然理论上可行,但在实际设计中还需考虑几个现实问题:

1. 扇入限制不能忽视

三输入或非门还好,但四输入或非门在CMOS工艺中性能会下降。因为PMOS是串联的,输入越多,上升时间越长。

解决方案:将大扇入门拆成树状结构。例如四输入或非可用两级两输入实现:

$$
X_1 ↓ X_2 ↓ X_3 ↓ X_4 = ((X_1 ↓ X_2) ↓ (X_3 ↓ X_4))
$$

虽然级数增加了一级,但每级负载更轻,整体延迟可能反而更低。

2. 反相信号的代价

我们需要 $ \overline{A}, \overline{B}, \overline{C} $,这意味着至少额外三个反相器(每个就是一个或非门自短接)。如果这些信号被多个模块共用,记得做好缓冲和分布规划。

3. 功耗与面积 trade-off

虽然统一使用或非门简化了单元库,但门的数量增加了(相比标准逻辑实现)。例如这个表决器可能用了8~10个或非门,而传统实现可能只需4~5个混合门。

所以是否采用纯或非架构,取决于你的优先级:

  • 极致可靠性和一致性?选或非。
  • 高性能和小面积?还是用混合门更优。

4. 特殊场景下的优势

在某些领域,这种“单一门类”设计反而成了优势:

  • 航天与抗辐射IC:减少工艺变异影响,提升容错能力;
  • 早期PLA/ROM设计:输出级常用或非门合并最大项;
  • 教学演示:帮助学生理解逻辑完备性的本质;
  • 可重构粗粒度阵列:作为通用计算单元的基础。

写在最后:掌握本质,才能自由创造

今天我们从零开始,用一个或非门“搭”出了整个逻辑世界。你可能会觉得这样做太繁琐,明明一个与门就能解决的事,为什么要绕这么大一圈?

但正是这种“回归本源”的训练,让我们看清了数字电路的本质:一切复杂逻辑,都不过是‘与’、‘或’、‘非’的组合;而只要有足够的抽象能力和数学工具,哪怕只给一种门,我们也能重建整个系统

这不仅是技术能力,更是一种思维方式。

当你下次面对一个陌生的硬件平台,或者手头只有有限的标准单元时,你会知道:只要有一个或非门,你就拥有了无限可能。

如果你在实践中尝试过类似的纯门级构造,欢迎在评论区分享你的经验和坑点。我们一起探讨,如何在理想与现实之间找到最佳平衡点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 22:46:22

vivado2018.3安装步骤图解说明:直观展示每一步操作

vivado2018.3安装全攻略:从零开始,一次搞定开发环境部署 你是不是也经历过这样的场景? 刚下定决心学习FPGA,兴致勃勃地打开Xilinx官网准备安装Vivado,结果还没进主界面就卡在了第一步——安装器打不开;或…

作者头像 李华
网站建设 2026/6/10 15:54:13

24、XML数据处理:从复杂结构到高效应用

XML数据处理:从复杂结构到高效应用 1. 复杂结构的XML表示 XML具备在单个文件中表示层次结构的能力,相较于在FoxPro中使用单个表进行JOIN操作,它能更节省空间,且在方法学上更为优雅。 假设存在两个文件: - INVOICES.DBF : | 字段名 | 类型 | | — | — | | InvNu…

作者头像 李华
网站建设 2026/6/9 21:28:52

35、报表生成与管理全攻略

报表生成与管理全攻略 1. 互联网报表发布方式 在互联网上发布报表有多种方式,下面为大家详细介绍几种常见的方法及其特点。 - 使用 SET TEXTMERGE TO :这是一种简单的构建互联网报表页面的方式,相较于 REPORT FORM 和 SAVE AS HTML,它能让你对报表格式有更多的控制。不…

作者头像 李华
网站建设 2026/6/10 18:02:55

短视频矩阵号安全运营指南:浏览器指纹隔离与检测工具应用

今天跟大家聊一个干货话题:抖音矩阵账号的浏览器指纹隔离设置。很多朋友做多账号运营,尤其是抖音矩阵号运营,总是被一个问题困扰——同一台设备登录多个账号容易被平台识别,导致封号、降权。其实,这背后的关键就是浏览…

作者头像 李华
网站建设 2026/6/10 19:45:48

Multisim14.0安装教程:一文说清环境搭建全过程

Multisim14.0安装全攻略:从零搭建电路仿真环境你是不是也曾在电子技术课上,看着老师在电脑里轻轻一点,就能让一个放大电路的波形跃然屏上?或者正为毕业设计中的滤波器参数焦头烂额,却苦于没有实验板反复验证&#xff1…

作者头像 李华
网站建设 2026/6/10 15:19:42

基于SDR的FM接收机设计(GNU Radio实战)

用一块20美元的USB狗,听懂整个FM波段:GNU Radio实战手记你有没有想过,只需一个比一杯奶茶还便宜的小设备,就能把空气中飘荡的FM广播信号变成耳边清晰的声音?这不是科幻,而是今天每个无线电爱好者都能轻松实…

作者头像 李华