|
|
- library ieee;
- use ieee.std_logic_1164.all;
-
- use work.pkg.all;
-
-
- entity yosys_anyseq is
- port (
- clk : in std_logic
- );
- end entity yosys_anyseq;
-
-
- architecture psl of yosys_anyseq is
-
- attribute anyseq : boolean;
-
- signal a: std_logic;
- signal b: natural;
-
- attribute anyseq of a : signal is true;
- attribute anyseq of b : signal is true;
-
- begin
-
-
- -- All is sensitive to rising edge of clk
- default clock is rising_edge(clk);
-
- -- a should always be high
- ANY_ASSUME_0_a : assume always a;
-
- -- This assertion holds
- ANY_ASSERT_0_a : assert always a;
-
- -- b should always be in range 23...42
- ANY_ASSUME_1_a : assume always b >= 23 and b <= 42;
-
- -- This assertion holds
- ANY_ASSERT_1_a : assert always b >= 23 and b <= 42;
-
- -- This assertion fails in cycle 1
- -- Solver chosen value can change from one to next cycle
- ANY_ASSERT_2_a : assert b >= 23 -> next b = prev(b);
-
-
- end architecture psl;
|