Lec 2组合逻辑设备和布尔算术
Lec 2 组合逻辑设备和布尔算术
TL;DR
- 组合逻辑静态准则:具备明确功能与时序规范,由无反馈环路的合法组合子器件级联构成,关键路径 之和决定最小采样周期。
- 代数范式与完备功能集:任何真值表均可唯一映射为主析取范式(SOP),通过约简律与卡诺图化简;NAND/NOR 具备逻辑完备性,可单门类构造任意逻辑。
- 多级逻辑与综合权衡:两级 SOP 速度快但门输入扇入大、面积开销高;多级因式分解以增加级联延迟为代价换取面积收敛,现代设计依赖逻辑综合工具自动平衡 PPA。
组合逻辑器件定义与静态准则
组合逻辑设备(combinational device)是一种电路器件满足:
- 一个或多个输入
- 一个或多个输出
- 功能规范(functional specfication),必须明确定义所有可能输入组合对应的输出值。
- 时序规范(Timing Specification),必须指定传播延迟,从输入稳定到输出稳定的最长时间上限。确保器件在内完成计算并输出有效结果
上述四个标准统称为静态准则,是所有组合逻辑器件必须满足的基本要要求。

由小器件组合成大器件
一组互相连接的电路元件,当且仅当满足以下三条时,整体仍是一个组合器件:
- 每个元件本身都是组合器件;
- 每个输入都恰好连接到某一个输出,或连接到固定常量 0/1(不能悬空、不能多个输出冲突地驱动同一根线);
- 电路中不存在有向环(directed cycle),即没有反馈回路。
踩坑:为什么不能有环?若某个输出反馈回前级(例如反相器输出接回自身输入),电路可能永远无法稳定(持续振荡),也就不存在确定的传播延迟,功能规范随之失效。
满足这三条后,整体的功能规范可由各子器件函数复合得到;整体的传播延迟 = 从输入到输出的最长路径上各器件 之和(关键路径)。
时序规范: 与
- 传播延迟 :从输入有效到输出有效所需时间的上界(最坏情况)。处理器以时钟频率 运行,时钟周期 必须 关键路径的 ,否则采样到的是无效值。
- 污染延迟 (contamination delay):从输入变为无效到输出开始变为无效所需时间的下界。它保证“旧的有效输出还能维持多久”。组合电路里暂时用不到,但在时序电路中至关重要(与保持时间相关,见 lec6)。
功能规范,有不少方法用于详述组合逻辑设备的功能规范。我们将使用两种系统性方法:真值表和布尔表达式(boolean expression)
本讲导览
- 布尔算术
- 从布尔算术到门电路
- 总结
布尔算术
基本公理:
- 恒等律: a · 1 = a ; a + 0 = a
- 吸收律: a · 0 = 0 ; a + 1 = 1
- 互补律: ;
- 交换律
- 结合律
- 分布律
- 德摩根定律: ;
对偶原理:任何一个成立的布尔表达式,把 0 和 1 对换,把 AND(·)和 OR(+)互换,结果仍然是一个成立的表达式。
等价与规范型
给定一个真值表,很容易派生一个等价的布尔表达式:写出一个乘数项求和形式,其中每一项覆盖到真值表输出中的 1

这是唯一的,但可能存在更加简单的表达式
从布尔算术到门电路
逻辑图通过门电路和连线的电路示意图形式来表示布尔表达式。
基本的逻辑门: 与或非

