Event starvation

From: <john.aynsley@doulos.com>
Date: Fri Nov 19 2010 - 02:37:18 PST

Folks,

A few of us have been having a side conversation about how we incorporate
sc_pause into the scheduler. One issue that we have thrown up that I would
like to refer back to everyone is what happens on event starvation.

As we have already discussed, the current OSCI sim does this...

sc_start(100, SC_NS); // Event starvation at sc_time(50, SC_NS)
sc_assert( sc_time_stamp() == sc_time(100, SC_NS) );

We have proposed making the following change

sc_start(100, SC_NS); // Event starvation at sc_time(50, SC_NS)
sc_assert( sc_time_stamp() == sc_time(50, SC_NS) );

This is a change to 1666-2005 and is not backward compatible with the
current OSCI sim, but we believe it is the better solution. The old
behavior can be achieved as follows:

ev.notify(100, SC_NS);
sc_start(100, SC_NS); // Simulation will run for the full 100 ns

Is everyone okay with this change?

Thanks,

John A

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Nov 19 02:37:41 2010

This archive was generated by hypermail 2.1.8 : Fri Nov 19 2010 - 02:37:42 PST