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