aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue1116/ent2.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/synth/issue1116/ent2.vhdl')
-rw-r--r--testsuite/synth/issue1116/ent2.vhdl26
1 files changed, 26 insertions, 0 deletions
diff --git a/testsuite/synth/issue1116/ent2.vhdl b/testsuite/synth/issue1116/ent2.vhdl
new file mode 100644
index 000000000..fbec42d6b
--- /dev/null
+++ b/testsuite/synth/issue1116/ent2.vhdl
@@ -0,0 +1,26 @@
+library ieee;
+use ieee.std_logic_1164.all;
+
+entity ent2 is
+ port (
+ clk : in std_logic;
+ i : in std_logic_vector(31 downto 0);
+ o : out std_logic_vector(7 downto 0)
+ );
+end;
+
+architecture a of ent2 is
+ subtype word is std_logic_vector(31 downto 0);
+
+ function switch_endianness(x : word) return word is
+ begin
+ return x(7 downto 0) & x(15 downto 8) & x(23 downto 16) & x(31 downto 24);
+ end function;
+begin
+ process(clk)
+ begin
+ if rising_edge(clk) then
+ o <= switch_endianness(i)(7 downto 0);
+ end if;
+ end process;
+end;