4选1多路复用器
概述
- 用途:4选1多路复用器(MUX)是一种数字电路,基于两条选择线的值从四个输入信号中选择一个并将其转发到单个输出。它作为一个数字控制的开关,将数据从多个源路由到目标。
- 符号:4选1多路复用器表示为一个矩形方块,带有四个数据输入(I0-I3)、两个选择输入(S1、S0)和一个数据输出(Y)。
- DigiSim.io 的作用:作为数字电路中的基本数据路由组件,实现选择性信号传输,并构成更复杂数据选择架构的基础。

功能描述
逻辑行为
4选1多路复用器根据选择输入的二进制值将其四个数据输入之一定向到输出。选择输入作为一个2位二进制数,确定哪个数据输入将连接到输出。
真值表:
| S1 | S0 | Output Y | 选中的输入 |
|---|---|---|---|
| 0 | 0 | I0 | 输入0 |
| 0 | 1 | I1 | 输入1 |
| 1 | 0 | I2 | 输入2 |
| 1 | 1 | I3 | 输入3 |
输入和输出
输入:
- I0、I1、I2、I3:四个1位数据输入,其中一个将被选中。
- S1、S0:两个1位选择输入,确定哪个数据输入被路由到输出。
- 某些实现可能包含一个额外的使能输入(EN),可以禁用多路复用器。
输出:
- Y:1位数据输出,接收来自所选输入的值。
可配置参数
- 输入类型:多路复用器处理单位还是多位总线。
- 输出类型:输出具有标准驱动还是三态功能。
- 使能控制:某些实现包含使能输入,可以断开所有输入与输出的连接。
- 传播延迟:输出反映所选输入变化所需的时间。
DigiSim.io中的可视化表示
4选1多路复用器显示为一个矩形方块,左侧有标记的输入(I0、I1、I2、I3、S1、S0),右侧有一个输出(Y)。当连接到电路中时,该组件通过连接线上的颜色变化直观地指示激活的数据路径,显示当前选中的输入。
教育价值
核心概念
- 信号路由:演示数字系统如何在多个数据源之间动态选择。
- 二进制解码:说明二进制值如何控制数字电路中的信号路径。
- 组合逻辑:展示具有多个输入的组合电路的实际应用。
- 数据选择:展示计算机如何基于控制信号从替代数据源中选择。
- 数字开关:介绍无机械部件的电子开关概念。
学习目标
- 理解数字系统如何基于选择控制路由信号。
- 学习二进制选择值如何确定哪个输入连接到输出。
- 认识多路复用器在构建更大数据处理系统中的作用。
- 应用多路复用器概念设计数据选择、总线系统和逻辑函数生成器。
- 理解位级和字级多路复用之间的区别。
使用示例
- 数据选择:在CPU或数字系统中从多个数据源中选择。
- 总线路由:管理计算机架构中对共享总线的访问。
- 函数生成:通过从预计算结果中选择来实现任意逻辑函数。
- 并行到串行转换:从并行字中依次选择位进行串行传输。
- 输入设备管理:在控制系统中从多个输入外设中选择。
- 时分复用:在通信系统中共享公共通道给多个信号。
技术说明
- 4选1多路复用器可以使用基本逻辑门实现(通常需要4个AND门、2个反相器和1个OR门)。
- 也可以通过级联三个2选1多路复用器来构建。
- 输出的布尔表达式为:Y = (I0·!S1·!S0) + (I1·!S1·S0) + (I2·S1·!S0) + (I3·S1·S0)。
- 在高速应用中使用多路复用器时,传播延迟是一个重要考虑因素。
- 更大的多路复用器(8选1、16选1)可以通过组合多个4选1多路复用器来构建。
- 在多位应用中,可以使用多路复用器阵列同时切换多个位。
- 在 DigiSim.io 中,多路复用器的行为模拟了真实世界的数字组件,正确处理选择转换。
特性
- 输入配置:
- 四个数据输入(I0、I1、I2、I3)
- 两个选择输入(S1、S0)用于在4个输入中选择
- 输出配置:
- 单个输出(Y)
- 传播延迟:
- 通常为5-15ns(取决于技术)
- 选择变化到输出变化的延迟
- 数据输入变化到输出变化的延迟
- 功耗:
- 低到中等
- 随开关频率增加
- 扇出:
- 通常为10-50个门(取决于技术)
- 逻辑电平:
- 与标准逻辑家族兼容(TTL、CMOS)
- 电路复杂度:
- 中等(基本实现需要4个AND门、1个OR门和2个反相器)
- 速度:
- 比更大的多路复用器(8选1、16选1)更快
- 适合中速应用
- 信号完整性:
- 保持信号强度
- 通过选择路径的信号衰减最小
实现方法
- 使用基本逻辑门
- 使用AND门、OR门和反相器实现
- 每个输入由选择线的唯一组合门控
graph TB
Input0[I0] --> AndGate0[AND Gate]
Input1[I1] --> AndGate1[AND Gate]
Input2[I2] --> AndGate2[AND Gate]
Input3[I3] --> AndGate3[AND Gate]
Select0[S0] --> NotGate0[NOT]
Select1[S1] --> NotGate1[NOT]
NotGate0 --> AndGate0
NotGate1 --> AndGate0
Select0 --> AndGate1
NotGate1 --> AndGate1
NotGate0 --> AndGate2
Select1 --> AndGate2
Select0 --> AndGate3
Select1 --> AndGate3
AndGate0 --> OrGate[OR Gate]
AndGate1 --> OrGate
AndGate2 --> OrGate
AndGate3 --> OrGate
OrGate --> OutputY[Y Output]
原理:
- S1=0、S0=0时选中I0(两者都取反)
- S1=0、S0=1时选中I1
- S1=1、S0=0时选中I2
- S1=1、S0=1时选中I3(两者都为真)
- 使用2选1多路复用器
- 通过级联三个2选1多路复用器构建
- S0控制第一级,S1控制最终级
graph LR
I0[I0] --> MUX1[2:1 MUX]
I1[I1] --> MUX1
I2[I2] --> MUX2[2:1 MUX]
I3[I3] --> MUX2
MUX1 --> MUX3[2:1 MUX]
MUX2 --> MUX3
S0[S0] --> MUX1
S0 --> MUX2
S1[S1] --> MUX3
MUX3 --> Y[Y Output]
操作:S0在I0/I1和I2/I3之间选择。S1在两个中间结果之间选择。
使用译码器和三态缓冲器
- 2到4译码器为三态缓冲器生成使能信号
- 每个输入连接到各自的三态缓冲器
- 任何时刻只有一个缓冲器被启用
集成电路
- 在74xx系列逻辑家族中可用(例如,74153、74HC153)
- 通常在单个封装中提供双路4选1多路复用器
应用
数据选择和路由
- 在多个数据源之间选择
- 在面向总线的系统中路由数据
- 通信系统中的通道选择
内存寻址
- 存储系统中的地址多路复用
- 内存访问操作中的数据路径选择
数据路径控制
- 微处理器中的ALU输入选择
- CPU中的寄存器文件访问
数字通信
- 时分复用
- 通信接口中的通道选择
测试和测量
- 自动测试设备中的信号选择
- 数据采集系统中的探头选择
函数生成
- 实现任意布尔函数
- 查找表实现
控制系统
- 状态机中的模式选择
- 控制回路中的反馈路径选择
局限性
数据路径限制
- 限于4个输入源
- 更宽的多路复用需要多个单元
选择线依赖
- 选择线必须在有效输出可用之前稳定
- 选择线转换期间可能出现毛刺
传播延迟
- 通过多路复用器的信号延迟可能影响高速系统的定时
- 延迟随输入数量略有增加
扇出限制
- 高扇出应用中输出可能需要缓冲
- 长传输线路的信号完整性退化
功耗
- 随开关频率增加
- 在某些实现中,所有输入路径即使未被选中也消耗一些功率
电路实现细节
布尔表达式
4选1多路复用器可以用以下布尔表达式描述:
Y = (I0 · !S1 · !S0) + (I1 · !S1 · S0) + (I2 · S1 · !S0) + (I3 · S1 · S0)
其中:
- I0、I1、I2、I3 是数据输入
- S1、S0 是选择输入
- Y 是输出
- "·" 表示逻辑AND
- "+" 表示逻辑OR
- "!" 表示逻辑NOT
实现分析
在门级实现中,每个输入由选择线的唯一组合启用:
- S1=0且S0=0时选中I0
- S1=0且S0=1时选中I1
- S1=1且S0=0时选中I2
- S1=1且S0=1时选中I3
相关组件
- 2选1多路复用器:具有一条选择线和两个输入的更简单版本
- 8选1多路复用器:具有三条选择线和八个输入的扩展版本
- 16选1多路复用器:具有四条选择线和十六个输入的更大版本
- 多路分配器:执行反向操作,将单个输入路由到多个输出之一
- 译码器:将二进制值转换为独热信号,常与多路复用器配合使用
- 编码器:执行译码器的反向操作,将独热信号转换为二进制
- 三态缓冲器:在某些多路复用器实现中用于将输入连接到公共总线
- 传输门:CMOS技术中多路复用器的替代实现方法