--Ben Goetschalckx --Klas: 1IWEA group: 3 --klok decoder and multiplexer library IEEE; use IEEE.STD_LOGIC_1164.ALL; ENTITY klokdecodermultiplexer is PORT ( Mine : IN STD_LOGIC_VECTOR(5 downto 0); Mint : IN STD_LOGIC_VECTOR(3 downto 0); Uure : IN STD_LOGIC_VECTOR(5 downto 0); Uurt : IN STD_LOGIC_VECTOR(3 downto 0); BTN : IN STD_LOGIC_VECTOR (2 downto 1); sec : IN STD_LOGIC; sec_led : OUT STD_LOGIC; AN : OUT STD_LOGIC_VECTOR (3 downto 0); S : OUT STD_LOGIC_VECTOR (6 downto 0)); END klokdecodermultiplexer; ARCHITECTURE BEHAVIORAL OF klokdecodermultiplexer is BEGIN PROCESS (Mine,Mint,Uure,Uurt,BTN) BEGIN IF BTN = "00" THEN AN <= "1110"; case Mine is when "000000"=>S<="0000001"; when "000001"=>S<="1001111"; when "000010"=>S<="0010010"; when "000011"=>S<="0000110"; when "000100"=>S<="1001100"; when "000101"=>S<="0100100"; when "000110"=>S<="1100000"; when "000111"=>S<="0001111"; when "001000"=>S<="0000000"; when "001001"=>S<="0001100"; when others=>S<="1111111"; end case; end IF; IF BTN = "01" THEN AN <= "1101"; case Mint is when "0000"=>S<="0000001"; when "0001"=>S<="1001111"; when "0010"=>S<="0010010"; when "0011"=>S<="0000110"; when "0100"=>S<="1001100"; when "0101"=>S<="0100100"; when others=>S<="1111111"; end case; end IF; IF BTN = "10" THEN AN <= "1011"; case Uure is when "000000"=>S<="0000001"; when "000001"=>S<="1001111"; when "000010"=>S<="0010010"; when "000011"=>S<="0000110"; when "000100"=>S<="1001100"; when "000101"=>S<="0100100"; when "000110"=>S<="1100000"; when "000111"=>S<="0001111"; when "001000"=>S<="0000000"; when "001001"=>S<="0001100"; when others=>S<="1111111"; end case; if sec = '1' then sec_led<= '0'; elsif sec = '0' then sec_led<='1'; end if; end IF; IF BTN = "11" THEN AN <= "0111"; case Uurt is when "0000"=>S<="0000001"; when "0001"=>S<="1001111"; when "0010"=>S<="0010010"; when others=>S<="1111111"; end case; end IF; end PROCESS; end BEHAVIORAL;