#include <simple_target_socket.h>
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 (const char *n="simple_target_socket") | |
tlm::tlm_bw_transport_if < TYPES > * | operator-> () |
void | register_nb_transport_fw (MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &)) |
void | register_b_transport (MODULE *mod, void(MODULE::*cb)(transaction_type &, sc_core::sc_time &)) |
void | register_transport_dbg (MODULE *mod, unsigned int(MODULE::*cb)(transaction_type &)) |
void | register_get_direct_mem_ptr (MODULE *mod, bool(MODULE::*cb)(transaction_type &, tlm::tlm_dmi &)) |
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_type * | m_current_transaction |
Friends | |
class | fw_process |
class | bw_process |
Classes | |
class | bw_process |
class | fw_process |
Definition at line 29 of file simple_target_socket.h.
typedef TYPES::tlm_payload_type tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::transaction_type |
Definition at line 35 of file simple_target_socket.h.
typedef TYPES::tlm_phase_type tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::phase_type |
Definition at line 36 of file simple_target_socket.h.
typedef tlm::tlm_sync_enum tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::sync_enum_type |
Definition at line 37 of file simple_target_socket.h.
typedef tlm::tlm_fw_transport_if<TYPES> tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_interface_type |
Reimplemented from tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >.
Definition at line 38 of file simple_target_socket.h.
typedef tlm::tlm_bw_transport_if<TYPES> tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_interface_type |
Reimplemented from tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >.
Definition at line 39 of file simple_target_socket.h.
typedef tlm::tlm_target_socket<BUSWIDTH, TYPES> tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::base_type |
Reimplemented from tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >.
Definition at line 40 of file simple_target_socket.h.
tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::simple_target_socket | ( | const char * | n = "simple_target_socket< MODULE, BUSWIDTH, TYPES >" |
) | [inline, explicit] |
Definition at line 43 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< MODULE, BUSWIDTH, TYPES >::m_fw_process.
tlm::tlm_bw_transport_if<TYPES>* tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::operator-> | ( | ) | [inline] |
Reimplemented from tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >.
Definition at line 52 of file simple_target_socket.h.
References tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_bw_process.
void tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_nb_transport_fw | ( | MODULE * | mod, | |
sync_enum_type(MODULE::*)(transaction_type &, phase_type &, sc_core::sc_time &) | cb | |||
) | [inline] |
Definition at line 55 of file simple_target_socket.h.
References tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_fw_process, and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::set_nb_transport_ptr().
void tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_b_transport | ( | MODULE * | mod, | |
void(MODULE::*)(transaction_type &, sc_core::sc_time &) | cb | |||
) | [inline] |
Definition at line 64 of file simple_target_socket.h.
References tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_fw_process, and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::set_b_transport_ptr().
void tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_transport_dbg | ( | MODULE * | mod, | |
unsigned int(MODULE::*)(transaction_type &) | cb | |||
) | [inline] |
Definition at line 72 of file simple_target_socket.h.
References tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_fw_process, and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::set_transport_dbg_ptr().
void tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_get_direct_mem_ptr | ( | MODULE * | mod, | |
bool(MODULE::*)(transaction_type &, tlm::tlm_dmi &) | cb | |||
) | [inline] |
Definition at line 79 of file simple_target_socket.h.
References tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_fw_process, and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::set_get_direct_mem_ptr().
sync_enum_type tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_nb_transport | ( | transaction_type & | trans, | |
phase_type & | phase, | |||
sc_core::sc_time & | t | |||
) | [inline, private] |
Definition at line 89 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::nb2b_thread(), and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().
void tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_invalidate_direct_mem_ptr | ( | sc_dt::uint64 | s, | |
sc_dt::uint64 | e | |||
) | [inline, private] |
Definition at line 94 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_process::invalidate_direct_mem_ptr().
friend class fw_process [friend] |
Definition at line 32 of file simple_target_socket.h.
friend class bw_process [friend] |
Definition at line 33 of file simple_target_socket.h.
fw_process tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_fw_process [private] |
Definition at line 532 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_b_transport(), tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_get_direct_mem_ptr(), tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_nb_transport_fw(), tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::register_transport_dbg(), and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::simple_target_socket().
bw_process tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_bw_process [private] |
Definition at line 533 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::operator->().
std::map<transaction_type*, sc_core::sc_event *> tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_pending_trans [private] |
Definition at line 534 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::b2nb_thread(), tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::b_transport(), and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().
sc_core::sc_event tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_end_request [private] |
Definition at line 535 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::b2nb_thread(), and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().
transaction_type* tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::m_current_transaction [private] |
Definition at line 536 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::b2nb_thread(), and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::bw_process::nb_transport_bw().