diff options
Diffstat (limited to 'testsuite/gna/issue1256/enum_test.vhdl')
-rw-r--r-- | testsuite/gna/issue1256/enum_test.vhdl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/testsuite/gna/issue1256/enum_test.vhdl b/testsuite/gna/issue1256/enum_test.vhdl new file mode 100644 index 000000000..42a1e2a3b --- /dev/null +++ b/testsuite/gna/issue1256/enum_test.vhdl @@ -0,0 +1,34 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +package pkg_enum is + type State is (A,B,C,D,E); +end pkg_enum; + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +library work; +use work.all; +use work.pkg_enum.all; + +entity enum_test is + port(enum_in : in State; + enum_out : out State; + enum_decoded: out unsigned(2 downto 0) + ); +end enum_test; + +architecture arch of enum_test is +begin + with enum_in select + enum_decoded <= "000" when A, + "001" when B, + "010" when C, + "011" when D, + "100" when others; + + enum_out <= enum_in; +end arch; |