aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue1256/enum_test.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/issue1256/enum_test.vhdl')
-rw-r--r--testsuite/gna/issue1256/enum_test.vhdl34
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;