📅  最后修改于: 2021-01-08 05:49:31             🧑  作者: Mango
多路复用器是一种组合电路,最多具有2 n个数据输入,“ n”个选择线和单个输出线。这些数据输入之一将基于选择线的值连接到输出。
由于存在“ n”条选择线,因此将有2 n个零和一的可能组合。因此,每种组合只会选择一个数据输入。多路复用器也称为Mux 。
4×1多路复用器具有四个数据输入I 3 ,I 2 ,I 1和I 0 ,两条选择线s 1和s 0和一个输出Y。下图显示了4×1多路复用器的框图。
这四个输入之一将基于在这两个选择线上出现的输入的组合连接到输出。 4×1多路复用器的真值表如下所示。
Selection Lines | Output | |
---|---|---|
S1 | S0 | Y |
0 | 0 | I0 |
0 | 1 | I1 |
1 | 0 | I2 |
1 | 1 | I3 |
从Truth表中,我们可以直接将布尔函数写为输出,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} $$
我们可以使用反相器,“与”门和“或”门来实现此布尔函数。下图显示了4×1多路复用器的电路图。
我们可以很容易地理解上述电路的操作。同样,您可以按照相同的步骤来实现8×1多路复用器和16×1多路复用器。
现在,让我们使用低阶多路复用器实现以下两个高阶多路复用器。
在本节中,让我们使用4×1多路复用器和2×1多路复用器实现8×1多路复用器。我们知道4×1多路复用器具有4个数据输入,2条选择线和1个输出。而8×1多路复用器具有8个数据输入,3条选择线和一个输出。
因此,我们在第一阶段需要两个4×1多路复用器,以便获得8个数据输入。由于每个4×1多路复用器产生一个输出,因此我们在第二阶段需要一个2×1多路复用器,方法是将第一阶段的输出视为输入并产生最终输出。
假设8×1多路复用器具有8个数据输入I 7至I 0 ,三条选择线s 2 ,s 1和s0和一个输出Y。8×1多路复用器的真值表如下所示。
Selection Inputs | Output | ||
---|---|---|---|
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 |
通过考虑上面的Truth表,我们可以使用低阶多路复用器轻松实现8×1多路复用器。下图显示了8×1多路复用器的框图。
相同的选择线s 1和s 0应用于两个4×1多路复用器。高4×1多路复用器的数据输入为I 7至I 4 ,低4×1多路复用器的数据输入为I 3至I 0 。因此,每个4×1多路复用器根据选择线s 1和s 0的值产生输出。
第一级4×1多路复用器的输出用作第二级中存在的2×1多路复用器的输入。另一条选择线s 2应用于2×1多路复用器。
如果s 2为零,则基于选择线s 1和s 0的值,2×1多路复用器的输出将是4个输入I 3至I 0之一。
如果s 2为1,则基于选择线s 1和s 0的值,2×1多路复用器的输出将是4个输入I 7至I 4之一。
因此,两个4×1多路复用器和一个2×1多路复用器的整体组合相当于一个8×1多路复用器。
在本节中,让我们使用8×1多路复用器和2×1多路复用器实现16×1多路复用器。我们知道8×1多路复用器具有8个数据输入,3条选择线和1个输出。而16×1多路复用器具有16个数据输入,4条选择线和一个输出。
因此,我们在第一阶段需要两个8×1多路复用器,以便获得16个数据输入。由于每个8×1多路复用器产生一个输出,因此我们需要在第二级中通过将第一级的输出作为输入并产生最终输出来使用2×1多路复用器。
假设16×1多路复用器具有16个数据输入I 15至I 0,4条选择线s 3至s 0和一个输出Y。16×1多路复用器的真值表如下所示。
Selection Inputs | Output | |||
---|---|---|---|---|
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 |
通过考虑上面的Truth表,我们可以使用低阶多路复用器轻松实现16×1多路复用器。下图显示了16×1多路复用器的框图。
相同的选择线s 2 ,s 1和s 0应用于两个8×1多路复用器。高8×1多路复用器的数据输入为I 15至I 8 ,低8×1多路复用器的数据输入为I 7至I 0 。因此,每个8×1多路复用器均基于选择线s 2 ,s 1和s 0的值产生输出。
第一级8×1多路复用器的输出用作第二级中存在的2×1多路复用器的输入。另一条选择线s 3应用于2×1多路复用器。
如果s 3为零,则基于选择线s 2 ,s 1和s 0的值,2×1多路复用器的输出将是8个输入Is 7至I 0之一。
如果s 3为1,则基于选择线s 2 ,s 1和s 0的值,2×1多路复用器的输出将是8个输入I 15至I 8之一。
因此,两个8×1多路复用器和一个2×1多路复用器的整体组合相当于一个16×1多路复用器。