Hello Everyone,
This question came up today.
Since $past can now be called anywhere within design or verification
code, when is the value $past returns "updated"? When will the return
value change from one value to the next?
Here's what the LRM says:
"$past returns the value of expression1 that was sampled in the Preponed
region of a particular time step
strictly prior to the one in which $past is evaluated. If
number_of_ticks equals k and if ev is the event
expression underlying clocking_event, then the particular time step is
the kth strictly prior time step in which
the event ev iff expression2 occurred."
My interpretation:
Suppose the simulation is at a time step k in which a clocking event
occurs. All through this time step, a call to $past(a) will return the
sampled value of a from the most recent time step in which the clocking
event occurred. On the next time step k+1, any call to $past(a) will
now return the sampled value from the time step k.
So imprecisely speaking, the return value from $past changes at the
beginning of any time step immediately following a time step in which a
clocking event occurred.
Does everyone agree? Does everyone think this is clear from the LRM?
Thanks,
Tom
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu May 5 12:50:00 2011
This archive was generated by hypermail 2.1.8 : Thu May 05 2011 - 12:50:05 PDT