systemc: Add a nonstandard sc_signal constructor.

This constructor takes an initial value to set the sc_signal to, and
is used in the tests.

Change-Id: I197218846d9a79f9237238c78b1bbd8a7f55443f
Reviewed-on: https://gem5-review.googlesource.com/11266
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-06-15 18:07:43 -07:00
parent fc008a085d
commit 0801de860c

View File

@@ -53,6 +53,12 @@ class sc_signal : public sc_signal_inout_if<T>,
explicit sc_signal(const char *name) : sc_signal_inout_if<T>(),
sc_prim_channel(name)
{}
explicit sc_signal(const char *name, const T &initial_value) :
sc_signal_inout_if<T>(), sc_prim_channel(name)
{
// Need to consume initial_value.
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);
}
virtual ~sc_signal() {}
virtual void
@@ -162,6 +168,12 @@ class sc_signal<bool, WRITER_POLICY> :
{
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);
}
explicit sc_signal(const char *name, const bool &initial_value) :
sc_signal_inout_if<bool>(), sc_prim_channel(name)
{
// Need to consume initial_value.
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);
}
virtual ~sc_signal()
{
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);
@@ -292,6 +304,13 @@ class sc_signal<sc_dt::sc_logic, WRITER_POLICY> :
{
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);
}
explicit sc_signal(const char *name,
const sc_dt::sc_logic &initial_value) :
sc_signal_inout_if<sc_dt::sc_logic>(), sc_prim_channel(name)
{
// Need to consume initial_value.
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);
}
virtual ~sc_signal()
{
sc_channel_warn_unimpl(__PRETTY_FUNCTION__);