{
if (process->disabled())
return false;
- return notifyWork(e);
+ satisfy();
+ return true;
}
bool
{}
bool
-DynamicSensitivityEventOrList::notifyWork(Event *e)
+DynamicSensitivityEventOrList::notify(Event *e)
{
+ if (process->disabled())
+ return false;
+
events.erase(e->sc_event());
// All the other events need this deleted from their lists since this
{}
bool
-DynamicSensitivityEventAndList::notifyWork(Event *e)
+DynamicSensitivityEventAndList::notify(Event *e)
{
+ if (process->disabled())
+ return false;
+
events.erase(e->sc_event());
// This sensitivity is satisfied if all events have triggered.
}
bool
-ResetSensitivitySignal::notifyWork(Event *e)
+ResetSensitivitySignal::notify(Event *e)
{
process->signalReset(_signal->read() == val(), sync());
return true;
virtual void addToEvent(const ::sc_core::sc_event *e) = 0;
virtual void delFromEvent(const ::sc_core::sc_event *e) = 0;
- virtual bool
- notifyWork(Event *e)
- {
- satisfy();
- return true;
- }
-
public:
virtual void clear() = 0;
void satisfy();
- bool notify(Event *e);
+ virtual bool notify(Event *e);
enum Category
{
DynamicSensitivityEventOrList(
Process *p, const sc_core::sc_event_or_list *eol);
- bool notifyWork(Event *e) override;
+ bool notify(Event *e) override;
};
//XXX This sensitivity can't be reused. To reset it, it has to be deleted and
DynamicSensitivityEventAndList(
Process *p, const sc_core::sc_event_and_list *eal);
- bool notifyWork(Event *e) override;
+ bool notify(Event *e) override;
};
/*
Process *p, const sc_core::sc_signal_in_if<bool> *signal,
bool _val, bool _sync);
- bool notifyWork(Event *e) override;
+ bool notify(Event *e) override;
};
class ResetSensitivityPort : public ResetSensitivitySignal