逻辑门是一种执行布尔运算的器件或抽象电路元件,根据一个或多个二进制输入产生输出。其逻辑行为用布尔代数描述,而物理实现通常采用电子开关。逻辑门是数字计算机的基本构成单元,从算术电路到控制系统都离不开它。基本逻辑门通常被视为无记忆元件:当输入稳定且响应延迟结束后,其输出只取决于当前的输入组合。(ocw.mit.edu)
二进制信号与逻辑描述
每个输入或输出都代表一个比特,通常写作 0 或 1。这些值可以表示命题逻辑中的假与真,也可以用于二进制数中的信息编码。在电子电路中,它们对应的是规定的电压范围,而不是完全精确的电压值。在正逻辑中,较高的电压范围表示 1,较低的电压范围表示 0;两者之间的电压范围则不能保证代表任何一种有效状态。(ocw.mit.edu)
逻辑门的真值表列出每一种可能的输入组合所对应的输出。对于 (n) 个二进制输入,共有 (2^n) 种组合。因此,单输出逻辑门可以实现 (2^{2^n}) 种布尔函数中的任意一种;当输入为两个时,共有 16 种可能。布尔表达式提供了等价的代数描述,将所要执行的运算与实现它的技术区分开来。(ocw.mit.edu)
主要逻辑门类型
最常见的运算是与、或、非,以及它们的取反形式和与相等关系有关的运算。对于两个输入 (A) 和 (B),主要函数如下:
| 逻辑门 | 表达式 | 输出为 1 的条件 |
|---|---|---|
| 与门(AND) | (A\land B) | 两个输入均为 1 |
| 或门(OR) | (A\lor B) | 至少一个输入为 1 |
| 与非门(NAND) | (\neg(A\land B)) | 至少一个输入为 0 |
| 或非门(NOR) | (\neg(A\lor B)) | 两个输入均为 0 |
| 异或门(XOR) | (A\oplus B) | 两个输入不同 |
| 同或门(XNOR) | (\neg(A\oplus B)) | 两个输入相同 |
非门(NOT)也称反相器,只有一个输入,输出为该输入的逻辑补值:(\neg0=1),(\neg1=0)。缓冲器保持逻辑值不变,同时提供电气驱动能力。异或与包含性或不同:对于两个输入的异或运算,当两个输入均为 1 时,输出为 0。(ocw.mit.edu)
与、或运算可以自然地扩展到多个输入:多输入与运算要求每个输入都为 1,而或运算只要求至少一个输入为 1。与非和或非则分别对这些结果取反。需要注意的是,将两个输入的与非门级联,并不会自动得到多输入与非门,因为与非运算不满足结合律。相比之下,级联的异或运算在值为 1 的输入个数为奇数时输出 1,因此适用于奇偶校验计算。(ocw.mit.edu)
通用逻辑门与电路构建
如果一组运算能够表达所有布尔函数,就称其具有函数完备性。与、或、非三种运算的组合满足这一条件。仅用与非运算或仅用或非运算也具有函数完备性,因此与非门和或非门都称为通用逻辑门。这意味着,由其中任意一种逻辑门构成的网络可以实现任意布尔函数,而不是说单个逻辑门本身就能做到这一点。(ocw.mit.edu)
例如,将与非门的两个输入都连接到 (A),便得到 (\neg(A\land A)=\neg A)。对与非门的输出取反,就得到与运算;利用德摩根定律,也可以用与非门构建或运算。这些恒等关系使电路能够在逻辑行为不变的前提下进行变换。(ocw.mit.edu)
组合电路将逻辑门连接起来,使输出成为当前输入的函数,而不保存状态。例子包括选择器、译码器和加法器。在半加器中,异或门产生和位,与门产生进位,展示了基本逻辑门如何实现算术运算。布尔化简可以减少所需硬件,但最简表达式不一定对应速度最快或最不易出现瞬态毛刺的电路。(computationstructures.org)
电子实现
电子逻辑门通常采用在半导体材料中制造、位于集成电路内的晶体管。在互补金属氧化物半导体(CMOS)技术中,由 n 沟道和 p 沟道金属氧化物半导体场效应晶体管组成的互补网络,根据输入将输出连接到地或电源电压。基本 CMOS 反相器各使用一个这两种类型的晶体管。(ocw.mit.edu)
在常规静态 CMOS 电路中,双输入与非门的下拉网络采用串联的 n 沟道晶体管,上拉网络采用并联的 p 沟道晶体管。或非门的串并联安排则相反。与门和或门通常分别在与非门或或非门之后增加一个反相器。因此,逻辑上相近的运算可能在晶体管数量、负载和延迟方面有所不同。(computationstructures.org)
其他实现方式包括双极型晶体管逻辑系列。真值表相同的逻辑门并不一定能在电气上互换:电源电压范围、输入阈值、输出驱动能力和开关特性也必须匹配。(ti.com)
时序、负载与功耗
实际逻辑门不会瞬时响应。传播延迟规定了输入跳变与相应输出响应之间的时间间隔。延迟取决于工作条件和输出负载。即使最终的布尔运算结果正确,汇合路径上的延迟差异也可能导致输出发生短暂变化,这种变化称为毛刺。(ti.com)
扇入是逻辑门的输入数量;扇出描述一个输出所能驱动的下游负载。噪声容限表示保证的输出电平与要求的输入电平之间的裕量,使电压受到一定扰动时仍能被正确解释为相应的逻辑值。这些电气约束是对真值表规范的补充,而不是替代。(ti.com)
CMOS 在切换时,电容的充放电会消耗能量。动态功耗取决于切换活动、电容、频率和电源电压。尽管理想开关模型预测稳态时没有电流,实际器件仍会因漏电而产生静态功耗。(ocw.mit.edu)
逻辑门与状态存储
通过反馈连接逻辑门,可以构建时序电路,其行为既取决于当前输入,也取决于存储的状态。交叉耦合的逻辑门可以构成锁存器;受到适当控制的存储结构则可构成触发器。这些元件提供存储功能,并用于构建寄存器和状态机。它们的时序要求与独立的组合逻辑门不同,因为正确运行还取决于输入在何时被采样并存储。(ocw.mit.edu)