aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue1116/ent1_disp.vhdl
blob: d031b8ec98d9a8fd5ef20b12be8600b2005df807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
library ieee;
use ieee.std_logic_1164.all;

entity ent1_disp 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 ent1_disp is
	function switch_endianness(x : std_logic_vector(31 downto 0)) return std_logic_vector is
	begin
		return x(7 downto 0) & x(15 downto 8) & x(23 downto 16) & x(31 downto 24);
	end function;

        procedure disp (v : std_logic_vector) is
        begin
          report "left: " & natural'image (v'left);
          if v'ascending then
            report "to";
          else
            report "downto";
          end if;
          report "right: " & natural'image (v'right);
        end disp;
begin
	process
	begin
          disp (switch_endianness(i));
          wait;
	end process;
end;