Concurrent Assertion :: To check the No. of Occurrence of ' ack ' within certain clocks

In reply to ben@SystemVerilog.us:

I tried various examples from LRM Section 16.11 for better understanding .

I finally get the reason you called the subroutine to increment variable ’ ticket ’

( As ’ ticket ’ isn’t a local variable it can’t be assigned within the property )

I have a few more questions to conclude the thread :: EDALINK

Via +define+M_A ::

**[Q1] Both the $display() execute in the re-active region .

Is there a predefined order in which the $display() ( within the property V/S within the pass / fail action block ) should execute ?

i.e Should the $display() within the property execute before the Pass / Fail action block ??**

[Q2] Can I say the following ::
(a) The assignment to local variables ldata
take place in re-active region .
(b) The local variables ldata
are assigned the preponed Value sampled for rdata***

Via +define+M_S ::

[Q3] I observe that $display() within the property reports different values than the $display() executed within the subroutine .

Is it cause the preponed values are used in $display within the property ?

[Q4] Is there a defined order in which the $display() be executed within the subroutine , within the property and the pass / fail action block ?