差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
logic_mux [2021/09/29 08:07]
gongyu
logic_mux [2021/10/03 02:06] (当前版本)
gongyu [4. 几种常用的多路复用器]
行 18: 行 18:
 ### 2. 什么是多路复用器?​ ### 2. 什么是多路复用器?​
 多路复用器(Multiplexer)是一种最常用的组合逻辑电路,它根据选择(select)信号的值从几种可能的输入中选择一个作为输出,它有时也简称为MUX。 多路复用器(Multiplexer)是一种最常用的组合逻辑电路,它根据选择(select)信号的值从几种可能的输入中选择一个作为输出,它有时也简称为MUX。
 +
 +{{drawio>​multiplexer_a_d.png}}
 +关于模拟复用器:
 +数字复用器在其电平范围内对输入信号进行高、低处理,模拟复用器不施加任何的处理,直接让模拟信号通过,适用于交流信号(数据选择器)。可以是双向的,也即同时充当解复用器(数据分配器)的作用。
  
 多路复用器或MUX是一种数字开关,也称为数据选择器。它是一个多输入线、多输出线和多选择线的组合逻辑电路。它接受来自多个输入行或源的二进制信息,根据选择行的集合,将特定的输入行路由到单个输出行。 多路复用器或MUX是一种数字开关,也称为数据选择器。它是一个多输入线、多输出线和多选择线的组合逻辑电路。它接受来自多个输入行或源的二进制信息,根据选择行的集合,将特定的输入行路由到单个输出行。
行 36: 行 40:
  
 ### 4. 几种常用的多路复用器 ### 4. 几种常用的多路复用器
-  * [[2:1_mux|2:1 多路复用器]] +  * [[mux_2_1|2:1 多路复用器]] 
-  * [[4:1_mux|4:1 多路复用器]]+  * [[mux_4_1|4:1 多路复用器]]
   * [[8:​1_mux|8:​1 多路复用器]]   * [[8:​1_mux|8:​1 多路复用器]]
   * [[16:​1_mux|16:​1 多路复用器]]   * [[16:​1_mux|16:​1 多路复用器]]
 +  * [[2x32_32_mux|2x32to32多路复用器]]
  
 ### 5. 多路复用器的应用: ### 5. 多路复用器的应用:
行 66: 行 71:
 结论 结论
 完成多路复用(MUX)和多路复用教程。你学习了多路复用的基础知识,多路复用器,不同类型的常用多路复用器,如2:​1 MUX, 4:1 MUX, 8:1 MUX和16:1 MUX,它们的布尔表达式,逻辑电路,以及多路复用器的一些重要应用。 完成多路复用(MUX)和多路复用教程。你学习了多路复用的基础知识,多路复用器,不同类型的常用多路复用器,如2:​1 MUX, 4:1 MUX, 8:1 MUX和16:1 MUX,它们的布尔表达式,逻辑电路,以及多路复用器的一些重要应用。
- 
-### 1. 工作原理 
-多路选择器multiplexer也被成为复用器或者数据选择器,简称为MUX,其功能是从多个可能的输入端中选择一个作为输出。 
  
  
-{{ :​logic-circuit-of-4-to-1-mux.jpeg |}} 
-{{ :​logic-circuit-of-8-to-1-mux.jpeg |}} 
-{{ :​16-to-1-mux-using-8-to-1-muxes.jpeg |}} 
  
  
  
-### 4. CircuitJS电路仿真 
-利用CircuitJS自带的案例 - 2选1多路复用器,只有1bit做选择控制,两路输入信号中的哪一路传递到输出端取决于这个选择控制信号的bit是高还是低 
-{{ :mux21.mp4 |}} 
  
-### 5. 小脚丫FPGA验证 - 4选1多路选择器 
  
-#### 5.1 真值表 
-{{drawio>​turetable_mux41.png}} 
  
-#### 5.2 原理图 
-{{drawio>​sche_mux41.png}} 
  
-#### 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>​