aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/func01/func06.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/synth/func01/func06.vhdl')
-rw-r--r--testsuite/synth/func01/func06.vhdl27
1 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/synth/func01/func06.vhdl b/testsuite/synth/func01/func06.vhdl
new file mode 100644
index 000000000..108750cf1
--- /dev/null
+++ b/testsuite/synth/func01/func06.vhdl
@@ -0,0 +1,27 @@
+library ieee;
+use ieee.std_logic_1164.all;
+
+entity func06 is
+ port (s : natural;
+ r : out std_logic_vector (15 downto 0));
+end func06;
+
+architecture behav of func06 is
+ function mapv (sel : natural) return std_logic_vector
+ is
+ variable res : std_logic_vector(15 downto 0) := (others => '0');
+ begin
+ case sel is
+ when 2 =>
+ res := x"1234";
+ when 3 =>
+ res := x"5678";
+ when others =>
+ null;
+ end case;
+ return res;
+ end mapv;
+begin
+ r <= mapv (s);
+end behav;
+