RE: suspend and reset

From: Bishnupriya Bhattacharya <bpriya@cadence.com>
Date: Sun Sep 19 2010 - 23:22:44 PDT

John,

A very good test case.

Yes, the call to resume() would have to track the different effective sensitivites, such that when the resume() call does happen, it will only trigger the process with the latest effective sensntivity, and the previous effective sensitivites will have no effect on the process triggering.

It would be fantastic if all the corner case sitn. that you have come up with so far could be provided as part of a test suite for the process control constructs - it would be extremely valuable.

Thanks,
-Bishnupriya

________________________________
From: john.aynsley@doulos.com [mailto:john.aynsley@doulos.com]
Sent: Friday, September 17, 2010 6:23 PM
To: Bishnupriya Bhattacharya; systemc-p1666-technical@eda.org
Subject: suspend and reset

Bisnupriya, All,

More corner cases...

Suppose a process is reset while it is suspended, or even the more extreme case where a process is reset several times while suspended and each time comes to rest at at different wait call with a different dynamic sensitivity list. What happens on the call to resume? Is the implementation obliged to track whether the process would have been resumed (while in fact suspended) through all the changes to the dynamic sensitivity?

e.g.

void my_thread () {
   if (state)
      wait (something);
  else
     wait (something_else)
  for (;;) {
    wait (...);
    ...
  }

...

handle.suspend();
...
handle.reset();
...
handle.reset();
...
handle.resume();

John A

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Sep 19 23:23:13 2010

This archive was generated by hypermail 2.1.8 : Sun Sep 19 2010 - 23:23:14 PDT