Go to the documentation of this file.
20 #ifndef __SYSTEMC_EXT_TLM_UTILS_SIMPLE_INITIATOR_SOCKET_H__
21 #define __SYSTEMC_EXT_TLM_UTILS_SIMPLE_INITIATOR_SOCKET_H__
23 #include "../core/sc_module.hh"
24 #include "../core/sc_port.hh"
25 #include "../tlm_core/2/generic_payload/gp.hh"
26 #include "../tlm_core/2/interfaces/fw_bw_ifs.hh"
27 #include "../tlm_core/2/sockets/initiator_socket.hh"
28 #include "../tlm_core/2/sockets/target_socket.hh"
29 #include "../utils/sc_report_handler.hh"
35 template <
typename MODULE,
unsigned int BUSWIDTH,
typename TYPES,
37 class simple_initiator_socket_b :
39 protected simple_socket_base
43 typedef typename TYPES::tlm_phase_type
phase_type;
137 start_range, end_range);
154 template <
typename MODULE,
unsigned int BUSWIDTH=32,
165 template <
typename MODULE,
unsigned int BUSWIDTH=32,
169 sc_core::SC_ZERO_OR_MORE_BOUND>
183 template <
typename MODULE,
unsigned int BUSWIDTH,
typename TYPES,
298 start_range, end_range);
317 template <
typename MODULE,
unsigned int BUSWIDTH=32,
319 class simple_initiator_socket_tagged :
331 template <
typename MODULE,
unsigned int BUSWIDTH=32,
335 sc_core::SC_ZERO_OR_MORE_BOUND>
TYPES::tlm_phase_type phase_type
void set_transport_user_id(int id)
sync_enum_type nb_transport_bw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
sync_enum_type(MODULE::* TransportPtr)(int, transaction_type &, phase_type &, sc_core::sc_time &)
TransportPtr m_transport_ptr
int m_invalidate_direct_mem_user_id
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
void(MODULE::* InvalidateDirectMemPtr)(sc_dt::uint64, sc_dt::uint64)
InvalidateDirectMemPtr m_invalidate_direct_mem_ptr
void register_invalidate_direct_mem_ptr(MODULE *mod, void(MODULE::*cb)(int, sc_dt::uint64, sc_dt::uint64), int id)
sync_enum_type(MODULE::* TransportPtr)(transaction_type &, phase_type &, sc_core::sc_time &)
tlm::tlm_sync_enum sync_enum_type
void register_nb_transport_bw(MODULE *mod, sync_enum_type(MODULE::*cb)(int, transaction_type &, phase_type &, sc_core::sc_time &), int id)
void register_nb_transport_bw(MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &))
void set_transport_ptr(MODULE *mod, TransportPtr p)
void invalidate_direct_mem_ptr(sc_dt::uint64 start_range, sc_dt::uint64 end_range)
int mod(int val, int mod)
TransportPtr m_transport_ptr
sync_enum_type nb_transport_bw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
simple_initiator_socket()
tlm::tlm_sync_enum sync_enum_type
void display_error(const char *msg) const
simple_initiator_socket_tagged()
void set_transport_ptr(MODULE *mod, TransportPtr p)
void register_invalidate_direct_mem_ptr(MODULE *mod, void(MODULE::*cb)(sc_dt::uint64, sc_dt::uint64))
void set_invalidate_direct_mem_ptr(MODULE *mod, InvalidateDirectMemPtr p)
InvalidateDirectMemPtr m_invalidate_direct_mem_ptr
TYPES::tlm_payload_type transaction_type
simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
simple_initiator_socket_tagged_b(const char *n=default_name())
simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES > socket_b
process(simple_socket_base *owner)
const sc_core::sc_object * get_socket() const
const char * sc_gen_unique_name(const char *seed)
static const char * default_name()
TYPES::tlm_payload_type transaction_type
TYPES::tlm_phase_type phase_type
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
void display_warning(const char *msg) const
simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
const sc_core::sc_object * get_socket() const
static const char * default_name()
const char * name() const
void set_invalidate_direct_mem_ptr(MODULE *mod, InvalidateDirectMemPtr p)
process(simple_socket_base *owner)
void invalidate_direct_mem_ptr(sc_dt::uint64 start_range, sc_dt::uint64 end_range)
simple_initiator_socket_optional()
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
void set_invalidate_dmi_user_id(int id)
tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, POL > base_type
simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES > socket_b
simple_initiator_socket_tagged_optional()
tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, POL > base_type
void(MODULE::* InvalidateDirectMemPtr)(int, sc_dt::uint64, sc_dt::uint64)
simple_initiator_socket_b(const char *n=default_name())
Generated on Wed Sep 30 2020 14:02:16 for gem5 by doxygen 1.8.17