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 (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
MODULE * m_mod
nb_cb m_nb_cb
dmi_cb m_dmi_cb
base_typem_hierarch_bind
bool m_beoe_disabled
callback_binder_bw
< TYPES > 
m_dummy
boost::function
< sync_enum_type(int
i, transaction_type
&txn, phase_type &p,
sc_core::sc_time &t)> 
m_nb_f
boost::function
< void(int i,
sc_dt::uint64 l,
sc_dt::uint64 u)> 
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 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.

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 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 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 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 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, FW_IF, BW_IF, N, POL >.

Definition at line 75 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 ( const char *  name  )  [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 (  )  [inline]

Definition at line 89 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 >::display_warning ( const std::string &  text  )  [inline]

Definition at line 95 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 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>
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 109 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 131 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, FW_IF, BW_IF, N, POL >.

Definition at line 154 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, FW_IF, BW_IF, N, POL >.

Definition at line 164 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, FW_IF, BW_IF, N, POL >.

Definition at line 172 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, FW_IF, BW_IF, N, POL >.

Definition at line 198 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 >::before_end_of_elaboration (  )  [inline]

Definition at line 204 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]

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >.

Definition at line 234 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]

Reimplemented from tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >.

Definition at line 251 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 257 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 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>
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 265 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 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<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 267 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 268 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>
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 270 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 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>
std::vector<callback_binder_bw<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_binders [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>
MODULE* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_mod [protected]

Definition at line 275 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>
nb_cb tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_nb_cb [protected]

Definition at line 276 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>
dmi_cb tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dmi_cb [protected]

Definition at line 277 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 278 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>
bool tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_beoe_disabled [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>
callback_binder_bw<TYPES> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dummy [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>
boost::function<sync_enum_type (int i, transaction_type& txn, phase_type& p, sc_core::sc_time& t)> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_nb_f [protected]

Definition at line 286 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>
boost::function<void (int i, sc_dt::uint64 l, sc_dt::uint64 u)> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dmi_f [protected]

Definition at line 287 of file multi_passthrough_initiator_socket.h.


The documentation for this class was generated from the following file:
Generated on Thu Jun 5 17:44:20 2008 for TLM 2 by  doxygen 1.5.3