【多路复用器介绍】意义 作用 实现
- 意义
- 逻辑电路原理
- 结构与真值表
- 逻辑电路
- 实现代码
- 参考资料
意义
多路复用器将接收的复合数据流,依照信道分离数据,并将它们送到对应的输出线上,故称为解多路复用器。
实际生活中,使用多路复用器可使多路数据信息共享一路信道,能充分地利用通信信道的容量,大大降低系统的成本。
举个例子:对于一对电话线来说,它的通信频带一般在100kHz以上,而每一路电话信号的频带一般限制在4kHz以下。此时,信道的容量远大于一路电话的信息传送量。
逻辑电路原理
多路复用器能将 N 个输入通道的数据复用到一个输出通道上。以4选 1 多路复用器为例。
结构与真值表
通过改变A与B的值,就能输出端F到底输出D1,D2,D3,D4中的哪个值。
逻辑电路
实现代码
4 选1 多路复用器的实现代码
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MUX4_1 isPort ( c0 : in STD_LOGIC;c1 : in STD_LOGIC;c2 : in STD_LOGIC;c3 : in STD_LOGIC;s : in STD_LOGIC_VECTOR (1 downto 0);z : out STD_LOGIC);
end MUX4_1;
architecture Behavioral of MUX4_1 is
beginprocess(s) --if 语句描述beginif(s="00") then z<=c0;elsif(s="01") then z<=c1;elsif(s="10") then z<=c2;else z<=c3;end if;end process;--process(s) --case 语句描述
--begin
-- case s is
-- when "00" =>z<=c0;
-- when "01" =>z<=c1;
-- when "10" =>z<=c2;
-- when others =>z<=c3;
-- end case;
--end process;
end Behavioral;
参考资料
https://wiki.dzsc.com/4133.html