diff options
Diffstat (limited to 'src/systemc/core/sensitivity.cc')
-rw-r--r-- | src/systemc/core/sensitivity.cc | 80 |
1 files changed, 1 insertions, 79 deletions
diff --git a/src/systemc/core/sensitivity.cc b/src/systemc/core/sensitivity.cc index 9ce6fc4de..4f84ce0e9 100644 --- a/src/systemc/core/sensitivity.cc +++ b/src/systemc/core/sensitivity.cc @@ -29,6 +29,7 @@ #include "systemc/core/sensitivity.hh" +#include "base/logging.hh" #include "systemc/core/event.hh" #include "systemc/core/port.hh" #include "systemc/core/process.hh" @@ -97,18 +98,6 @@ StaticSensitivity::delFromEvent(const ::sc_core::sc_event *e) Event::getFromScEvent(e)->delSensitivity(this); } -void -ResetSensitivity::addToEvent(const ::sc_core::sc_event *e) -{ - Event::getFromScEvent(e)->addSensitivity(this); -} - -void -ResetSensitivity::delFromEvent(const ::sc_core::sc_event *e) -{ - Event::getFromScEvent(e)->delSensitivity(this); -} - /* * Static sensitivities. @@ -250,71 +239,4 @@ DynamicSensitivityEventAndList::notify(Event *e) return true; } -/* - * Reset sensitivities. - */ - -void -newResetSensitivitySignal( - Process *p, const sc_core::sc_signal_in_if<bool> *signal, - bool val, bool sync) -{ - auto s = new ResetSensitivitySignal(p, signal, val, sync); - s->addToEvent(s->event); - p->addReset(s); -} - -void -newResetSensitivityPort(Process *p, const sc_core::sc_in<bool> *port, - bool val, bool sync) -{ - auto s = new ResetSensitivityPort(p, port, val, sync); - Port::fromPort(port)->sensitive(s); - p->addReset(s); -} -void -newResetSensitivityPort(Process *p, const sc_core::sc_inout<bool> *port, - bool val, bool sync) -{ - auto s = new ResetSensitivityPort(p, port, val, sync); - Port::fromPort(port)->sensitive(s); - p->addReset(s); -} -void -newResetSensitivityPort(Process *p, const sc_core::sc_out<bool> *port, - bool val, bool sync) -{ - auto s = new ResetSensitivityPort(p, port, val, sync); - Port::fromPort(port)->sensitive(s); - p->addReset(s); -} - -ResetSensitivitySignal::ResetSensitivitySignal( - Process *p, const sc_core::sc_signal_in_if<bool> *signal, - bool _val, bool _sync) : - Sensitivity(p), ResetSensitivity(p, _val, _sync), - SensitivityEvent(p, signal ? &signal->value_changed_event() : nullptr), - _signal(signal) -{ - if (signal && signal->read() == val()) - process->signalReset(true, sync()); -} - -bool -ResetSensitivitySignal::notify(Event *e) -{ - process->signalReset(_signal->read() == val(), sync()); - return true; -} - -void -ResetSensitivityPort::setSignal(const ::sc_core::sc_signal_in_if<bool> *signal) -{ - _signal = signal; - event = &_signal->value_changed_event(); - addToEvent(event); - if (signal->read() == val()) - process->signalReset(true, sync()); -} - } // namespace sc_gem5 |