systemc: Add in the deprecated binding port constructors.
These are needed by... you guessed it, the regression tests. Change-Id: Id30e71944cc7f3faca7dcb197f37938368364fcd Reviewed-on: https://gem5-review.googlesource.com/10958 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -49,6 +49,26 @@ class sc_fifo_in : public sc_port<sc_fifo_in_if<T>, 0>
|
||||
{}
|
||||
virtual ~sc_fifo_in() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_fifo_in(const sc_fifo_in_if<T> &interface) :
|
||||
sc_port<sc_fifo_in_if<T>, 0>(interface)
|
||||
{}
|
||||
sc_fifo_in(const char *name, const sc_fifo_in_if<T> &interface) :
|
||||
sc_port<sc_fifo_in_if<T>, 0>(name, interface)
|
||||
{}
|
||||
explicit sc_fifo_in(sc_port_b<sc_fifo_in_if<T> > &parent) :
|
||||
sc_port<sc_fifo_in_if<T>, 0>(parent)
|
||||
{}
|
||||
sc_fifo_in(const char *name, sc_port_b<sc_fifo_in_if<T> > &parent) :
|
||||
sc_port<sc_fifo_in_if<T>, 0>(name, parent)
|
||||
{}
|
||||
explicit sc_fifo_in(sc_port<sc_fifo_in_if<T>, 0> &parent) :
|
||||
sc_port<sc_fifo_in_if<T>, 0>(parent)
|
||||
{}
|
||||
sc_fifo_in(const char *name, sc_port<sc_fifo_in_if<T>, 0> &parent) :
|
||||
sc_port<sc_fifo_in_if<T>, 0>(name, parent)
|
||||
{}
|
||||
|
||||
void
|
||||
read(T &)
|
||||
{
|
||||
|
||||
@@ -50,6 +50,26 @@ class sc_fifo_out : public sc_port<sc_fifo_out_if<T>, 0>
|
||||
{}
|
||||
virtual ~sc_fifo_out() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_fifo_out(const sc_fifo_out_if<T> &interface) :
|
||||
sc_port<sc_fifo_out_if<T>, 0>(interface)
|
||||
{}
|
||||
sc_fifo_out(const char *name, const sc_fifo_out_if<T> &interface) :
|
||||
sc_port<sc_fifo_out_if<T>, 0>(name, interface)
|
||||
{}
|
||||
explicit sc_fifo_out(sc_port_b<sc_fifo_out_if<T> > &parent) :
|
||||
sc_port<sc_fifo_out_if<T>, 0>(parent)
|
||||
{}
|
||||
sc_fifo_out(const char *name, sc_port_b<sc_fifo_out_if<T> > &parent) :
|
||||
sc_port<sc_fifo_out_if<T>, 0>(name, parent)
|
||||
{}
|
||||
explicit sc_fifo_out(sc_port<sc_fifo_out_if<T>, 0> &parent) :
|
||||
sc_port<sc_fifo_out_if<T>, 0>(parent)
|
||||
{}
|
||||
sc_fifo_out(const char *name, sc_port<sc_fifo_out_if<T>, 0> &parent) :
|
||||
sc_port<sc_fifo_out_if<T>, 0>(name, parent)
|
||||
{}
|
||||
|
||||
void
|
||||
write(const T &)
|
||||
{
|
||||
|
||||
@@ -52,6 +52,26 @@ class sc_in : public sc_port<sc_signal_in_if<T>, 1>
|
||||
explicit sc_in(const char *name) : sc_port<sc_signal_in_if<T>, 1>(name) {}
|
||||
virtual ~sc_in() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_in(const sc_signal_in_if<T> &interface) :
|
||||
sc_port<sc_signal_in_if<T>, 1>(interface)
|
||||
{}
|
||||
sc_in(const char *name, const sc_signal_in_if<T> &interface) :
|
||||
sc_port<sc_signal_in_if<T>, 1>(name, interface)
|
||||
{}
|
||||
explicit sc_in(sc_port_b<sc_signal_in_if<T> > &parent) :
|
||||
sc_port<sc_signal_in_if<T>, 1>(parent)
|
||||
{}
|
||||
sc_in(const char *name, sc_port_b<sc_signal_in_if<T> > &parent) :
|
||||
sc_port<sc_signal_in_if<T>, 1>(name, parent)
|
||||
{}
|
||||
explicit sc_in(sc_port<sc_signal_in_if<T>, 1> &parent) :
|
||||
sc_port<sc_signal_in_if<T>, 1>(parent)
|
||||
{}
|
||||
sc_in(const char *name, sc_port<sc_signal_in_if<T>, 1> &parent) :
|
||||
sc_port<sc_signal_in_if<T>, 1>(name, parent)
|
||||
{}
|
||||
|
||||
virtual void
|
||||
bind(const sc_signal_in_if<T> &)
|
||||
{
|
||||
@@ -152,6 +172,26 @@ class sc_in<bool> : public sc_port<sc_signal_in_if<bool>, 1>
|
||||
sc_port<sc_signal_in_if<bool>, 1>(name) {}
|
||||
virtual ~sc_in() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_in(const sc_signal_in_if<bool> &interface) :
|
||||
sc_port<sc_signal_in_if<bool>, 1>(interface)
|
||||
{}
|
||||
sc_in(const char *name, const sc_signal_in_if<bool> &interface) :
|
||||
sc_port<sc_signal_in_if<bool>, 1>(name, interface)
|
||||
{}
|
||||
explicit sc_in(sc_port_b<sc_signal_in_if<bool> > &parent) :
|
||||
sc_port<sc_signal_in_if<bool>, 1>(parent)
|
||||
{}
|
||||
sc_in(const char *name, sc_port_b<sc_signal_in_if<bool> > &parent) :
|
||||
sc_port<sc_signal_in_if<bool>, 1>(name, parent)
|
||||
{}
|
||||
explicit sc_in(sc_port<sc_signal_in_if<bool>, 1> &parent) :
|
||||
sc_port<sc_signal_in_if<bool>, 1>(parent)
|
||||
{}
|
||||
sc_in(const char *name, sc_port<sc_signal_in_if<bool>, 1> &parent) :
|
||||
sc_port<sc_signal_in_if<bool>, 1>(name, parent)
|
||||
{}
|
||||
|
||||
virtual void
|
||||
bind(const sc_signal_in_if<bool> &)
|
||||
{
|
||||
@@ -292,6 +332,29 @@ class sc_in<sc_dt::sc_logic> :
|
||||
{}
|
||||
virtual ~sc_in() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_in(const sc_signal_in_if<sc_dt::sc_logic> &interface) :
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(interface)
|
||||
{}
|
||||
sc_in(const char *name,
|
||||
const sc_signal_in_if<sc_dt::sc_logic> &interface) :
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(name, interface)
|
||||
{}
|
||||
explicit sc_in(sc_port_b<sc_signal_in_if<sc_dt::sc_logic> > &parent) :
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(parent)
|
||||
{}
|
||||
sc_in(const char *name,
|
||||
sc_port_b<sc_signal_in_if<sc_dt::sc_logic> > &parent) :
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(name, parent)
|
||||
{}
|
||||
explicit sc_in(sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1> &parent) :
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(parent)
|
||||
{}
|
||||
sc_in(const char *name,
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1> &parent) :
|
||||
sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(name, parent)
|
||||
{}
|
||||
|
||||
virtual void
|
||||
bind(const sc_signal_in_if<sc_dt::sc_logic> &)
|
||||
{
|
||||
|
||||
@@ -60,6 +60,26 @@ class sc_inout : public sc_port<sc_signal_inout_if<T>, 1>
|
||||
{}
|
||||
virtual ~sc_inout() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_inout(const sc_signal_inout_if<T> &interface) :
|
||||
sc_port<sc_signal_inout_if<T>, 1>(interface)
|
||||
{}
|
||||
sc_inout(const char *name, const sc_signal_inout_if<T> &interface) :
|
||||
sc_port<sc_signal_inout_if<T>, 1>(name, interface)
|
||||
{}
|
||||
explicit sc_inout(sc_port_b<sc_signal_inout_if<T> > &parent) :
|
||||
sc_port<sc_signal_inout_if<T>, 1>(parent)
|
||||
{}
|
||||
sc_inout(const char *name, sc_port_b<sc_signal_inout_if<T> > &parent) :
|
||||
sc_port<sc_signal_inout_if<T>, 1>(name, parent)
|
||||
{}
|
||||
explicit sc_inout(sc_port<sc_signal_inout_if<T>, 1> &parent) :
|
||||
sc_port<sc_signal_inout_if<T>, 1>(parent)
|
||||
{}
|
||||
sc_inout(const char *name, sc_port<sc_signal_inout_if<T>, 1> &parent) :
|
||||
sc_port<sc_signal_inout_if<T>, 1>(name, parent)
|
||||
{}
|
||||
|
||||
void
|
||||
initialize(const T &)
|
||||
{
|
||||
@@ -170,6 +190,26 @@ class sc_inout<bool> : public sc_port<sc_signal_inout_if<bool>, 1>
|
||||
{}
|
||||
virtual ~sc_inout() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_inout(const sc_signal_inout_if<bool> &interface) :
|
||||
sc_port<sc_signal_inout_if<bool>, 1>(interface)
|
||||
{}
|
||||
sc_inout(const char *name, const sc_signal_inout_if<bool> &interface) :
|
||||
sc_port<sc_signal_inout_if<bool>, 1>(name, interface)
|
||||
{}
|
||||
explicit sc_inout(sc_port_b<sc_signal_inout_if<bool> > &parent) :
|
||||
sc_port<sc_signal_inout_if<bool>, 1>(parent)
|
||||
{}
|
||||
sc_inout(const char *name, sc_port_b<sc_signal_inout_if<bool> > &parent) :
|
||||
sc_port<sc_signal_inout_if<bool>, 1>(name, parent)
|
||||
{}
|
||||
explicit sc_inout(sc_port<sc_signal_inout_if<bool>, 1> &parent) :
|
||||
sc_port<sc_signal_inout_if<bool>, 1>(parent)
|
||||
{}
|
||||
sc_inout(const char *name, sc_port<sc_signal_inout_if<bool>, 1> &parent) :
|
||||
sc_port<sc_signal_inout_if<bool>, 1>(name, parent)
|
||||
{}
|
||||
|
||||
void
|
||||
initialize(const bool &)
|
||||
{
|
||||
@@ -320,6 +360,31 @@ class sc_inout<sc_dt::sc_logic> :
|
||||
{}
|
||||
virtual ~sc_inout() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_inout(const sc_signal_inout_if<sc_dt::sc_logic> &interface) :
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1>(interface)
|
||||
{}
|
||||
sc_inout(const char *name,
|
||||
const sc_signal_inout_if<sc_dt::sc_logic> &interface) :
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1>(name, interface)
|
||||
{}
|
||||
explicit sc_inout(
|
||||
sc_port_b<sc_signal_inout_if<sc_dt::sc_logic> > &parent) :
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1>(parent)
|
||||
{}
|
||||
sc_inout(const char *name,
|
||||
sc_port_b<sc_signal_inout_if<sc_dt::sc_logic> > &parent) :
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1>(name, parent)
|
||||
{}
|
||||
explicit sc_inout(
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1> &parent) :
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1>(parent)
|
||||
{}
|
||||
sc_inout(const char *name,
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1> &parent) :
|
||||
sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1>(name, parent)
|
||||
{}
|
||||
|
||||
void
|
||||
initialize(const sc_dt::sc_logic &)
|
||||
{
|
||||
|
||||
@@ -45,6 +45,22 @@ class sc_out : public sc_inout<T>
|
||||
explicit sc_out(const char *name) : sc_inout<T>(name) {}
|
||||
virtual ~sc_out() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_out(const sc_signal_inout_if<T> &interface) :
|
||||
sc_inout<T>(interface)
|
||||
{}
|
||||
sc_out(const char *name, const sc_signal_inout_if<T> &interface) :
|
||||
sc_inout<T>(name, interface)
|
||||
{}
|
||||
explicit sc_out(sc_port_b<sc_signal_inout_if<T> > &parent) :
|
||||
sc_inout<T>(parent)
|
||||
{}
|
||||
sc_out(const char *name, sc_port_b<sc_signal_inout_if<T> > &parent) :
|
||||
sc_inout<T>(name, parent)
|
||||
{}
|
||||
explicit sc_out(sc_out<T> &parent) : sc_inout<T>(parent) {}
|
||||
sc_out(const char *name, sc_out<T> &parent) : sc_inout<T>(name, parent) {}
|
||||
|
||||
sc_out<T> &
|
||||
operator = (const T &)
|
||||
{
|
||||
|
||||
@@ -61,73 +61,73 @@ class sc_port_b : public sc_port_base
|
||||
void
|
||||
operator () (IF &)
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
void
|
||||
operator () (sc_port_b<IF> &)
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
virtual void
|
||||
bind(IF &)
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
virtual void
|
||||
bind(sc_port_b<IF> &)
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
int
|
||||
size() const
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
IF *
|
||||
operator -> ()
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return (IF *)nullptr;
|
||||
}
|
||||
|
||||
const IF *
|
||||
operator -> () const
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return (IF *)nullptr;
|
||||
}
|
||||
|
||||
IF *
|
||||
operator [] (int)
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return (IF *)nullptr;
|
||||
}
|
||||
|
||||
const IF *
|
||||
operator [] (int) const
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return (IF *)nullptr;
|
||||
}
|
||||
|
||||
virtual sc_interface *
|
||||
get_interface()
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return (sc_interface *)nullptr;
|
||||
}
|
||||
|
||||
virtual const sc_interface *
|
||||
get_interface() const
|
||||
{
|
||||
warn_unimpl(__PRETTY_FUNCTION__);
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
return (sc_interface *)nullptr;
|
||||
}
|
||||
|
||||
@@ -156,10 +156,50 @@ template <class IF, int N=1, sc_port_policy P=SC_ONE_OR_MORE_BOUND>
|
||||
class sc_port : public sc_port_b<IF>
|
||||
{
|
||||
public:
|
||||
sc_port() : sc_port_b<IF>(sc_gen_unique_name("sc_port"), N, P) {}
|
||||
sc_port() : sc_port_b<IF>(N, P) {}
|
||||
explicit sc_port(const char *name) : sc_port_b<IF>(name, N, P) {}
|
||||
virtual ~sc_port() {}
|
||||
|
||||
// Deprecated binding constructors.
|
||||
explicit sc_port(const IF &interface) : sc_port_b<IF>(N, P)
|
||||
{
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
// Should warn that these are deprecated. See Accellera sc_port.h.
|
||||
sc_port_b<IF>::bind(const_cast<IF &>(interface));
|
||||
}
|
||||
sc_port(const char *name, const IF &interface) : sc_port_b<IF>(name, N, P)
|
||||
{
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
// Should warn that these are deprecated. See Accellera sc_port.h.
|
||||
sc_port_b<IF>::bind(const_cast<IF &>(interface));
|
||||
}
|
||||
explicit sc_port(sc_port_b<IF> &parent) : sc_port_b<IF>(N, P)
|
||||
{
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
// Should warn that these are deprecated. See Accellera sc_port.h.
|
||||
sc_port_b<IF>::bind(parent);
|
||||
}
|
||||
sc_port(const char *name, sc_port_b<IF> &parent) :
|
||||
sc_port_b<IF>(name, N, P)
|
||||
{
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
// Should warn that these are deprecated. See Accellera sc_port.h.
|
||||
sc_port_b<IF>::bind(parent);
|
||||
}
|
||||
explicit sc_port(sc_port<IF, N, P> &parent) : sc_port_b<IF>(N, P)
|
||||
{
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
// Should warn that these are deprecated. See Accellera sc_port.h.
|
||||
sc_port_b<IF>::bind(parent);
|
||||
}
|
||||
sc_port(const char *name, sc_port<IF, N, P> &parent) :
|
||||
sc_port_b<IF>(name, N, P)
|
||||
{
|
||||
this->warn_unimpl(__PRETTY_FUNCTION__);
|
||||
// Should warn that these are deprecated. See Accellera sc_port.h.
|
||||
sc_port_b<IF>::bind(parent);
|
||||
}
|
||||
|
||||
virtual const char *kind() const { return "sc_port"; }
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user