aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue1440/tb2.vhdl
blob: 9d656bfa9a3867f7bea887c07ce085230440bcd7 (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
35
36
37
38
39
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity tb2 is
end;

architecture tb of tb2 is
  signal cnt, prev : std_logic_vector(3 downto 0) := (others=>'0');

  function tostr (v : std_logic_vector) return string
  is
    alias av : std_logic_vector (1 to v'length) is v;
    variable res : string (1 to v'length);
  begin
    for i in av'range loop
      case av (i) is
        when '0' => res (i) := '0';
        when '1' => res (i) := '1';
        when others => res (i) := '?';
      end case;
    end loop;
    return res;
  end tostr;
begin
    process
    begin
      for i in 0 to 20 loop
        wait for 1 ns;
        cnt <= std_logic_vector(unsigned(cnt) + 1);
        prev <= cnt;
        assert false
          report "value=" & tostr(cnt) & " last_value=" & tostr(cnt'last_value)
          severity note;
        assert prev = cnt'last_value severity failure;
      end loop;
      wait;
    end process;
end;