vhdl实验报告16乘16点阵列选显示.docx
《vhdl实验报告16乘16点阵列选显示.docx》由会员分享,可在线阅读,更多相关《vhdl实验报告16乘16点阵列选显示.docx(26页珍藏版)》请在冰点文库上搜索。
vhdl实验报告16乘16点阵列选显示
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYXIANSHIIS
PORT(
res:
INSTD_LOGIC;
XUAN:
INSTD_LOGIC_VECTOR(3DOWNTO0);
SEL:
INSTD_LOGIC_VECTOR(3DOWNTO0);
Q:
OUTSTD_LOGIC_VECTOR(15DOWNTO0)
);
ENDENTITYXIANSHI;
ARCHITECTUREXSDZOFXIANSHIIS
BEGIN
PROCESS(XUAN,SEL,res)
BEGIN
CASERESIS
WHEN'1'=>
CASEXUANIS
WHEN"0000"=>
CASESELIS
when"0000"=>Q<="1111111111111111";----显示“1”
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0001"=>
CASESELIS
when"0000"=>Q<="1111111111111111";---显示"2"
when"0001"=>Q<="1111111111111111";
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0010"=>
CASESELIS
when"0000"=>Q<="1111111111111111";---显示“3”
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0011"=>
CASESELIS
when"0000"=>Q<="1111111111111111";
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0100"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示”5“
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0101"=>
CASESELIS
when"0000"=>Q<="1111111111111111";
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0110"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示”7“
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
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<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"0111"=>
CASESELIS
when"0000"=>Q<="1111111111111111";---显示“8”
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="0000000000000000";
when"1001"=>Q<="0000000000000000";
when"1010"=>Q<="0000000000000000";
when"1011"=>Q<="0000000000000000";
when"1100"=>Q<="0000000000000000";
when"1101"=>Q<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1000"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示”9"
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="0000000000000000";
when"1010"=>Q<="0000000000000000";
when"1011"=>Q<="0000000000000000";
when"1100"=>Q<="0000000000000000";
when"1101"=>Q<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1001"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示“10”
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="0000000000000000";
when"1011"=>Q<="0000000000000000";
when"1100"=>Q<="0000000000000000";
when"1101"=>Q<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1010"=>
CASESELIS
when"0000"=>Q<="1111111111111111";---显示“11”
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="1111111111111111";
when"1010"=>Q<="1111111111111111";
when"1011"=>Q<="0000000000000000";
when"1100"=>Q<="0000000000000000";
when"1101"=>Q<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1011"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示"12"
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="1111111111111111";
when"1010"=>Q<="1111111111111111";
when"1011"=>Q<="1111111111111111";
when"1100"=>Q<="0000000000000000";
when"1101"=>Q<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1100"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示”A"
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="1111111111111111";
when"1010"=>Q<="1111111111111111";
when"1011"=>Q<="1111111111111111";
when"1100"=>Q<="1111111111111111";
when"1101"=>Q<="0000000000000000";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1101"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示"B”
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="1111111111111111";
when"1010"=>Q<="1111111111111111";
when"1011"=>Q<="1111111111111111";
when"1100"=>Q<="1111111111111111";
when"1101"=>Q<="1111111111111111";
when"1110"=>Q<="0000000000000000";
when"1111"=>Q<="0000000000000000";
whenothers=>null;
ENDCASE;
WHEN"1110"=>
CASESELIS
when"0000"=>Q<="1111111111111111";--显示“C”
when"0001"=>Q<="1111111111111111";
when"0010"=>Q<="1111111111111111";
when"0011"=>Q<="1111111111111111";
when"0100"=>Q<="1111111111111111";
when"0101"=>Q<="1111111111111111";
when"0110"=>Q<="1111111111111111";
when"0111"=>Q<="1111111111111111";
when"1000"=>Q<="1111111111111111";
when"1001"=>Q<="1111111111111111";
when"1010"=>Q<="1111111111111111";
when"1011"=>Q<="1111111