1library ieee;
2use ieee.std_logic_1164.all;
3use ieee.numeric_std.all;
4
5package pkg_enum is
6  type State is (A,B,C,D,E);
7end pkg_enum;
8
9library ieee;
10use ieee.std_logic_1164.all;
11use ieee.numeric_std.all;
12
13library work;
14use work.all;
15use work.pkg_enum.all;
16
17entity enum_test is
18    port(enum_in : in State;
19         enum_out : out State;
20         enum_decoded: out unsigned(2 downto 0)
21     );
22end enum_test;
23
24architecture arch of enum_test is
25begin
26    with enum_in select
27        enum_decoded <= "000" when A,
28                        "001" when B,
29                        "010" when C,
30                        "011" when D,
31                        "100" when others;
32
33    enum_out <= enum_in;
34end arch;
35