20#ifndef __SYSTEMC_EXT_TLM_UTILS_PASSTHROUGH_TARGET_SOCKET_H__
21#define __SYSTEMC_EXT_TLM_UTILS_PASSTHROUGH_TARGET_SOCKET_H__
32template <
typename MODULE,
unsigned int BUSWIDTH,
typename TYPES,
151 "get DMI pointer callback already registered");
225template <
typename MODULE,
unsigned int BUSWIDTH=32,
236template <
typename MODULE,
unsigned int BUSWIDTH=32,
240 MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND>
251template <
typename MODULE,
unsigned int BUSWIDTH,
typename TYPES,
269 "passthrough_target_socket_tagged");
403 "get DMI pointer callback already registered");
485template <
typename MODULE,
unsigned int BUSWIDTH=32,
499template <
typename MODULE,
unsigned int BUSWIDTH=32,
503 MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND>
virtual void bind(tlm_fw_transport_if< tlm_base_protocol_types > &i)
virtual void bind(base_initiator_socket_type &s)
void set_start_address(sc_dt::uint64 addr)
void set_end_address(sc_dt::uint64 addr)
void display_warning(const char *msg) const
void display_error(const char *msg) const
unsigned int(MODULE::* TransportDbgPtr)(transaction_type &)
GetDirectMem_ptr m_get_direct_mem_ptr
TransportDbgPtr m_transport_dbg_ptr
sync_enum_type nb_transport_fw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
void(MODULE::* BTransportPtr)(transaction_type &, sc_core::sc_time &)
BTransportPtr m_b_transport_ptr
void set_transport_dbg_ptr(MODULE *mod, TransportDbgPtr p)
void set_get_direct_mem_ptr(MODULE *mod, GetDirectMem_ptr p)
NBTransportPtr m_nb_transport_ptr
void set_b_transport_ptr(MODULE *mod, BTransportPtr p)
void b_transport(transaction_type &trans, sc_core::sc_time &t)
process(passthrough_socket_base *owner)
unsigned int transport_dbg(transaction_type &trans)
sync_enum_type(MODULE::* NBTransportPtr)(transaction_type &, phase_type &, sc_core::sc_time &)
void set_nb_transport_ptr(MODULE *mod, NBTransportPtr p)
bool(MODULE::* GetDirectMem_ptr)(transaction_type &, tlm::tlm_dmi &)
bool get_direct_mem_ptr(transaction_type &trans, tlm::tlm_dmi &dmi_data)
tlm::tlm_sync_enum sync_enum_type
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
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 &))
TYPES::tlm_phase_type phase_type
passthrough_target_socket_b(const char *n=default_name())
TYPES::tlm_payload_type transaction_type
static const char * default_name()
tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, POL > base_type
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
void register_nb_transport_fw(MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &))
const sc_core::sc_object * get_socket() const
void register_b_transport(MODULE *mod, void(MODULE::*cb)(transaction_type &, sc_core::sc_time &))
passthrough_target_socket_optional(const char *name)
passthrough_target_socket_optional()
passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
unsigned int transport_dbg(transaction_type &trans)
sync_enum_type nb_transport_fw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
TransportDbgPtr m_transport_dbg_ptr
GetDirectMem_ptr m_get_direct_mem_ptr
int m_b_transport_user_id
void(MODULE::* BTransportPtr)(int id, transaction_type &, sc_core::sc_time &)
BTransportPtr m_b_transport_ptr
void set_get_dmi_user_id(int id)
bool(MODULE::* GetDirectMem_ptr)(int id, transaction_type &, tlm::tlm_dmi &)
void set_nb_transport_user_id(int id)
void set_nb_transport_ptr(MODULE *mod, NBTransportPtr p)
void set_get_direct_mem_ptr(MODULE *mod, GetDirectMem_ptr p)
NBTransportPtr m_nb_transport_ptr
void b_transport(transaction_type &trans, sc_core::sc_time &t)
int m_nb_transport_user_id
bool get_direct_mem_ptr(transaction_type &trans, tlm::tlm_dmi &dmi_data)
process(passthrough_socket_base *owner)
void set_b_transport_ptr(MODULE *mod, BTransportPtr p)
void set_transport_dbg_ptr(MODULE *mod, TransportDbgPtr p)
void set_transport_dbg_user_id(int id)
void set_b_transport_user_id(int id)
int m_transport_dbg_user_id
sync_enum_type(MODULE::* NBTransportPtr)(int id, transaction_type &, phase_type &, sc_core::sc_time &)
unsigned int(MODULE::* TransportDbgPtr)(int id, transaction_type &)
tlm::tlm_sync_enum sync_enum_type
tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, POL > base_type
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
void register_transport_dbg(MODULE *mod, unsigned int(MODULE::*cb)(int id, transaction_type &), int id)
passthrough_target_socket_tagged_b(const char *n=default_name())
const sc_core::sc_object * get_socket() const
void register_nb_transport_fw(MODULE *mod, sync_enum_type(MODULE::*cb)(int id, transaction_type &, phase_type &, sc_core::sc_time &), int id)
static const char * default_name()
TYPES::tlm_phase_type phase_type
TYPES::tlm_payload_type transaction_type
void register_b_transport(MODULE *mod, void(MODULE::*cb)(int id, transaction_type &, sc_core::sc_time &), int id)
void register_get_direct_mem_ptr(MODULE *mod, bool(MODULE::*cb)(int id, transaction_type &, tlm::tlm_dmi &), int id)
passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
passthrough_target_socket_tagged_optional()
passthrough_target_socket_tagged_optional(const char *name)
passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES > socket_b
passthrough_target_socket_tagged(const char *name)
passthrough_target_socket_tagged()
passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES > socket_b
passthrough_target_socket(const char *name)
passthrough_target_socket()
const char * sc_gen_unique_name(const char *seed)
const std::string & name()