In reply to a72:
not((st==S1 ##1 st==S2) [*32])) should work.
I was not clear on the requirements. I used the set_1k to exclude
other st==S1 from refiring until the triggered assertion passes or fail.
But on 2nd thoughts, you don’t need it.
Ben systemverilog.us