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

#include <multi_passthrough_target_socket.h>

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

Inheritance graph
[legend]
Collaboration diagram for tlm_utils::multi_passthrough_target_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::* b_cb )(int, transaction_type &, sc_core::sc_time &)
typedef unsigned int(MODULE::* dbg_cb )(int, transaction_type &txn)
typedef bool(MODULE::* dmi_cb )(int, transaction_type &txn, tlm::tlm_dmi &dmi)
typedef multi_target_base
< BUSWIDTH, TYPES, N,POL > 
base_type
typedef
base_type::base_initiator_socket_type 
base_initiator_socket_type

Public Member Functions

 multi_passthrough_target_socket ()
 multi_passthrough_target_socket (const char *name)
 ~multi_passthrough_target_socket ()
void display_warning (const std::string &text)
void display_error (const std::string &text)
void register_nb_transport_fw (MODULE *mod, nb_cb cb)
void register_b_transport (MODULE *mod, b_cb cb)
void register_transport_dbg (MODULE *mod, dbg_cb cb)
void register_get_direct_mem_ptr (MODULE *mod, dmi_cb cb)
virtual
tlm::tlm_fw_transport_if
< TYPES > & 
get_base_interface ()
virtual sc_core::sc_export
< tlm::tlm_fw_transport_if
< TYPES > > & 
get_base_export ()
void end_of_elaboration ()
void bind (base_type &s)
void operator() (base_type &s)
tlm::tlm_bw_transport_if< TYPES > * operator[] (int i)
unsigned int size ()

Protected Member Functions

base_typeget_hierarch_bind ()
std::map< unsigned int,
tlm::tlm_bw_transport_if
< TYPES > * > & 
get_multi_binds ()
void set_hierarch_bind (base_type *h)
tlm::tlm_fw_transport_if< TYPES > * get_last_binder (tlm::tlm_bw_transport_if< TYPES > *other)
void disable_cb_bind ()
std::vector
< callback_binder_fw< TYPES > * > & 
get_binders ()

Protected Attributes

std::map< unsigned int,
tlm::tlm_bw_transport_if
< TYPES > * > 
m_multi_binds
std::vector
< tlm::tlm_bw_transport_if
< TYPES > * > 
m_sockets
std::vector
< callback_binder_fw< TYPES > * > 
m_binders
base_typem_hierarch_bind
bool m_eoe_disabled
callback_binder_fw< TYPES > m_dummy
callback_binder_fw< TYPES >
::nb_func_type 
m_nb_f
callback_binder_fw< TYPES >
::b_func_type 
m_b_f
callback_binder_fw< TYPES >
::debug_func_type 
m_dbg_f
callback_binder_fw< 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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >

Definition at line 44 of file multi_passthrough_target_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 void(MODULE::* tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::b_cb)(int, transaction_type &, sc_core::sc_time &)

Definition at line 64 of file multi_passthrough_target_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 base_type::base_initiator_socket_type tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::base_initiator_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_target_base<BUSWIDTH, TYPES, N ,POL > tlm_utils::multi_passthrough_target_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 unsigned int(MODULE::* tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::dbg_cb)(int, transaction_type &txn)

Definition at line 65 of file multi_passthrough_target_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 bool(MODULE::* tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::dmi_cb)(int, transaction_type &txn, tlm::tlm_dmi &dmi)

Definition at line 66 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::nb_cb)(int, transaction_type &, phase_type &, sc_core::sc_time &)

Definition at line 63 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::phase_type

Definition at line 59 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::sync_enum_type

Definition at line 60 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::transaction_type

Definition at line 58 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::multi_passthrough_target_socket (  )  [inline]

Definition at line 79 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::multi_passthrough_target_socket ( const char *  name  )  [inline]

Definition at line 88 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::~multi_passthrough_target_socket (  )  [inline]

Definition at line 96 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::bind ( base_type s  )  [inline]

Definition at line 251 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::disable_cb_bind (  )  [inline, protected]

Definition at line 294 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::display_error ( const std::string &  text  )  [inline]

Definition at line 108 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::display_warning ( const std::string &  text  )  [inline]

Definition at line 102 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::end_of_elaboration (  )  [inline]

Definition at line 224 of file multi_passthrough_target_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_fw_transport_if<TYPES> >& tlm_utils::multi_passthrough_target_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_fw_transport_if<TYPES>& tlm_utils::multi_passthrough_target_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_fw<TYPES>* >& tlm_utils::multi_passthrough_target_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_target_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>
tlm::tlm_fw_transport_if<TYPES>* tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_last_binder ( tlm::tlm_bw_transport_if< TYPES > *  other  )  [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::map<unsigned int, tlm::tlm_bw_transport_if<TYPES>*>& tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_multi_binds (  )  [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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator() ( base_type s  )  [inline]

Definition at line 268 of file multi_passthrough_target_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_bw_transport_if<TYPES>* tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator[] ( int  i  )  [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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_b_transport ( MODULE *  mod,
b_cb  cb 
) [inline]

Definition at line 137 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_get_direct_mem_ptr ( MODULE *  mod,
dmi_cb  cb 
) [inline]

Definition at line 181 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_nb_transport_fw ( MODULE *  mod,
nb_cb  cb 
) [inline]

Definition at line 115 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_transport_dbg ( MODULE *  mod,
dbg_cb  cb 
) [inline]

Definition at line 159 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::set_hierarch_bind ( base_type h  )  [inline, protected]

Definition at line 284 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::size (  )  [inline]

Definition at line 278 of file multi_passthrough_target_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>
callback_binder_fw<TYPES>::b_func_type tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_b_f [protected]

Definition at line 309 of file multi_passthrough_target_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_fw<TYPES>*> tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_binders [protected]

Definition at line 299 of file multi_passthrough_target_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_fw<TYPES>::debug_func_type tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dbg_f [protected]

Definition at line 310 of file multi_passthrough_target_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_fw<TYPES>::dmi_func_type tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dmi_f [protected]

Definition at line 311 of file multi_passthrough_target_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_fw<TYPES> tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dummy [protected]

Definition at line 303 of file multi_passthrough_target_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>
bool tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_eoe_disabled [protected]

Definition at line 302 of file multi_passthrough_target_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_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_hierarch_bind [protected]

Definition at line 301 of file multi_passthrough_target_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::map<unsigned int, tlm::tlm_bw_transport_if<TYPES>*> tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_multi_binds [protected]

Definition at line 292 of file multi_passthrough_target_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_fw<TYPES>::nb_func_type tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_nb_f [protected]

Definition at line 308 of file multi_passthrough_target_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_bw_transport_if<TYPES>*> tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_sockets [protected]

Definition at line 297 of file multi_passthrough_target_socket.h.


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

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