哪位大神帮忙用vhdl语言 用if语句实现十选一数据选择器
答案:1 悬赏:70 手机版
解决时间 2021-11-17 09:33
- 提问者网友:你挡着我发光了
- 2021-11-16 18:55
哪位大神帮忙用vhdl语言 用if语句实现十选一数据选择器
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-11-16 20:25
LIBRARY IEEE;
USE IEEE.Std_logic_1164.ALL;
ENTITY mux_10_1 IS
PORT(sel: IN Std_logic_vector(3 DOWNTO 0);
in_arr: IN Std_logic_vector(9 DOWNTO 0);
y: OUT Std_logic);
END mux_4_1;
ARCHITECTURE behavl_if OFmux_10_1 IS
BEGIN
PROCESS (sel, in_arr)
BEGIN
IF sel= ″0000″ THEN
y <= in_arr(0);
ELSIF sel= ″0001″ THEN
y <= in_arr(1);
ELSIF sel= ″0010″ THEN
y <= in_arr(2);
ELSIF sel= ″0011″ THEN
y <= in_arr(3);
ELSIF sel= ″0100″ THEN
y <= in_arr(4);
ELSIF sel= ″0101″ THEN
y <= in_arr(5);
ELSIF sel= ″0110″ THEN
y <= in_arr(6);
ELSIF sel= ″0111″ THEN
y <= in_arr(7);
ELSIF sel= ″1000″ THEN
y <= in_arr(8);
ELSE
y <= in_arr(9);
END IF;
END PROCESS;
END behavl_if;
USE IEEE.Std_logic_1164.ALL;
ENTITY mux_10_1 IS
PORT(sel: IN Std_logic_vector(3 DOWNTO 0);
in_arr: IN Std_logic_vector(9 DOWNTO 0);
y: OUT Std_logic);
END mux_4_1;
ARCHITECTURE behavl_if OFmux_10_1 IS
BEGIN
PROCESS (sel, in_arr)
BEGIN
IF sel= ″0000″ THEN
y <= in_arr(0);
ELSIF sel= ″0001″ THEN
y <= in_arr(1);
ELSIF sel= ″0010″ THEN
y <= in_arr(2);
ELSIF sel= ″0011″ THEN
y <= in_arr(3);
ELSIF sel= ″0100″ THEN
y <= in_arr(4);
ELSIF sel= ″0101″ THEN
y <= in_arr(5);
ELSIF sel= ″0110″ THEN
y <= in_arr(6);
ELSIF sel= ″0111″ THEN
y <= in_arr(7);
ELSIF sel= ″1000″ THEN
y <= in_arr(8);
ELSE
y <= in_arr(9);
END IF;
END PROCESS;
END behavl_if;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