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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user