Go to the documentation of this file.
20 #ifndef __SYSTEMC_EXT_TLM_UTILS_PASSTHROUGH_TARGET_SOCKET_H__
21 #define __SYSTEMC_EXT_TLM_UTILS_PASSTHROUGH_TARGET_SOCKET_H__
23 #include "../core/sc_port.hh"
24 #include "../core/sc_time.hh"
25 #include "../tlm_core/2/sockets/target_socket.hh"
26 #include "../utils/sc_report_handler.hh"
32 template <
typename MODULE,
unsigned int BUSWIDTH,
typename TYPES,
34 class passthrough_target_socket_b :
36 protected passthrough_socket_base
40 typedef typename TYPES::tlm_phase_type
phase_type;
151 "get DMI pointer callback already registered");
225 template <
typename MODULE,
unsigned int BUSWIDTH=32,
236 template <
typename MODULE,
unsigned int BUSWIDTH=32,
238 class passthrough_target_socket_optional :
239 public passthrough_target_socket_b<
240 MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND>
251 template <
typename MODULE,
unsigned int BUSWIDTH,
typename TYPES,
259 typedef typename TYPES::tlm_phase_type
phase_type;
269 "passthrough_target_socket_tagged");
403 "get DMI pointer callback already registered");
485 template <
typename MODULE,
unsigned int BUSWIDTH=32,
499 template <
typename MODULE,
unsigned int BUSWIDTH=32,
503 MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND>
tlm::tlm_sync_enum sync_enum_type
tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, POL > base_type
unsigned int transport_dbg(transaction_type &trans)
void set_b_transport_ptr(MODULE *mod, BTransportPtr p)
TransportDbgPtr m_transport_dbg_ptr
void set_b_transport_user_id(int id)
const sc_core::sc_object * get_socket() const
passthrough_target_socket_optional()
int m_nb_transport_user_id
int mod(int val, int mod)
TYPES::tlm_phase_type phase_type
passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
void set_nb_transport_ptr(MODULE *mod, NBTransportPtr p)
void register_get_direct_mem_ptr(MODULE *mod, bool(MODULE::*cb)(int id, transaction_type &, tlm::tlm_dmi &), int id)
void set_get_dmi_user_id(int id)
void set_get_direct_mem_ptr(MODULE *mod, GetDirectMem_ptr p)
passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES > socket_b
void display_error(const char *msg) const
unsigned int transport_dbg(transaction_type &trans)
void b_transport(transaction_type &trans, sc_core::sc_time &t)
int m_b_transport_user_id
sync_enum_type nb_transport_fw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
passthrough_target_socket_tagged_optional()
void set_transport_dbg_ptr(MODULE *mod, TransportDbgPtr p)
bool get_direct_mem_ptr(transaction_type &trans, tlm::tlm_dmi &dmi_data)
TYPES::tlm_payload_type transaction_type
static const char * default_name()
void set_end_address(sc_dt::uint64 addr)
passthrough_target_socket()
BTransportPtr m_b_transport_ptr
GetDirectMem_ptr m_get_direct_mem_ptr
void b_transport(transaction_type &trans, sc_core::sc_time &t)
void set_get_direct_mem_ptr(MODULE *mod, GetDirectMem_ptr p)
TYPES::tlm_payload_type transaction_type
passthrough_target_socket_tagged_b(const char *n=default_name())
TYPES::tlm_phase_type phase_type
BTransportPtr m_b_transport_ptr
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
void set_transport_dbg_ptr(MODULE *mod, TransportDbgPtr p)
bool get_direct_mem_ptr(transaction_type &trans, tlm::tlm_dmi &dmi_data)
passthrough_target_socket_b(const char *n=default_name())
passthrough_target_socket_tagged()
unsigned int(MODULE::* TransportDbgPtr)(int id, transaction_type &)
void register_b_transport(MODULE *mod, void(MODULE::*cb)(transaction_type &, sc_core::sc_time &))
TransportDbgPtr m_transport_dbg_ptr
const sc_core::sc_object * get_socket() const
sync_enum_type(MODULE::* NBTransportPtr)(transaction_type &, phase_type &, sc_core::sc_time &)
void register_transport_dbg(MODULE *mod, unsigned int(MODULE::*cb)(transaction_type &))
const char * sc_gen_unique_name(const char *seed)
process(passthrough_socket_base *owner)
void(MODULE::* BTransportPtr)(transaction_type &, sc_core::sc_time &)
void register_b_transport(MODULE *mod, void(MODULE::*cb)(int id, transaction_type &, sc_core::sc_time &), int id)
const std::string & name()
void set_b_transport_ptr(MODULE *mod, BTransportPtr p)
GetDirectMem_ptr m_get_direct_mem_ptr
void register_get_direct_mem_ptr(MODULE *mod, bool(MODULE::*cb)(transaction_type &, tlm::tlm_dmi &))
unsigned int(MODULE::* TransportDbgPtr)(transaction_type &)
sync_enum_type nb_transport_fw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES > socket_b
bool(MODULE::* GetDirectMem_ptr)(transaction_type &, tlm::tlm_dmi &)
void display_warning(const char *msg) const
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
void set_transport_dbg_user_id(int id)
void set_nb_transport_user_id(int id)
void register_transport_dbg(MODULE *mod, unsigned int(MODULE::*cb)(int id, transaction_type &), int id)
tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, POL > base_type
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
tlm::tlm_sync_enum sync_enum_type
void(MODULE::* BTransportPtr)(int id, transaction_type &, sc_core::sc_time &)
void set_start_address(sc_dt::uint64 addr)
void register_nb_transport_fw(MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &))
bool(MODULE::* GetDirectMem_ptr)(int id, transaction_type &, tlm::tlm_dmi &)
virtual void bind(base_initiator_socket_type &s)
sync_enum_type(MODULE::* NBTransportPtr)(int id, transaction_type &, phase_type &, sc_core::sc_time &)
static const char * default_name()
void register_nb_transport_fw(MODULE *mod, sync_enum_type(MODULE::*cb)(int id, transaction_type &, phase_type &, sc_core::sc_time &), int id)
NBTransportPtr m_nb_transport_ptr
process(passthrough_socket_base *owner)
void set_nb_transport_ptr(MODULE *mod, NBTransportPtr p)
NBTransportPtr m_nb_transport_ptr
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
int m_transport_dbg_user_id
Generated on Wed Sep 30 2020 14:02:16 for gem5 by doxygen 1.8.17