【学习笔记】逻辑门电路

下周一要考试,因此通过这篇文件对逻辑门电路进行一个简单的复习和总结。

逻辑门电路简介

1937 年克劳德・香农(Claude Shannon) 在硕士论文中提出,电气开关可用于实现布尔逻辑,这是连接电子元件与逻辑运算的关键理论突破。

基本逻辑门电路

逻辑门的本质:是实现布尔函数的数字电路,接收 2 个或多个输入信号,输出基于布尔运算的结果,实际由 1-6 个晶体管组成,但被视为独立功能单元。

基础逻辑门及实现

  • 非门(Inverter):用 CMOS 晶体管实现,输入为 0(0V)时,N 型管断开、P 型管导通,输出 1(2.9V);输入为 1 时则相反。
  • 或门与或非门:或非门直接通过晶体管组合实现,或门可基于或非门进一步搭建,二者均遵循 “有 1 出 1(或非门为有 1 出 0)” 的逻辑规则。
  • 与门与与非门:与非门通过多组晶体管串联 / 并联实现,与门可基于与非门搭建,遵循 “全 1 出 1(与非门为全 1 出 0)” 的逻辑规则。
三种逻辑门电路示意图

通用逻辑门

定义:可独立实现任何布尔函数,无需依赖其他类型逻辑门。
代表类型:NAND(与非门)和 NOR(或非门),因成本低、易制造,成为集成电路中最基础的门电路。

组合逻辑电路

逻辑门

逻辑门是电路的基本构建块
定义:小型电子设备,用于计算二值信号(0/1)的逻辑函数,是组合电路的基础单元。

常见类型:

  • 基本门:AND(仅双输入为 1 时输出 1)、OR(至少一个输入为 1 时输出 1)、NOT(输入取反,又称反相器);
  • 扩展门:XOR(异或,输入不同时输出 1,用于加法器)、NAND(与非,AND 后取反,属 “通用门” 可构建其他门)、NOR(或非,OR 后取反,亦为通用门)。

布尔函数的三种等价表示

布尔函数是组合电路的数学描述,有三种表示形式逻辑等价,可相互转换

表示形式 核心作用
真值表 用逻辑运算符( )描述输入与输出的数学关系(如 XOR:Q=A⊕B)
逻辑电路 用逻辑门物理连接实现布尔函数,是表达式的硬件映射

典型组合电路实例

加法器

加法器是实现二进制加法的基础电路,按输入位数分为三类

半加器(Half Adder):

  • 功能:仅计算 2 个 1 位二进制数(A、B)的和,输出 “和(S)” 与 “进位(C)”
  • 逻辑表达式:S = (异或)、C = A・B(与)
  • 电路结构:1 个 XOR 门(算和)+ 1 个 AND 门(算进位)

全加器(Full Adder):

  • 功能:计算 3 个 1 位二进制数(A、B、进位输入 Cin),解决半加器无法处理 “来自低位进位” 的问题,输出 S 和进位输出 Cout
  • 电路结构:由 2 个半加器串联(第一个算 A+B 的和与进位,第二个结合 Cin 算最终 S,两个进位通过 OR 门输出 Cout)

4 位 ripple-carry 加法器:

  • 功能:计算两个 4 位二进制数的和,将全加器 “级联” 实现(文档 1)
  • 结构:4 个全加器串联,前一个全加器的 Cout 接后一个的 Cin,初始 Cin=0
  • 缺点:进位信号 “逐位传递”,速度慢(ripple 即 “ ripple 延迟”)

解码器(Decoder):地址选择核心

  • 功能:n 个输入对应 2ⁿ个输出,对任意输入组合,仅 “唯一 1 个输出” 为 1(其余为 0),实现 “输入到输出的选择映射”
  • 典型应用:计算机内存地址解码 —— 当 CPU 访问内存时,解码器将二进制地址信号转换为 “唯一内存单元的选中信号”
  • 示例:2-4 解码器(2 输入 A、B,4 输出 Y0-Y3),逻辑表达式如

多路复用器(Multiplexer, MUX):数据选择核心

  • 功能:“通道选择器”,从 n 个输入中选 1 个输出,选择由 log₂n 个 “控制端” 决定
  • 示例:4-to-1 MUX(4 输入 I0-I3,2 控制端 S1、S0)—— 通过 S1S0 的 4 种组合(00-11),分别选择 I0-I3 输出
  • 核心作用:在数字系统中实现 “数据路由”,如 CPU 内部数据选择、总线数据传输

