Our forums have moved! Please go to http://forums.accellera.org for the new forums. The forums you see here will remain open for browsing, but are no longer open to new posts.
View email archives for the history of this mailing list.
systemc-forum - [Systemc-forum] dynamic sensitivity in method processes
- To: systemc-forum@xxxxxxxxxxx
- From: Chamath Jayatilleke <chamath_jayatilleke@xxxxxxxxx>
- Date: Fri, 2 Aug 2002 07:29:32 -0700 (PDT)
- Send Email to firstname.lastname@example.org:
- Send new message
- Reply to this message
I am trying to add some characteristics of SC_THREAD
processes into SC_METHOD processes. In short, my
requirement can be illustrated as follows,
if (some_condition) next_trigger(e1);
out -> write();
if (another_condition) next_trigger(e2);
For simplicity, I have not shown the my_out_if
interface and MyChannel class definitions. But it can
be assumed that write() is an interface method
accessible via port out.
When both conditions are satisfied on a particular
simulation cycle I would like this method process to
be halted from simulation until both events get
triggered in-turn. But the problem is that
next_trigger() will cause the last event to override
the first one in the dynamic sensitivity list for that
process and whether or not e1 is notified, the process
will get triggered as soon as e2 is notified.
I have already implemented my requirement by creating
my own event que on heap but there is a significant
performance penalty in my solution. I would like to
know whether there is a better way to go about doing
this and avoid re-inventing the wheel.
Do You Yahoo!?
Yahoo! Health - Feel better, live better
Mail converted by the most-excellent MHonArc 2.6.10