介绍
对于多路复用器,大家肯定都已经不陌生了。多个输入通过多路复用器后只有一路输出。这里我实现一个四输入的多路复用器。
对于多路复用器,事实上只用逻辑运算操作符就可以实现,我这里给大家提供一种使用when语句实现的方法。
输入输出的对应关系
从上面的图中可以看到,电路有四个输入,1个输出。通过设置sel信号,当sel信号取不同的值时,对应输出a,b,c,d。
设计文件
library ieee;
use ieee.std_logic_1164.all;
entity mux_1 is
port(
a,b,c,d : in std_logic;
sel : in std_logic_vector(1 downto 0);
y : out std_logic);
end mux_1;
architecture mux_1 of mux_1 is
begin
y <= a when sel = "00"else
b when sel = "01"else
c when sel = "10"else
d;
end mux_1;
下面使用另外一种when语句来实现相同的功能。
library ieee;
use ieee.s