算术逻辑单元(ALU):运算核心

  • 功能:实现基本算术(加法、减法)和逻辑运算(AND、OR),是 CPU 的核心组件
  • 结构示例:1 位 ALU 结合全加器实现加法,2 位 ALU 通过级联 1 位 ALU + 解码器,增加 “溢出(Overflow)” 检测功能

组合电路的分析与设计流程

分析流程

核心目标:已知电路结构,推导其实现的布尔函数(文档 1),步骤为:

  1. 标记电路输入、输出及中间门的输出
  2. 从输入到输出,逐步写出每个门的逻辑表达式
  3. 化简表达式,结合真值表验证逻辑功能

设计流程

核心目标:已知功能需求,构建电路,标准 5 步:

  1. 需求转真值表:根据功能描述,枚举所有输入组合及对应输出(如 1 位比较器需列出 A、B 的 4 种组合与 G/E/L 的关系)
  2. 导出布尔表达式:从真值表中提取 “输出为 1” 的输入组合,写出 “积之和(SOP)” 表达式
  3. 表达式最小化:用卡诺图(Karnaugh Map)简化 SOP 表达式,减少门的数量,优化电路
  4. 门级实现:用逻辑门搭建简化后的表达式(如 1 位比较器用 AND、OR、NOT 门实现
  5. 验证:通过真值表或仿真,确认电路功能符合需求

设计实例:1 位比较器

  • 需求:比较两个 1 位二进制数 A、B,输出 G(A>B)、E(A=B)、L(A<B)
  • 真值表
输入 A 输入 B 输出 G(A>B) 输出 E(A=B) 输出 L(A<B)
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
  • 简化表达式:
  • 电路实现:用 2 个 AND 门(实现 G、L)、1 个 OR 门 + 2 个 AND 门(实现 E)搭建

集成电路(IC)与应用场景

集成电路

  • 定义:将大量晶体管(及逻辑门)集成到单个小型芯片中,是组合电路的实际载体
  • 分类:按门数量分为小规模(SSI,如单个门)、中规模(MSI,如加法器、解码器)、大规模(LSI)等

核心应用

组合电路是数字革命的关键组件,应用于

  • 数字计算:计算器、CPU 的 ALU
  • 数据处理:数字信号处理(DSP)、总线数据路由(MUX/Decoder)
  • 存储控制:内存地址解码
  • 智能设备:机器人控制、数字通信(信号编码 / 解码)

单元核心总结

  1. 本质:组合电路是 “无记忆的数字逻辑模块”,输出仅依赖当前输入,由逻辑门按布尔函数构建
  2. 关键实例:加法器(半加器→全加器→4 位加法器)、解码器、MUX、ALU,覆盖算术运算、数据选择、逻辑比较核心需求
  3. 工程逻辑:分析(电路→函数)与设计(需求→电路)需依托真值表、布尔表达式、卡诺图,核心是 “简化与验证”
  4. 价值:是计算机、数字设备的基础,支撑从简单运算到复杂数据处理的所有数字功能。

时序电路

基础

核心定义:区别于组合电路

对比维度 组合电路(Combinational) 时序电路(Sequential)
输出依赖 仅依赖当前输入 依赖当前输入 + 历史状态(前序输入)
记忆性 无记忆(memoryless) 有记忆(可 “记住” 前序输入)
核心需求 实现算术 / 逻辑运算(如 ALU、加法器) 实现存储、计数、时序控制(如寄存器、计数器)

时序电路本质是 “组合电路 + 存储器”,其中一种结构如下图所示:

SR-NOR 锁存器

存储器的基本要求(以 1 位存储器为例)

  1. 可写(Write):能修改存储的二进制值(0→1 或 1→0)
  2. 可保持(Hold):无修改操作时,能稳定保留当前值
  3. 可读(Read):能获取存储的当前值
  4. 最小存储单元:1 位存储器(存储 0 或 1)

基础存储单元:锁存器与触发器

时序电路的 “记忆核心” 是锁存器(Latch)触发器(Flip-flop),二者均基于 “反馈” 实现记忆(电路输出反馈至输入)。

反馈:记忆的原理

  • 反馈是时序电路实现记忆的关键:将电路输出信号回传至输入,使输出状态能 “自我维持”(如 Q=0 时持续输出 0,Q=1 时持续输出 1)
  • 但单纯反馈无法修改状态,需额外控制信号(如 Set/Reset)实现 “写操作”

SR 锁存器(Set/Reset Latch):最基础的时序单元

核心功能

通过 Set(置 1)和 Reset(置 0)信号控制 1 位存储,是时序电路的 “基础积木”(类似组合电路的逻辑门)。

类型与特性

类型 核心组件 特性表(Q (t+1) 为下一状态,Q (t) 为当前状态) 关键问题
SR-NOR 锁存器 2 个 NOR 门交叉连接 S=0,R=0:Q (t+1)=Q (t)(保持)S=0,R=1:Q (t+1)=0(置 0) S=1,R=0:Q (t+1)=1(置 1)S=1,R=1:undefined(非法状态) S=1,R=1 时,Q 与 均为 1(逻辑矛盾,不稳定)
SR-NAND 锁存器 2 个 NAND 门交叉连接 S=0,R=0:undefined(非法) S=0,R=1:Q=1(置 1) S=1,R=0:Q=0(置 0) S=1,R=1:保持 非法状态为 S=0,R=0

SR-NOR 锁存器即为上图所示,SR-NAND 锁存器则是用 NAND 门实现,因此逻辑相反(Set/Reset 信号为低电平有效)。

触发器(Flip-flop)

核心区别

  • 锁存器(Latch):电平触发(EN 为高 / 低电平时持续响应输入,状态随输入变化)
  • 触发器(Flip-flop):边沿触发(仅在时钟信号的 “上升沿” 或 “下降沿” 瞬间响应输入,状态稳定,无毛刺)

关键类型
JK 触发器:解决 SR 锁存器的非法状态

  • 结构:SR 触发器 + 反馈逻辑,确保 S 和 R 不同时有效
  • 特性表:
    • J=0,K=0:保持 Q (t+1)=Q (t)
    • J=0,K=1:置 0 Q (t+1)=0
    • J=1,K=0:置 1 Q (t+1)=1
    • J=1,K=1:翻转 Q (t+1)= (核心优势,可用于计数)

D 触发器:真正的 1 位存储器

  • 问题:SR/JK 触发器需 2 个控制端(S/R 或 J/K),操作复杂
  • 设计:仅 1 个数据端(D)+ 时钟端,时钟触发时 Q=D(直接存储 D 的值)
  • 优势:无非法状态,是计算机物理内存的 “最小单元”,满足 “写 - 保持 - 读” 全部需求

时钟系统

时钟的定义与作用

  • 定义:产生周期性电脉冲的电路,速度单位为兆赫兹(MHz,百万脉冲 / 秒)
  • 核心作用:控制时序电路的状态更新时机,确保所有存储单元 “同步工作”,避免状态混乱

时钟触发方式

触发类型 触发时机 适用场景
边沿触发 时钟脉冲的 “上升沿”(低→高)或 “下降沿”(高→低)瞬间 触发器(如 D/JK 触发器),状态稳定
电平触发 时钟信号持续为高 / 低电平时 锁存器,响应速度快但易受毛刺影响

时序电路典型应用

寄存器(Register)

  • 功能:存储一组二进制数(如 4 位、8 位),是 CPU 内部临时存储数据的核心
  • 结构:由多个 D 触发器串联组成(如 4 位寄存器 = 4 个 D 触发器,共享时钟和写使能)

关键信号

数据端(D3~D0):输入 4 位数据
写使能(WE):WE=1 时允许写入,WE=0 时保持数据
清零端(Clear):将所有触发器置 0(初始化)

二进制计数器(Binary Counter)

原理:用 JK 触发器的 “翻转特性”(J=K=1 时 Q=),通过时钟同步级联
4 位计数器示例:

  • 4 个 JK 触发器级联,低位触发器的 Q 端接高位触发器的时钟端
  • 每来一个时钟脉冲,最低位(B0)翻转,低位从 1→0 时高位翻转(如 0000→0001→0010→…→1111)
  • 状态方程:
    • B0 (t+1) =
    • B1 (t+1) = B1 (t) B0 (t)
    • B2 (t+1) = B2 (t) (B1 (t)・B0 (t))
    • 高位同理,实现 “逢 2 进 1”

内存(Memory)

基础结构:4x3 内存示例

存储单元:每个 “字(Word)”=3 位,共 4 个 word(Word0~Word3)
组成:3 个 D 触发器 /word + 解码器(地址选择) + 写使能

总结

时序电路的本质:组合电路 + 存储器 + 时钟,具备记忆功能;
基础存储单元:锁存器(电平触发)→ 触发器(边沿触发,如 D/JK 触发器);
典型应用:寄存器(CPU 临时存储)、计数器(计数 / 定时)、内存(大规模存储);
时钟的关键:同步状态更新,避免时序混乱。

这篇文章写的很不满意,主要是时间太紧了,导致很多概念没有完全理解,更多的是依靠ai。后续rw会修改的。