gem5 v25.0.0.1
Loading...
Searching...
No Matches
tlm_utils::multi_passthrough_initiator_socket_optional< MODULE, BUSWIDTH, TYPES, N > Class Template Reference

#include <multi_passthrough_initiator_socket.h>

Inheritance diagram for tlm_utils::multi_passthrough_initiator_socket_optional< MODULE, BUSWIDTH, TYPES, N >:
tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND > tlm_utils::multi_init_base< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL > tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL > tlm_utils::multi_init_base_if< tlm::tlm_base_protocol_types > tlm_utils::multi_socket_base tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL > tlm_utils::convenience_socket_base tlm::tlm_base_socket_if tlm::tlm_base_initiator_socket_b< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types > > sc_core::sc_port< tlm_fw_transport_if< tlm::tlm_base_protocol_types >, N, POL > sc_core::sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > > sc_core::sc_port_base sc_core::sc_object

Public Member Functions

 multi_passthrough_initiator_socket_optional ()
 multi_passthrough_initiator_socket_optional (const char *name)
Public Member Functions inherited from tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >
 multi_passthrough_initiator_socket (const char *name=default_name())
 ~multi_passthrough_initiator_socket ()
void register_nb_transport_bw (MODULE *mod, sync_enum_type(MODULE::*cb)(int, transaction_type &, phase_type &, sc_core::sc_time &))
void register_invalidate_direct_mem_ptr (MODULE *mod, void(MODULE::*cb)(int, sc_dt::uint64, sc_dt::uint64))
virtual tlm::tlm_bw_transport_if< tlm::tlm_base_protocol_types > & get_base_interface ()
virtual sc_core::sc_export< tlm::tlm_bw_transport_if< tlm::tlm_base_protocol_types > > & get_base_export ()
virtual void bind (base_target_socket_type &s)
 The following warning is disabled because the bind methods are overloaded in the derived class and the base class.
void operator() (base_target_socket_type &s)
void before_end_of_elaboration ()
tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > * operator[] (int i)
unsigned int size ()
Public Member Functions inherited from tlm_utils::multi_init_base< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >
virtual tlm::tlm_socket_category get_socket_category () const
virtual ~multi_init_base ()
 multi_init_base ()
Public Member Functions inherited from tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >
 tlm_initiator_socket ()
virtual const char * kind () const
virtual std::type_index get_protocol_types () const
Public Member Functions inherited from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL >
 tlm_base_initiator_socket ()
void operator() (base_target_socket_type &s)
virtual sc_core::sc_port_baseget_port_base ()
virtual sc_core::sc_export_baseget_export_base ()
virtual unsigned int get_bus_width () const
virtual sc_core::sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > > & get_base_port ()
Public Member Functions inherited from tlm::tlm_base_socket_if
virtual sc_core::sc_port_base const & get_port_base () const =0
virtual sc_core::sc_export_base const & get_export_base () const =0
Public Member Functions inherited from tlm::tlm_base_initiator_socket_b< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types > >
virtual ~tlm_base_initiator_socket_b ()
Public Member Functions inherited from sc_core::sc_port< tlm_fw_transport_if< tlm::tlm_base_protocol_types >, N, POL >
 sc_port ()
 sc_port (const char *name)
 sc_port (const tlm_fw_transport_if< tlm::tlm_base_protocol_types > &interface)
 sc_port (const char *name, const tlm_fw_transport_if< tlm::tlm_base_protocol_types > &interface)
 sc_port (sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > > &parent)
 sc_port (const char *name, sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > > &parent)
 sc_port (sc_port< tlm_fw_transport_if< tlm::tlm_base_protocol_types >, N, P > &parent)
 sc_port (const char *name, sc_port< tlm_fw_transport_if< tlm::tlm_base_protocol_types >, N, P > &parent)
virtual ~sc_port ()
Public Member Functions inherited from sc_core::sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > >
void operator() (tlm_fw_transport_if< tlm::tlm_base_protocol_types > &i)
 The following warning is disabled because the bind methods are overloaded in the derived class and the base class.
void operator() (sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > > &p)
virtual void bind (tlm_fw_transport_if< tlm::tlm_base_protocol_types > &i)
virtual void bind (sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > > &p)
tlm_fw_transport_if< tlm::tlm_base_protocol_types > * operator-> ()
const tlm_fw_transport_if< tlm::tlm_base_protocol_types > * operator-> () const
tlm_fw_transport_if< tlm::tlm_base_protocol_types > * operator[] (int n)
const tlm_fw_transport_if< tlm::tlm_base_protocol_types > * operator[] (int n) const
sc_interfaceget_interface ()
const sc_interfaceget_interface () const
Public Member Functions inherited from sc_core::sc_port_base
 sc_port_base (const char *name, int n, sc_port_policy p)
