📄 xianshi.vhd
字号:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity xianshi is
port( ch: in std_logic_vector(7 downto 0);
sel: in std_logic_vector(3 downto 0);
q: out std_logic_vector(15 downto 0));
end xianshi;
architecture rt1 of xianshi is
signal y: std_logic_vector(15 downto 0);
begin
process(ch,sel)
begin
case ch is
when "00000000"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1111111100000000";
when "1011"=>q<="1100001100000000";
when "1100"=>q<="1100001100000000";
when "1101"=>q<="1100001100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000001"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="0000000000000000";
when "1011"=>q<="0000000000000000";
when "1100"=>q<="0000000000000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000010"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1101111100000000";
when "1011"=>q<="1101111100000000";
when "1100"=>q<="1101101100000000";
when "1101"=>q<="1101101100000000";
when "1110"=>q<="1111101100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000011"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1101101100000000";
when "1011"=>q<="1101101100000000";
when "1100"=>q<="1101101100000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000100"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1111100000000000";
when "1011"=>q<="1111100000000000";
when "1100"=>q<="0001100000000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000101"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1111101100000000";
when "1011"=>q<="1111101100000000";
when "1100"=>q<="1101101100000000";
when "1101"=>q<="1101111100000000";
when "1110"=>q<="1101111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000110"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1111111100000000";
when "1011"=>q<="1111111100000000";
when "1100"=>q<="1101101100000000";
when "1101"=>q<="1101101100000000";
when "1110"=>q<="1101111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00000111"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1100000000000000";
when "1011"=>q<="1100000000000000";
when "1100"=>q<="1100000000000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00001000"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1111111100000000";
when "1011"=>q<="1111111100000000";
when "1100"=>q<="1101101100000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00001001"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="0000000000000000";
when "1001"=>q<="0000000000000000";
when "1010"=>q<="1111101100000000";
when "1011"=>q<="1111101100000000";
when "1100"=>q<="1101101100000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00010000"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="1111111100000000";
when "1001"=>q<="1111111100000000";
when "1010"=>q<="1111111100000000";
when "1011"=>q<="1111111100000000";
when "1100"=>q<="1100001100000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00010001"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
when "0110"=>q<="0000000000000000";
when "0111"=>q<="0000000000000000";
when "1000"=>q<="1111111100000000";
when "1001"=>q<="1111111100000000";
when "1010"=>q<="0000000000000000";
when "1011"=>q<="0000000000000000";
when "1100"=>q<="0000000000000000";
when "1101"=>q<="1111111100000000";
when "1110"=>q<="1111111100000000";
when "1111"=>q<="0000000000000000";
when others=>null;
end case;
when "00010010"=>
case sel is
when "0000"=>q<="0000000000000000";
when "0001"=>q<="0000000000000000";
when "0010"=>q<="0000000000000000";
when "0011"=>q<="0000000000000000";
when "0100"=>q<="0000000000000000";
when "0101"=>q<="0000000000000000";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -