diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-01-26 17:05:06 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-01-26 17:05:06 +0100 |
commit | 5e24f5149656e295946e2ab36cd58626fcc2c51c (patch) | |
tree | d28e59ec671aaed8747da823af9494a5741c6d5e /testsuite/synth/issue1116/ent2.vhdl | |
parent | f11a4cf6ccb7d26fe8fba0f2d1e9d411e3f37a43 (diff) | |
download | ghdl-5e24f5149656e295946e2ab36cd58626fcc2c51c.tar.gz ghdl-5e24f5149656e295946e2ab36cd58626fcc2c51c.tar.bz2 ghdl-5e24f5149656e295946e2ab36cd58626fcc2c51c.zip |
testsuite/synth: add case for #1116
Diffstat (limited to 'testsuite/synth/issue1116/ent2.vhdl')
-rw-r--r-- | testsuite/synth/issue1116/ent2.vhdl | 26 |
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; |