systemc: Implement positional binding.
Change-Id: Ifbcd7e4148b82b9bf5241e040e812925daea3705 Reviewed-on: https://gem5-review.googlesource.com/12263 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -78,14 +78,15 @@ class sc_module_name;
|
||||
class sc_bind_proxy
|
||||
{
|
||||
private:
|
||||
const sc_interface *_interface;
|
||||
const sc_port_base *_port;
|
||||
|
||||
friend class sc_module;
|
||||
sc_interface *_interface;
|
||||
sc_port_base *_port;
|
||||
|
||||
public:
|
||||
sc_bind_proxy(const sc_interface &_interface);
|
||||
sc_bind_proxy(const sc_port_base &_port);
|
||||
sc_bind_proxy(sc_interface &_interface);
|
||||
sc_bind_proxy(sc_port_base &_port);
|
||||
|
||||
sc_interface *interface() const { return _interface; }
|
||||
sc_port_base *port() const { return _port; }
|
||||
};
|
||||
|
||||
extern const sc_bind_proxy SC_BIND_PROXY_NIL;
|
||||
|
||||
@@ -40,6 +40,7 @@ namespace sc_gem5
|
||||
{
|
||||
|
||||
class BindInfo;
|
||||
class Module;
|
||||
class PendingSensitivityPort;
|
||||
|
||||
};
|
||||
@@ -71,6 +72,8 @@ class sc_port_base : public sc_object
|
||||
void bind(sc_interface &);
|
||||
void bind(sc_port_base &);
|
||||
|
||||
friend class ::sc_gem5::Module;
|
||||
|
||||
// Implementation defined, but depended on by the tests.
|
||||
virtual int vbind(sc_interface &) = 0;
|
||||
virtual int vbind(sc_port_base &) = 0;
|
||||
|
||||
Reference in New Issue
Block a user