差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
4:1_mux [2021/09/29 08:08]
gongyu 创建
4:1_mux [2021/09/29 08:28] (当前版本)
gongyu
行 1: 行 1:
 ## 4:1 多路复用器 ## 4:1 多路复用器
 +### 1. 知识点
 +
 +### 2. 理论
 4选1多路复用器器,即从输入的四个数据中选择其中一个。通过定义两个变量,产生四种状态,分别对应四个数据的输出。由此可得到如下真值表。将输入的a,​b,​c,​d,​s0,​s1和输出Y的关系写成逻辑表达式则得到:\\ ​ 4选1多路复用器器,即从输入的四个数据中选择其中一个。通过定义两个变量,产生四种状态,分别对应四个数据的输出。由此可得到如下真值表。将输入的a,​b,​c,​d,​s0,​s1和输出Y的关系写成逻辑表达式则得到:\\ ​
- + 
 +**2.1 功能框图** 
 +{{drawio>​mux41_block_diagram.png}} 
 + 
 +**2.2 真值表** 
 +{{drawio>​turetable_mux41.png}} 
 +根据上面的真值表,我们可以写出输出表达式如下:​ 
 +Y = s0 s1 d0 + s0 s1 d1 + s0 s1 d2 + s0 s1 d3 
 +由上述输出表达式,可以使用基本逻辑门实现4对1多路复用器。下图显示了4:​1 MUX的逻辑电路,它是由四个3输入AND门,两个1输入NOT门和一个4输入OR门实现的。 
 +在这个电路中,每条数据输入线被连接成与门的输入,两条选择线被连接成与门的其他两个输入。此外,还有一个启用信号。所有与门的输出都连接到OR门的输入端,以产生输出Y。 
 +**2.3 逻辑电路** 
 +{{ :​logic-circuit-of-4-to-1-mux.jpeg |}} 
 + 
 +2.4 器件 
 + 
 Y=a(s0’s1’)+b(s0’s1)+c(s0s1’)+d(s0s1)\\ ​ Y=a(s0’s1’)+b(s0’s1)+c(s0s1’)+d(s0s1)\\ ​
  
行 7: 行 25:
 {{::​4选1多路选择器真值表.png?​nolink&​500|}} \\  ​ {{::​4选1多路选择器真值表.png?​nolink&​500|}} \\  ​
  
 +
 +### 5. 小脚丫FPGA验证 - 4选1多路选择器
 +
 +#### 5.1 真值表
 +
 +#### 5.2 原理图
 +
 +#### 5.3 小脚丫FPGA模块验证连接图
 +{{drawio>​step_mux21_conn.png}}
 +
 +### 6. Verilog代码实现
 +<code verilog>
 +  module mult4
 +   (
 +     input wire a,           //​定义四位输入
 +     input wire b,
 +     input wire c,
 +     input wire d,
 +     input wire [1:0]  sel,  //​定义输出的选择变量
 +     ​output reg  led       //​定义选择器输出结果对应的led
 +   );
 +  always@(sel) ​          //​根据sel结果选择输出,当sel变化时执行
 + begin
 + case(sel)
 + 2'​b00:​ led = a;
 + 2'​b01:​ led = b;
 + 2'​b10:​ led = c;
 + 2'​b11:​ led = d;
 + endcase
 + end
 +  endmodule
 +  </​code>​