summaryrefslogtreecommitdiff
path: root/testsuite/vests/vhdl-93/clifton-labs/compliant/functional/functions/simple-resolution-function.vhd
blob: 249b1dc255b7622d18ebbdac132e06829fd143cf (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
entity test is
end test;

architecture only of test is
  -- forward declaration of the function.
  function wired_or( s : bit_vector ) return bit;
  -- declare the subtype.
  subtype rbit is wired_or bit;

  -- declare the actual function.
  function wired_or( s : bit_vector ) return bit is
  begin
      report "resolution function called!" severity note;
    if  ( (s(0) = '1') or (s(1) = '1')) then
      return '1';
    end if;
    return '0';
  end wired_or;

  -- declare a signal of that type.  a resolved signal.
  signal s : rbit;

begin

  -- a concurrent signal assignment.  driver # 1.
  s <= '1';

  testing: process
  begin
    -- verify that resolution function getting called.
    s <= '1' after 10 ns;
    wait on s;
    assert ( s = '1' ) report "TEST FAILED" severity failure;
    report "TEST PASSED";
    wait;
  end process testing;

end only;