作业:
1、利用Quartus II软件做一个二选一多路选择器
ENTITY MUX21A IS //实体名称为mux21A
PORT(A,B,S:IN BIT; //定义A,B,S口为输入口,并且为2字符,只有0、1
Y:OUT BIT); //定义Y口是输出口
END ENTITY; //结束mux21A的定义
ARCHITECTURE bhv OF MUX21A IS //设计mux21A
BEGIN //开始设计
PROCESS (A,B,S) //加工A,B,S
BEGIN //开始加工
IF(A='1') THEN Y<=A; //如果A口输入为高电平,Y口输出<=A
ELSE Y<=B; //否则Y<=B
END IF; //结束假设
END PROCESS; //结束工程
END ARCHITECTURE BHV; //结束设计
2、利用Quartus II软件做一个四选一多路选择器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;--使用STD_LOGIC
ENTITY MUX41A IS //实体名称为MUX41A
PORT(A,B,C,D,S0,S1:IN STD_LOGIC; //定义A,B,C,D,S0,S1为输入口,长度单位为9
Y:OUT STD_LOGIC); //定义Y为输出口
END ENTITY; //结束MUX41A的定义
ARCHITECTURE TWO OF MUX41A IS //定义MUX41A的名字为two
SIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0); //信号s的std_LOGIC逻辑向量为1到0
BEGIN //开始定义
S <= S1&S0; //输出信号S<=s1或s0
PROCESS (A,B,C,D,S0,S1)//加工A,B,C,D,S0,S1
BEGIN //开始加工
CASE (S) IS --表达式
WHEN "00" =>Y<=A; //顺序语句,当S的信号为00时,Y的输出量为A
WHEN "01" =>Y<=B; //顺序语句,当S的信号为01时,Y的输出量为B
WHEN "10" =>Y<=C; //顺序语句,当S的信号为10时,Y的输出量为C
WHEN "11" =>Y<=D; //顺序语句,当S的信号为11时,Y的输出量为D
WHEN OTHERS =>NULL; //当输出为其他时,输出NULL
END CASE;//结束表达
END PROCESS;//结束加工
END ARCHITECTURE; //结束定义