systemc: Add a sensitivity type for exports.

Dynamic processes can be sensitive to exports, so we need a pending
sensitivity to represent them.

Change-Id: I87952f8bbb7847ad1f1d98d35cd5dd488e7b28ab
Reviewed-on: https://gem5-review.googlesource.com/12042
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-07-20 19:24:58 -07:00
parent 3224bc3554
commit ca3b0eb155

View File

@@ -39,6 +39,7 @@
#include "systemc/core/list.hh"
#include "systemc/core/object.hh"
#include "systemc/ext/core/sc_event.hh"
#include "systemc/ext/core/sc_export.hh"
#include "systemc/ext/core/sc_interface.hh"
#include "systemc/ext/core/sc_module.hh"
#include "systemc/ext/core/sc_port.hh"
@@ -224,6 +225,24 @@ class PendingSensitivityPort : public PendingSensitivity
}
};
class PendingSensitivityExport : public PendingSensitivity
{
private:
const sc_core::sc_export_base *exp;
public:
PendingSensitivityExport(Process *p, const sc_core::sc_export_base *exp) :
PendingSensitivity(p), exp(exp)
{}
void
finalize(Sensitivities &s) override
{
s.push_back(new SensitivityEvent(process,
&exp->get_interface()->default_event()));
}
};
class PendingSensitivityFinder : public PendingSensitivity
{
private: