数字电路 - 多路复用器

多路复用器是一种组合电路,最多有 2n 个数据输入、'n' 条选择线和一条输出线。根据选择线的值,这些数据输入之一将连接到输出。

由于有'n' 条选择线,因此零和一的可能组合有 2n 种。因此,每种组合只会选择一个数据输入。多路复用器也称为Mux

4x1 多路复用器

4x1 多路复用器有四个数据输入 I3、I2、I1 和 I0,两条选择线 s1 和s0 和一个输出 Y。下图显示了 4x1 多路复用器的框图

4x1 多路复用器

这 4 个输入中的一个将根据这两条选择线上的输入组合连接到输出。4x1 多路复用器的真值表如下所示。

选择线 输出
S1 S0 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3

从真值表中,我们可以直接将输出 Y 的布尔函数写为

$$Y={S_{1}}'{S_{0}}'I_{0}+{S_{1}}'S_{0}I_{1}+S_{1}{S_{0}}'I_{2}+S_{1}S_{0}I_{3}$$

我们可以使用反相器、与门和或门来实现这个布尔函数。下图显示了 4x1 多路复用器的电路图

4 对 1 多路复用器电路图

我们可以轻松理解上述电路的操作。类似地,您可以按照相同的步骤实现 8x1 多路复用器和 16x1 多路复用器。

高阶多路复用器的实现。

现在,让我们使用低阶多路复用器实现以下两个高阶多路复用器。

  • 8x1 多路复用器
  • 16x1 多路复用器

8x1 多路复用器

在本节中,让我们使用 4x1 多路复用器和 2x1 多路复用器实现 8x1 多路复用器。我们知道 4x1 多路复用器有 4 个数据输入、2 条选择线和一个输出。而 8x1 多路复用器有 8 个数据输入、3 条选择线和一个输出。

因此,我们需要在第一阶段使用两个 4x1 多路复用器 来获取 8 个数据输入。由于每个 4x1 多路复用器产生一个输出,因此我们需要在第二阶段使用 2x1 多路复用器,将第一阶段的输出视为输入并产生最终输出。

假设 8x1 多路复用器有八个数据输入 I7 至 I0、三条选择线 s2、s1 和s0 和一个输出 Y。8x1 多路复用器的真值表如下所示。

选择输入 输出
S2 S1 S0 Y
0 0 0 I0
0 0 1 I1
0 1 0 I2
0 1 1 I3
1 0 0 I4
1 0 1 I5
1 1 0 I6
1 1 1 I7

通过考虑上述真值表,我们可以轻松地使用低阶多路复用器实现 8x1 多路复用器。下图显示了 8x1 多路复用器的框图

8 至 1 多路复用器

相同的选择线 s1 和 s0 应用于两个 4x1 多路复用器。上部 4x1 多路复用器的数据输入为 I7 至 I4,下部 4x1 多路复用器的数据输入为 I3 至 I0。因此,每个 4x1 多路复用器根据选择线 s1 和 s0 的值产生输出。 s0

第一级 4x1 多路复用器的输出用作第二级 2x1 多路复用器的输入。另一条选择线 s2 应用于 2x1 多路复用器。

  • 如果 s2 为零,则 2x1 多路复用器的输出将是 4 个输入 I3 至 I0 之一,具体取决于选择线 s1 和 s2 的值s0

  • 如果 s2 为 1,则 2x1 多路复用器的输出将为 4 个输入 I7 至 I4 之一,具体取决于选择线 s1 和 s0 的值。

因此,两个 4x1 多路复用器和一个 2x1 多路复用器的整体组合相当于一个 8x1 多路复用器。

16x1 多路复用器

在本节中,让我们使用 8x1 多路复用器和 2x1 多路复用器实现 16x1 多路复用器。我们知道 8x1 多路复用器有 8 个数据输入、3 条选择线和一个输出。而 16x1 多路复用器有 16 个数据输入、4 条选择线和一个输出。

因此,我们在第一阶段需要两个 8x1 多路复用器 才能获得 16 个数据输入。由于每个 8x1 多路复用器产生一个输出,因此我们需要在第二阶段使用 2x1 多路复用器,将第一阶段的输出视为输入并产生最终输出。

假设 16x1 多路复用器有 16 个数据输入 I15 至 I0、4 条选择线 s3 至 s0 和一个输出 Y。16x1 多路复用器的真值表如下所示。

选择输入 输出
S3 S2 S1 S0 Y
0 0 0 0 I0
0 0 0 1 I1
0 0 1 0 I2
0 0 1 1 I3
0 1 0 0 I4
0 1 0 1 I5
0 1 1 0 I6
0 1 1 1 I7
1 0 0 0 I8
1 0 0 1 I9
1 0 1 0 I10
1 0 1 1 I11
1 1 0 0 I12
1 1 0 1 I13
1 1 1 0 I14
1 1 1 1 I15

通过考虑上述真值表,我们可以轻松地使用低阶多路复用器实现 16x1 多路复用器。下图显示了 16x1 多路复用器的框图

16 至 1 多路复用器

两个 8x1 多路复用器均应用了相同的选择线 s2、s1 和 s0。上部 8x1 多路复用器的数据输入为 I15 至 I8,下部 8x1 多路复用器的数据输入为 I7 至 I0。因此,每个 8x1 多路复用器根据选择线 s2、s1 和 s0 的值产生输出。

第一级 8x1 多路复用器的输出用作第二级 2x1 多路复用器的输入。另一条 选择线 s3 应用于 2x1 多路复用器。

  • 如果 s3 为零,则 2x1 多路复用器的输出将是 8 个输入 Is7 至 I0 之一,具体取决于选择线 s2、s1 和 s0 的值。 s0

  • 如果 s3 为 1,则 2x1 多路复用器的输出将为 8 个输入 I15 至 I8 中的一个,具体取决于选择线 s2、s1 和 s0 的值。

因此,两个 8x1 多路复用器和一个 2x1 多路复用器的整体组合相当于一个 16x1 多路复用器。