[sv-ac] When is $past "updated"

From: Thomas J Thatcher <thomas.thatcher@oracle.com>
Date: Thu May 05 2011 - 12:49:34 PDT

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