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;
|