
USE IEEE.STD_LOGIC_11.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SAOMIAO IS
PORT(CLK: IN STD_LOGIC;
S1, S2, S3, S4, S5, S6: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
WEI: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END ENTITY;
ARCHITECTURE behave OF SAOMIAO IS
SIGNAL CNT6 : INTEGER RANGE 0 TO 5 := 0;
SIGNAL SHUJU: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PRO1:PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK = '1' THEN
CNT6 <= CNT6 + 1;
CASE CNT6 IS
WHEN 0 => WEI <= "000001"; SHUJU <= S1;
WHEN 1 => WEI <= "000010"; SHUJU <= S2;
WHEN 2 => WEI <= "000100"; SHUJU <= S3;
WHEN 3 => WEI <= "001000"; SHUJU <= S4;
WHEN 4 => WEI <= "010000"; SHUJU <= S5;
WHEN 5 => WEI <= "100000"; SHUJU <= S6;
WHEN OTHERS => NULL;
END CASE;
END IF;
END PROCESS;
PRO2: PROCESS(SHUJU)
BEGIN
CASE SHUJU IS
WHEN "0000" => LED<= "1111110" ; --- 0
WHEN "0001" => LED<= "0110000" ; --- 1
WHEN "0010" => LED<= "1101101" ; --- 2
WHEN "0011" => LED<= "1111001" ; --- 3
WHEN "0100" => LED<= "0110011" ; --- 4
WHEN "0101" => LED<= "1011011" ; --- 5
WHEN "0110" => LED<= "1011111" ; --- 6
WHEN "0111" => LED<= "1110000" ; --- 7
WHEN "1000" => LED<= "1111111" ; --- 8
WHEN "1001" => LED<= "1111011" ; --- 9
WHEN others=> LED<= "0000000" ;
END CASE;
END PROCESS;
END ;