virtual ~sc_port_base ()
void warn_port_constructor () const
int maxSize () const
int size () const
Public Member Functions inherited from sc_core::sc_object
const char * name () const
const char * basename () const
virtual void print (std::ostream &=std::cout) const
virtual void dump (std::ostream &=std::cout) const
virtual const std::vector< sc_object * > & get_child_objects () const
virtual const std::vector< sc_event * > & get_child_events () const
sc_objectget_parent_object () const
bool add_attribute (sc_attr_base &)
sc_attr_baseget_attribute (const std::string &)
sc_attr_baseremove_attribute (const std::string &)
void remove_all_attributes ()
int num_attributes () const
sc_attr_cltnattr_cltn ()
const sc_attr_cltnattr_cltn () const
sc_simcontextsimcontext () const

Private Types

typedef multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUNDsocket_b

Additional Inherited Members

Public Types inherited from tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >
typedef tlm::tlm_base_protocol_types::tlm_payload_type transaction_type
typedef tlm::tlm_base_protocol_types::tlm_phase_type phase_type
typedef tlm::tlm_sync_enum sync_enum_type
typedef sync_enum_type(MODULE::* nb_cb) (int, transaction_type &, phase_type &, sc_core::sc_time &)
typedef void(MODULE::* dmi_cb) (int, sc_dt::uint64, sc_dt::uint64)
typedef multi_init_base< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL > base_type
typedef base_type::base_target_socket_type base_target_socket_type
Public Types inherited from tlm_utils::multi_init_base< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >
typedef tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL > base_type
Public Types inherited from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL >
typedef tlm_fw_transport_if< tlm::tlm_base_protocol_typesfw_interface_type
typedef tlm_bw_transport_if< tlm::tlm_base_protocol_typesbw_interface_type
typedef sc_core::sc_port< fw_interface_type, N, POL > port_type
typedef sc_core::sc_export< bw_interface_typeexport_type
typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_typebase_target_socket_type
typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_typebase_type
Static Public Member Functions inherited from tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >
static const char * default_name ()
Protected Member Functions inherited from tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >
base_typeget_hierarch_bind ()
void disable_cb_bind ()
std::vector< callback_binder_bw< tlm::tlm_base_protocol_types > * > & get_binders ()
std::vector< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > * > & get_sockets ()
Protected Member Functions inherited from tlm::tlm_base_socket_if
virtual ~tlm_base_socket_if ()
Protected Member Functions inherited from sc_core::sc_port_b< tlm_fw_transport_if< tlm::tlm_base_protocol_types > >
void before_end_of_elaboration () override
void end_of_elaboration () override
void start_of_simulation () override
void end_of_simulation () override
 sc_port_b (int n, sc_port_policy p)
 sc_port_b (const char *name, int n, sc_port_policy p)
virtual ~sc_port_b ()
int vbind (sc_interface &i) override
int vbind (sc_port_base &pb) override
Protected Member Functions inherited from sc_core::sc_port_base
void bind (sc_interface &)
void bind (sc_port_base &)
void report_error (const char *id, const char *add_msg) const
Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 sc_object (const char *)
 sc_object (const sc_object &)
sc_objectoperator= (const sc_object &)
virtual ~sc_object ()
Protected Member Functions inherited from tlm_utils::multi_init_base_if< tlm::tlm_base_protocol_types >
virtual ~multi_init_base_if ()
Protected Member Functions inherited from tlm_utils::convenience_socket_base
virtual ~convenience_socket_base ()
void display_warning (const char *msg) const
void display_error (const char *msg) const
Protected Attributes inherited from tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >
std::vector< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > * > m_sockets
std::vector< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > * > m_used_sockets
std::vector< callback_binder_bw< tlm::tlm_base_protocol_types > * > m_binders
base_typem_hierarch_bind
bool m_beoe_disabled
callback_binder_bw< tlm::tlm_base_protocol_typesm_dummy
callback_binder_bw< tlm::tlm_base_protocol_types >::nb_func_type m_nb_f
callback_binder_bw< tlm::tlm_base_protocol_types >::dmi_func_type m_dmi_f
Protected Attributes inherited from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL >
export_type m_export

Detailed Description

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0>
class tlm_utils::multi_passthrough_initiator_socket_optional< MODULE, BUSWIDTH, TYPES, N >

Definition at line 316 of file multi_passthrough_initiator_socket.h.

Member Typedef Documentation

◆ socket_b

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0>
typedef multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND> tlm_utils::multi_passthrough_initiator_socket_optional< MODULE, BUSWIDTH, TYPES, N >::socket_b
private

Definition at line 321 of file multi_passthrough_initiator_socket.h.

Constructor & Destructor Documentation

◆ multi_passthrough_initiator_socket_optional() [1/2]

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0>
tlm_utils::multi_passthrough_initiator_socket_optional< MODULE, BUSWIDTH, TYPES, N >::multi_passthrough_initiator_socket_optional ( )
inline

Definition at line 323 of file multi_passthrough_initiator_socket.h.

◆ multi_passthrough_initiator_socket_optional() [2/2]

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0>
tlm_utils::multi_passthrough_initiator_socket_optional< MODULE, BUSWIDTH, TYPES, N >::multi_passthrough_initiator_socket_optional ( const char * name)
inlineexplicit

Definition at line 324 of file multi_passthrough_initiator_socket.h.

References name().


The documentation for this class was generated from the following file:

Generated on Sat Oct 18 2025 08:07:55 for gem5 by doxygen 1.14.0