TLM-2.0: tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL > Class Template Reference

# tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL > Class Template Reference

`#include <multi_passthrough_initiator_socket.h>`

Inheritance diagram for tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >:

[legend]
Collaboration diagram for tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >:

[legend]

List of all members.

## Public Types
typedef TYPES::tlm_payload_type | transaction_type
typedef 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, TYPES, N,POL > | base_type
typedef base_type::base_target_socket_type | base_target_socket_type
## Public Member Functions
| multi_passthrough_initiator_socket ()
| multi_passthrough_initiator_socket (const char *name)
| ~multi_passthrough_initiator_socket ()
void | display_warning (const std::string &text)
void | display_error (const std::string &text)
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 < TYPES > & | get_base_interface ()
virtual sc_core::sc_export < tlm::tlm_bw_transport_if < TYPES > > & | get_base_export ()
void | bind (base_target_socket_type &s)
void | operator() (base_target_socket_type &s)
void | before_end_of_elaboration ()
void | bind (base_type &s)
void | operator() (base_type &s)
tlm::tlm_fw_transport_if< TYPES > * | operator[] (int i)
unsigned int | size ()
## Protected Member Functions
base_type * | get_hierarch_bind ()
void | disable_cb_bind ()
std::vector < callback_binder_bw< TYPES > * > & | get_binders ()
std::vector < tlm::tlm_fw_transport_if < TYPES > * > & | get_sockets ()
## Protected Attributes
std::vector < tlm::tlm_fw_transport_if < TYPES > * > | m_sockets
std::vector < tlm::tlm_fw_transport_if < TYPES > * > | m_used_sockets
std::vector < callback_binder_bw< TYPES > * > | m_binders
base_type * | m_hierarch_bind
bool | m_beoe_disabled
callback_binder_bw< TYPES > | m_dummy
callback_binder_bw< TYPES > ::nb_func_type | m_nb_f
callback_binder_bw< TYPES > ::dmi_func_type | m_dmi_f

## Detailed Description

### template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
class tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >

Definition at line 43 of file multi_passthrough_initiator_socket.h.

## Member Typedef Documentation

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef base_type::base_target_socket_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::base_target_socket_type

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N,POL >.

Definition at line 75 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef multi_init_base<BUSWIDTH, TYPES, N ,POL > tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::base_type

Reimplemented from tlm_utils::multi_init_base< BUSWIDTH, TYPES, N,POL >.

Definition at line 73 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef void(MODULE::* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::dmi_cb)(int, sc_dt::uint64, sc_dt::uint64)

Definition at line 65 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef sync_enum_type(MODULE::* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::nb_cb)(int, transaction_type &, phase_type &, sc_core::sc_time &)

Definition at line 61 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef TYPES::tlm_phase_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::phase_type

Definition at line 57 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef tlm::tlm_sync_enum tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::sync_enum_type

Definition at line 58 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

typedef TYPES::tlm_payload_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::transaction_type

Definition at line 56 of file multi_passthrough_initiator_socket.h.

## Constructor & Destructor Documentation

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::multi_passthrough_initiator_socket | ( |  | ) | `[inline]`

Definition at line 78 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::multi_passthrough_initiator_socket | ( | const char * | name | ) | `[inline]`

Definition at line 87 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::~multi_passthrough_initiator_socket | ( |  | ) | `[inline]`

Definition at line 95 of file multi_passthrough_initiator_socket.h.

## Member Function Documentation

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::before_end_of_elaboration | ( |  | ) | `[inline]`

Definition at line 200 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::bind | ( | base_type & | s | ) | `[inline]`

Definition at line 230 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::bind | ( | base_target_socket_type & | s | ) | `[inline]`

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N,POL >.

Definition at line 168 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::disable_cb_bind | ( |  | ) | `[inline, protected, virtual]`

Implements tlm_utils::multi_init_base< BUSWIDTH, TYPES, N,POL >.

Definition at line 262 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::display_error | ( | const std::string & | text | ) | `[inline]`

Definition at line 107 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::display_warning | ( | const std::string & | text | ) | `[inline]`

Definition at line 101 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

virtual sc_core::sc_export<tlm::tlm_bw_transport_if<TYPES> >& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_base_export | ( |  | ) | `[inline, virtual]`

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N,POL >.

Definition at line 160 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

virtual tlm::tlm_bw_transport_if<TYPES>& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_base_interface | ( |  | ) | `[inline, virtual]`

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N,POL >.

Definition at line 150 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

std::vector<callback_binder_bw<TYPES>* >& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_binders | ( |  | ) | `[inline, protected, virtual]`

Implements tlm_utils::multi_init_base< BUSWIDTH, TYPES, N,POL >.

Definition at line 263 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

base_type* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_hierarch_bind | ( |  | ) | `[inline, protected, virtual]`

Implements tlm_utils::multi_init_base< BUSWIDTH, TYPES, N,POL >.

Definition at line 261 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

std::vector<tlm::tlm_fw_transport_if<TYPES>*>& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_sockets | ( |  | ) | `[inline, protected, virtual]`

Implements tlm_utils::multi_init_base< BUSWIDTH, TYPES, N,POL >.

Definition at line 264 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator() | ( | base_type & | s | ) | `[inline]`

Definition at line 247 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator() | ( | base_target_socket_type & | s | ) | `[inline]`

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N,POL >.

Definition at line 194 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

tlm::tlm_fw_transport_if<TYPES>* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator[] | ( | int | i | ) | `[inline]`

Definition at line 253 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_invalidate_direct_mem_ptr | ( | MODULE * | mod,
|  | void(MODULE::*)(int, sc_dt::uint64, sc_dt::uint64) | cb |
| ) |  |  | `[inline]`

Definition at line 132 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_nb_transport_bw | ( | MODULE * | mod,
|  | sync_enum_type(MODULE::*)(int, transaction_type &, phase_type &, sc_core::sc_time &) | cb |
| ) |  |  | `[inline]`

Definition at line 115 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

unsigned int tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::size | ( |  | ) | `[inline]`

Definition at line 257 of file multi_passthrough_initiator_socket.h.

## Member Data Documentation

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

bool tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_beoe_disabled`[protected]`

Definition at line 272 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

std::vector<callback_binder_bw<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_binders`[protected]`

Definition at line 269 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

callback_binder_bw<TYPES>::dmi_func_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dmi_f`[protected]`

Definition at line 280 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

callback_binder_bw<TYPES> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dummy`[protected]`

Definition at line 273 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

base_type* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_hierarch_bind`[protected]`

Definition at line 271 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

callback_binder_bw<TYPES>::nb_func_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_nb_f`[protected]`

Definition at line 279 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

std::vector<tlm::tlm_fw_transport_if<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_sockets`[protected]`

Definition at line 266 of file multi_passthrough_initiator_socket.h.

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>

std::vector<tlm::tlm_fw_transport_if<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_used_sockets`[protected]`

Definition at line 267 of file multi_passthrough_initiator_socket.h.

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

- include/tlm/tlm_utils/multi_passthrough_initiator_socket.h