1. 组合逻辑
定义:组合逻辑的输出仅取决于当前输入,与电路的历史状态无关。它没有记忆功能,输出会随着输入的变化立即更新。
(1) 基本逻辑门
-
与门 (AND Gate):输出为所有输入的逻辑"与"。
-
或门 (OR Gate):输出为所有输入的逻辑"或"。
-
非门 (NOT Gate):输出为输入的逻辑"非"。
-
异或门 (XOR Gate):输出为输入的逻辑"异或"。
-
同或门 (XNOR Gate):输出为输入的逻辑"同或"。
(2) 多路选择器 (MUX)
-
根据选择信号从多个输入中选择一个作为输出。
-
示例:2选1、4选1、8选1多路选择器。
(3) 编码器 (Encoder)
-
将多个输入信号编码为较少的输出信号。
-
示例:4线-2线编码器、8线-3线编码器。
(4) 解码器 (Decoder)
-
将输入信号解码为多个输出信号。
-
示例:2线-4线解码器、3线-8线解码器。
(5) 比较器 (Comparator)
-
比较两个二进制数的大小。
-
示例:等值比较器、大于/小于比较器。
(6) 加法器 (Adder)
-
执行二进制加法运算。
-
示例:
-
半加器 (Half Adder):处理两个输入位的加法。
-
全加器 (Full Adder):处理三个输入位的加法(包括进位)。
-
级联加法器:多位加法器(如4位、8位、16位加法器)。
(7) 减法器 (Subtractor)
-
执行二进制减法运算。
-
示例:半减器、全减器、级联减法器。
(8) 乘法器 (Multiplier)
-
执行二进制乘法运算。
-
示例:阵列乘法器、Booth算法乘法器。
(9) ALU (算术逻辑单元)
-
执行多种算术和逻辑操作。
-
示例:支持加法、减法、与、或、非等操作。
(10) 优先级编码器 (Priority Encoder)
-
根据输入信号的优先级生成编码输出。
-
示例:4输入优先级编码器。
(11) 奇偶校验生成器/校验器
-
生成或校验奇偶校验位。
-
示例:奇校验生成器、偶校验生成器。
(12) 译码器驱动显示 (BCD-to-7-Segment Decoder)
- 将BCD码转换为7段数码管的驱动信号。
2. 时序逻辑
定义:时序逻辑的输出不仅取决于当前输入,还取决于电路的历史状态。它通常包含存储元件(如触发器),用于保存状态信息。
(1) 触发器 (Flip-Flops)
-
存储一位二进制数据。
-
示例:
-
D触发器 (D Flip-Flop):在时钟边沿捕获输入信号。
-
JK触发器 (JK Flip-Flop):支持更复杂的逻辑操作。
-
T触发器 (T Flip-Flop):实现计数功能。
-
SR触发器 (SR Flip-Flop):设置/复位功能。
(2) 寄存器 (Register)
-
存储多位二进制数据。
-
示例:
-
并行寄存器:同时加载多位数据。
-
移位寄存器:按位移入或移出数据。
(3) 计数器 (Counter)
-
用于计数脉冲信号。
-
示例:
-
同步计数器:所有触发器由同一时钟驱动。
-
异步计数器:触发器逐级驱动。
-
上升计数器:递增计数。
-
下降计数器:递减计数。
-
可逆计数器:既能递增也能递减。
(4) 分频器 (Divider)
-
将高频时钟信号分频为低频信号。
-
示例:2分频、4分频、8分频。
(5) 状态机 (Finite State Machine, FSM)
-
实现有限状态转移逻辑。
-
示例:
-
米利型状态机 (Mealy Machine):输出依赖于当前状态和输入。
-
摩尔型状态机 (Moore Machine):输出仅依赖于当前状态。
(6) 移位寄存器 (Shift Register)
-
按位移入或移出数据。
-
示例:
-
串行输入并行输出 (SIPO)。
-
并行输入串行输出 (PISO)。
-
串行输入串行输出 (SISO)。
(7) FIFO 和 RAM
-
数据存储结构。
-
示例:
-
FIFO (First In First Out):先进先出队列。
-
RAM (Random Access Memory):随机存取存储器。
(8) 序列检测器 (Sequence Detector)
-
检测特定的输入序列。
-
示例:检测"101"序列。
(9) 定时器 (Timer)
-
生成定时信号。
-
示例:基于计数器的定时器。
(10) 锁相环 (PLL, Phase-Locked Loop)
-
用于同步时钟信号或倍频/分频。
-
示例:频率合成器。
(11) 同步复位与异步复位电路
-
在时钟边沿或独立于时钟进行复位操作。
-
示例:带同步复位的寄存器、带异步复位的计数器。
(12) 流水线 (Pipeline)
-
提高数据处理速度。
-
示例:多级流水线处理器。
- 组合逻辑与时序逻辑的区别总结
| 特性 | 组合逻辑 | 时序逻辑 |
|-------------------|-----------------------------------|---------------------------------|
| 输出依赖 | 仅依赖当前输入 | 依赖当前输入和历史状态 |
| 存储元件 | 无存储元件 | 包含存储元件(如触发器) |
| 时钟信号 | 不需要时钟信号 | 需要时钟信号 |
| 典型应用 | 逻辑门、加法器、多路选择器等 | 寄存器、计数器、状态机等 |
| 设计复杂性 | 相对简单 | 更复杂,需考虑时序和状态转移 |
- 总结
-
组合逻辑:适用于纯逻辑运算和信号处理,输出即时响应输入变化。
-
时序逻辑:适用于需要状态存储和时钟同步的场景,如寄存器、计数器、状态机等。