|
|
@ -13,22 +13,28 @@ end entity psl_never; |
|
|
|
|
|
|
|
architecture psl of psl_never is |
|
|
|
|
|
|
|
signal a : std_logic; |
|
|
|
signal a, b : std_logic; |
|
|
|
|
|
|
|
begin |
|
|
|
|
|
|
|
|
|
|
|
SEQ : sequencer generic map ("_-_-_") port map (clk, a); |
|
|
|
-- 0123 |
|
|
|
SEQ_A : sequencer generic map ("____") port map (clk, a); |
|
|
|
SEQ_B : sequencer generic map ("__-_") port map (clk, b); |
|
|
|
|
|
|
|
|
|
|
|
-- All is sensitive to rising edge of clk |
|
|
|
default clock is rising_edge(clk); |
|
|
|
|
|
|
|
-- Signal a has to be low forever |
|
|
|
NEVER_a : assert never a; |
|
|
|
-- This assertion holds |
|
|
|
NEVER_0_a : assert never a; |
|
|
|
|
|
|
|
-- Equivalent assert with always and negation |
|
|
|
-- This assertion holds |
|
|
|
ALWAYS_a : assert always not a; |
|
|
|
|
|
|
|
-- This assertion doesn't hold at cycle 2 |
|
|
|
NEVER_1_a : assert never b; |
|
|
|
|
|
|
|
|
|
|
|
end architecture psl; |