Verilog 多路复用器17 Mar 2025 | 6 分钟阅读 多路复用器是一种从多个输入中选择一个输出的设备。它也被称为数据选择器。我们用术语 MUX 和 MPX 来指代多路复用器。 多路复用器用于通信系统,以在一定的时间和带宽内增加通过网络发送的数据量。它允许我们将多条数据线压缩成一条数据线。 它在多个输入线之间切换,并将它们逐个组合到输出。它使用控制信号决定切换哪个输入线。 从物理上讲,多路复用器有 n 个输入引脚、一个输出引脚和 m 个控制引脚。 n = 2^m。由于多路复用器的作用是选择一个数据输入线并将其发送到输出,因此它也被称为 数据选择器。 ![]() 构建多路复用器有三种主要方式。
MUX 本身就像一个数字控制的多位置开关,应用于选择输入的二进制代码控制将切换到输出的数据输入。 例如,它根据选择信号将数据从 N 个输入中的一个传输到输出。一个 4 位多路复用器将有 N 个 4 位输入,其中每个输入都可以通过使用选择信号传输到输出。 ![]() Sel 是一个 2 位输入,可以有四个值。选择线上的每个值都将允许其中一个输入被发送到输出。 4x1 多路复用器可以通过多种方式实现,这里我们展示了两种最常见的方式 1. 使用 assign 语句 名为 mux_4x1_assign 的模块有四个 4 位数据输入,一个 2 位选择输入和一个 4 位数据输出。多路复用器将根据使用 assign 语句的选择信号 sel 选择 a、b、c 或 d。 2. 使用 case 语句 当我们使用 case 语句时,信号 out 被声明为 reg 类型,因为它用于 过程性 块中。 名为 mux_4x1_case 的模块有四个 4 位数据输入,一个 2 位选择输入和一个 4 位数据输出。多路复用器将根据使用 case 语句的选择信号 sel 选择 a、b、c 或 d。 多路复用器的应用多路复用器包括以下有用的点,例如
如何连接多路复用器?如果我们有小型多路复用器,但我们想增加它们的功能,我们可以将它们连接起来以获得具有更多输入的多路复用器。多路复用器的级联很容易。确保我们连接以提供与目标 MUX 相同数量的输入和控制线。 让我们使用 2:1 多路复用器制作 4:1 MUX。我们知道 2:1 MUX 有两个输入和一条选择线。因此,连接两个 2:1 多路复用器将为我们提供四个输入和两条选择线。 我们可以将输出减少到一个,所以我们使用另一个 2:1 MUX 将两条线组合成一条线。 然而,虽然这为我们提供了一个我们要求的输出,但它为我们提供了一条额外的选择线。所以现在我们有三条选择线。 现在我们将三条选择线减少到两条选择线。我们可以通过连接两条选择线来实现。这本质上会将两条线减少到一条线。下图显示了应用我们的逻辑后得到的结果。 ![]() 8:1 和 16:1 多路复用器与我们上面看到的流程类似,我们可以使用 2:1 多路复用器设计一个 8 到 1 多路复用器,使用 4:1 MUX 设计 16:1 MUX,或使用 8:1 多路复用器设计 16:1 MUX。 ![]() 我们也可以反过来,使用比所需输入更多的多路复用器作为较小的 MUX。这是一个用作 2:1 多路复用器的 8:1 多路复用器。 ![]() 多路分配器解复用器是一个组合逻辑电路,其执行的功能与多路复用器相反。解复用器也称为 demux。 在 demux 中,我们有 n 条输出线、一条输入线和 m 条选择线。输出线和选择线的数量之间的关系与我们在多路复用器中看到的一样。也就是说,2^m = n。根据选择线形成的二进制数的值,任何一条输出线都连接到输入线。 此时,其余的输出线进入 OFF 状态。也就是说,其余线路的值为 0。 通过这种方式,解复用器将串行数据转换为并行数据,并充当串行到并行转换器。此外,由于它将一条数据线连接到多条数据线并在它们之间切换,因此解复用器也被称为 数据分配器。解复用器的通用符号如下图所示。 ![]() 解复用器如何工作?为了理解解复用器的工作原理,我们将直接设计一个。1:2 demux 是所有解复用器中最简单的。我们有一个输入,两个输出,和一条选择线(2^m = 2,因此 m=1)。 ![]() 我们可以看到,根据选择线的值,其中一个输出连接到输入线。当 S 为 0 时,第一条输出线连接到输入。当 S 为 1 时,第二条输出线连接到输入。 通过这种方式,解复用器将数据从一条数据线分发到多条数据线。 接下来,我们将设计一个 1:4 解复用器。根据我们上面看到的用于选择线的公式,一个 1:4 demux 将有两条选择线。让我们画出 1:4 demux 的真值表。 真值表
我们可以看到,这个真值表比 4:1 mux 的短,因为我们没有取输入的所有可能值,我们只是把它作为 I。结果方程将相同。因此,从真值表中,我们得到 Y0 = S0'S1' 上面等式的最终电路如下图所示。 ![]() 解复用器的应用以下是解复用器的一些重要用途,例如
下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。