tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES > Class Template Reference

#include <simple_target_socket.h>

Inheritance diagram for tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >:

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

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
tlm::tlm_fw_transport_if
< TYPES > 
fw_interface_type
typedef
tlm::tlm_bw_transport_if
< TYPES > 
bw_interface_type
typedef
tlm::tlm_target_socket
< BUSWIDTH, TYPES > 
base_type

Public Member Functions

 simple_target_socket_tagged (const char *n="simple_target_socket_tagged")
tlm::tlm_bw_transport_if
< TYPES > * 
operator-> ()
void register_nb_transport_fw (MODULE *mod, sync_enum_type(MODULE::*cb)(int id, transaction_type &, phase_type &, sc_core::sc_time &), int id)
void register_b_transport (MODULE *mod, void(MODULE::*cb)(int id, transaction_type &, sc_core::sc_time &), int id)
void register_transport_dbg (MODULE *mod, unsigned int(MODULE::*cb)(int id, transaction_type &), int id)
void register_get_direct_mem_ptr (MODULE *mod, bool(MODULE::*cb)(int id, transaction_type &, tlm::tlm_dmi &), int id)

Private Member Functions

sync_enum_type bw_nb_transport (transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
void bw_invalidate_direct_mem_ptr (sc_dt::uint64 s, sc_dt::uint64 e)

Private Attributes

fw_process m_fw_process
bw_process m_bw_process
std::map
< transaction_type *,
sc_core::sc_event * > 
m_pending_trans
sc_core::sc_event m_end_request
transaction_typem_current_transaction

Friends

class fw_process
class bw_process

Classes

class  bw_process
class  fw_process


Detailed Description

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

Definition at line 543 of file simple_target_socket.h.


Member Typedef Documentation

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
typedef TYPES::tlm_payload_type tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::transaction_type

Definition at line 549 of file simple_target_socket.h.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
typedef TYPES::tlm_phase_type tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::phase_type

Definition at line 550 of file simple_target_socket.h.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
typedef tlm::tlm_sync_enum tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::sync_enum_type

Definition at line 551 of file simple_target_socket.h.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
typedef tlm::tlm_fw_transport_if<TYPES> tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_interface_type

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

Definition at line 552 of file simple_target_socket.h.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
typedef tlm::tlm_bw_transport_if<TYPES> tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_interface_type

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

Definition at line 553 of file simple_target_socket.h.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
typedef tlm::tlm_target_socket<BUSWIDTH, TYPES> tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::base_type

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

Definition at line 554 of file simple_target_socket.h.


Constructor & Destructor Documentation

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::simple_target_socket_tagged ( const char *  n = "simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >"  )  [inline, explicit]

Definition at line 557 of file simple_target_socket.h.

References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_fw_process.

Here is the call graph for this function:


Member Function Documentation

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
tlm::tlm_bw_transport_if<TYPES>* tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::operator-> (  )  [inline]

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

Definition at line 566 of file simple_target_socket.h.

References tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_bw_process.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_nb_transport_fw ( MODULE *  mod,
sync_enum_type(MODULE::*)(int id, transaction_type &, phase_type &, sc_core::sc_time &)  cb,
int  id 
) [inline]

Definition at line 569 of file simple_target_socket.h.

References tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_fw_process, tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_nb_transport_ptr(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_nb_transport_user_id().

Here is the call graph for this function:

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_b_transport ( MODULE *  mod,
void(MODULE::*)(int id, transaction_type &, sc_core::sc_time &)  cb,
int  id 
) [inline]

Definition at line 581 of file simple_target_socket.h.

References tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_fw_process, tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_b_transport_ptr(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_b_transport_user_id().

Here is the call graph for this function:

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_transport_dbg ( MODULE *  mod,
unsigned int(MODULE::*)(int id, transaction_type &)  cb,
int  id 
) [inline]

Definition at line 592 of file simple_target_socket.h.

References tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_fw_process, tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_transport_dbg_ptr(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_transport_dbg_user_id().

Here is the call graph for this function:

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_get_direct_mem_ptr ( MODULE *  mod,
bool(MODULE::*)(int id, transaction_type &, tlm::tlm_dmi &)  cb,
int  id 
) [inline]

Definition at line 602 of file simple_target_socket.h.

References tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_fw_process, tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_get_direct_mem_ptr(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::set_get_dmi_user_id().

Here is the call graph for this function:

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
sync_enum_type tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_nb_transport ( transaction_type trans,
phase_type phase,
sc_core::sc_time &  t 
) [inline, private]

Definition at line 615 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::nb2b_thread(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_invalidate_direct_mem_ptr ( sc_dt::uint64  s,
sc_dt::uint64  e 
) [inline, private]

Definition at line 620 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_process::invalidate_direct_mem_ptr().


Friends And Related Function Documentation

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
friend class fw_process [friend]

Definition at line 546 of file simple_target_socket.h.

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
friend class bw_process [friend]

Definition at line 547 of file simple_target_socket.h.


Member Data Documentation

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
fw_process tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_fw_process [private]

Definition at line 1071 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_b_transport(), tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_get_direct_mem_ptr(), tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_nb_transport_fw(), tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::register_transport_dbg(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::simple_target_socket_tagged().

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
bw_process tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_bw_process [private]

Definition at line 1072 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::operator->().

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
std::map<transaction_type*, sc_core::sc_event *> tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_pending_trans [private]

Definition at line 1073 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::b2nb_thread(), tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::b_transport(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
sc_core::sc_event tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_end_request [private]

Definition at line 1074 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::b2nb_thread(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
transaction_type* tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::m_current_transaction [private]

Definition at line 1075 of file simple_target_socket.h.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::b2nb_thread(), and tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().


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