VHDL多路选择器
题目如下
多路选择器的顶层设计电路如图1所示。根据真值表,如果输入sel=”01”或者sel=”10”,那么输出将等于对应的某一个输入(c=a或c=b)。然而如果输入sel=”00”或者sel=”11”,那么输出将分别为’0’和”Z”(高阻态)。
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY mux IS
PORT(a,b: IN std_logic_vector(7 downto 0);
sel: IN std_logic_vector(1 DOWNTO 0);
c:OUT std_logic_vector(7 DOWNTO 0));
END mux;
ARCHITECTURE example OF mux IS
BEGIN
PROCESS(a,b,sel)
BEGIN
IF (sel="00") THEN
c<="00000000";
ELSIF (sel ="01") THEN
c<=a;
ELSIF (sel="10") THEN
c<=b;
ELSE
c<=(OTHERS=>'Z');
END IF;
END PROCESS;
END example;
仿真一下
功能仿真