blob: 2bcdd4e5a767914d68af29d66ceb066c113fcff0 (
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
|
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity ent is
end ent;
architecture sim of ent is
signal s_clk : std_logic := '1';
signal s_test : std_logic := '0';
begin
s_clk <= not s_clk after 5 ns;
s_test <= '1' after 30 ns,
'0' after 40 ns;
process is
begin
wait until rising_edge(s_clk);
-- This works
if s_test'stable(10 ns) then
report "s_test stable";
else
report "s_test changed";
end if;
end process;
-- This works
-- psl assert always (s_test'stable)@rising_edge(s_clk);
-- This leads to an compile error
-- psl assert always (s_test'stable(10 ns))@rising_edge(s_clk);
end architecture sim;
|