In reply to dave_59:
Thanks to your reply.
I misunderstand sampling values in the preponed region. Thanks to you, I could understand.
In the example above, in the preponed region, a has a value of 0, b is 1, and in the reactive region, the values of a and b are 0. $sample returns the values of preponed region. The action block of assertion is executed in the reactive region. So the action block of a1_bad reports “a = 0, b = 0” and the action block of a2_ok reports “a = 0, b = 1”.
Please confirm that my understanding is correct.
thank you.