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 >:

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

Collaboration graph
[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_typeget_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_typem_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

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

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]

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]

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]

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]

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]

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]

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]

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]

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:

Generated on Wed Jul 15 13:52:28 2009 for TLM-2.0 by  doxygen 1.5.9