blob: de8fe0bc4fa00b159b68d78539d8397d7ac89efa (
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
40
41
42
43
44
45
46
47
48
49
50
51
|
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity test is end entity;
architecture a_test of test is
signal a, b : std_logic;
signal i1 : integer := 1;
constant i2 : integer := 1;
signal t1 : time := 1 ns;
constant t2 : time := 1 ns;
begin
process
variable m : boolean;
variable ip1 : integer := 1;
constant ip2 : integer := 1;
variable tp1 : time := 1 ns;
constant tp2 : time := 1 ns;
begin
m := a'stable(1 ns); --works ... literal
m := a'stable(i1 * ns); --works ... signal * unit
m := a'stable(i2 * ns); --works ... constant * unit
m := a'stable(t1); --works ... signal (time)
m := a'stable(t2); --works ... constant (time)
m := a'stable(ip1 * ns); --crashs ... LOCAL variable * unit
m := a'stable(ip2 * ns); --works ... LOCAL constant * unit
m := a'stable(tp1); --crashs ... LOCAL variable (time)
m := a'stable(tp2); --crashs ... LOCAL constant (time)
--
m := a'quiet(1 ns); --works
m := a'quiet(i1 * ns); --works
m := a'quiet(i2 * ns); --works
m := a'quiet(t1); --works
m := a'quiet(t2); --works
m := a'quiet(ip1 * ns); --crashs
m := a'quiet(ip2 * ns); --works
m := a'quiet(tp1); --crashs
m := a'quiet(tp2); --crashs
--
b <= a'delayed(1 ns); --works
b <= a'delayed(i1 * ns); --works
b <= a'delayed(i2 * ns); --works
b <= a'delayed(t1); --works
b <= a'delayed(t2); --works
b <= a'delayed(ip1 * ns); --crashs
b <= a'delayed(ip2 * ns); --works
b <= a'delayed(tp1); --crashs
b <= a'delayed(tp2); --crashs
end process;
end architecture;
|