注意,与或非是通用的,可以实现任何组合逻辑函数。为什么?
我们可以用与或非门,实现任何 SOP(乘项之和,Sum-of-Products)布尔表达式,然而,我们可以通过简化布尔表达式(使用布尔代数规则、卡诺图等),来减少所需的门数量。
最小乘项之和,是一个最少可能数量的 AND 和 OR 操作。不像规范形式,最小乘项之和不是唯一,可能有多个 SOPs。
化简的核心工具——约简律(reduction):。它表明:当两个乘项只在一个变量上取值相反、其余完全相同时,可合并消去该变量。
无关项(don't care):若真值表中某个输入变量在其余位固定时不影响输出,则可在合并时把它“吃掉”。例如 与 输出都为 1,则这两项合并为 (消去了 ),而不必写成 。这正是手工最小化(以及卡诺图 K-map)的依据。本课规模较小(3~4 变量),用代数变换手算即可。
多级逻辑的权衡:SOP 是两级(AND→OR)实现,但不一定门最少。例如 是最小 SOP(需 7 个门),但因式分解后 只需 3 个门。代价是层数增加 → 延迟可能变大。这就是“面积 vs. 延迟”的权衡,本课交给综合工具处理。
逻辑优化
逻辑优化是指将高层次的电路功能描述(如布尔代数表达式或 Bluespec 代码),结合标准门电路库中的物理门(如 AND、OR、MUX 等)以及优化目标(如面积、延迟、功耗),通过综合工具自动合成出一个满足特定的电路实现。最终的输出是一个由这些标准门构成、经过优化的电路设计。

其他通用门电路

异或门(XOR)、与非门(NAND)、或非门(NOR)是唯一的。
其中与非门、或非门也是通用的(universal)。为什么 NAND 通用? 只需用它造出 NOT/AND/OR 即可:
- NOT:把 NAND 的两个输入接在一起,;
- AND:NAND 之后再接一个 NOT,;
- OR:对两个输入先各取反再 NAND,由德摩根 。
NOR 同理(对偶)。所以芯片可以只用一种门搭出任意逻辑。

标准单元库
每个门电路有其物理特性,比如

一些发现,当前技术(CMOS),反相器更快更小;时延和面积随着输入数量的增加而增加。
核心机制小结与逻辑综合权衡
逻辑优化是一项非常复杂的任务,涉及布尔表达式简化、在包含多种逻辑门的标准单元库中进行映射,并在面积、延迟和功耗等多个维度之间进行权衡(如最小化面积-延迟-功耗乘积)。由于对非微小电路手工完成这些优化几乎不可行,硬件设计人员通常使用硬件描述语言编写电路,并依赖综合工具自动生成经过优化的电路实现。
任何组合(布尔)函数都可以通过真值表或布尔表达式(由二进制常量以及 AND、OR、NOT 组成的布尔代数)来描述。任何组合逻辑函数都可以表示为“与或和”(Sum-of-Products, SOP)形式,并用三层逻辑门(非门、与门、或门)实现。通过布尔简化(如求最小的 SOP 或进行多层优化)可以得到更简单的电路。在将布尔函数映射为逻辑门时存在大量设计权衡,因此我们通常使用综合工具来寻找优化后的电路实现。
核心机制思考与底层洞察
在抽象布尔代数中,AND 与 OR 根据德摩根对偶原理表现出完全的形式对称;但在半导体物理与 CMOS 电路级实现中,这种对称性被载流子物理性质彻底打破:
- 反相逻辑的天然物理优势:
- CMOS 基础结构由上拉网络(PMOS)与下拉网络(NMOS)互补构成。输入高电平使 NMOS 导通将输出拉向地,输入低电平使 PMOS 导通将输出拉向电源。因此,CMOS 天然实现的是反相逻辑(Inverting Gates,即 NOT、NAND、NOR)。
- 在硅片上并不存在单级的“非反相”AND 门或 OR 门;一个物理 AND 门必须由一个 NAND 门后级联一个反相器(Inverter)构成,必然引入两级门延迟与更多晶体管开销。
- 载流子迁移率与 NAND vs NOR 的拓扑差异:
- 硅材料中电子迁移率 约为空穴迁移率 的 2 到 3 倍。为获得相同的导通电阻,PMOS 晶体管的沟道宽度必须设计为 NMOS 的 2~3 倍。
- 2 输入 NAND 门的上拉为 PMOS 并联、下拉为 NMOS 串联;而 2 输入 NOR 门的上拉为 PMOS 串联、下拉为 NMOS 并联。串联高阻值的 PMOS 会使 NOR 门的上升时间显著恶化,必须将 PMOS 尺寸做得极为巨大,进而大幅增加栅极输入电容。
- 因此,在 CMOS 工艺下,NAND 在速度和硅片面积上全面优于 NOR。现代逻辑综合工具(Logic Synthesizer)在进行技术映射(Technology Mapping)时,会极力通过布尔变换将两级 SOP 逻辑重构为基于 NAND/AOI(And-Or-Invert)树形网络,这是抽象代数向半导体物理妥协的经典范例。 :::