LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY decoder3x8 IS
    PORT (
        i : IN STD_LOGIC_VECTOR (2 DOWNTO 0);
        y : OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END decoder3x8;

ARCHITECTURE Behavioral OF decoder3x8 IS

BEGIN

    PROCESS (i)
    BEGIN
        CASE i IS
            WHEN "111" => y <= "00000001";
            WHEN "110" => y <= "00000010";
            WHEN "101" => y <= "00000100";
            WHEN "100" => y <= "00001000";
            WHEN "011" => y <= "00010000";
            WHEN "010" => y <= "00100000";
            WHEN "001" => y <= "01000000";

            WHEN "000" => y <= "10000000";
            WHEN OTHERS => NULL;
        END CASE;
    END PROCESS;
END Behavioral;