blob: 36d0011f667da135f556fc668103334b87626b21 (
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
|
library ieee;
use ieee.std_logic_1164.all;
entity psl_stable is
port (clk, a, b, c : in std_logic;
d : in std_logic_vector(3 downto 0)
);
end entity psl_stable;
architecture psl of psl_stable is
begin
-- All is sensitive to rising edge of clk
default clock is rising_edge(clk);
-- This assertion should fail at cycle 13
STABLE_0_a : assert always {not a; a} |=> (stable(c) until_ b);
-- This assertion holds
STABLE_1_a : assert always {not a; a} |=> (stable(d) until_ b);
-- This assertion should fail at cycle 13
STABLE_2_a : assert always {not a; a} |=> (c = prev(c) until_ b);
-- This assertion holds
STABLE_3_a : assert always {not a; a} |=> (d = prev(d) until_ b);
end architecture psl;
|