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,
64 sync_enum_type (MODULE::*cb)(transaction_type &, phase_type &,
131 sc_dt::uint64 end_range)
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,
212 sync_enum_type (MODULE::*cb)(
225 m_process.set_invalidate_dmi_user_id(
id);
241 m_transport_user_id(0), m_invalidate_direct_mem_user_id(0)
248 m_invalidate_direct_mem_user_id =
id;
283 m_transport_user_id, trans, phase,
t);
291 sc_dt::uint64 start_range, sc_dt::uint64 end_range)
297 m_invalidate_direct_mem_user_id,
298 start_range, end_range);
317 template <
typename MODULE,
unsigned int BUSWIDTH=32,
331 template <
typename MODULE,
unsigned int BUSWIDTH=32,
335 sc_core::SC_ZERO_OR_MORE_BOUND>
tlm::tlm_sync_enum sync_enum_type
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 register_nb_transport_bw(MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &))
void invalidate_direct_mem_ptr(sc_dt::uint64 start_range, sc_dt::uint64 end_range)
InvalidateDirectMemPtr m_invalidate_direct_mem_ptr
simple_initiator_socket_tagged(const char *name)
TransportPtr m_transport_ptr
simple_initiator_socket_optional(const char *name)
void register_nb_transport_bw(MODULE *mod, sync_enum_type(MODULE::*cb)(int, transaction_type &, phase_type &, sc_core::sc_time &), int id)
int m_invalidate_direct_mem_user_id
void set_invalidate_dmi_user_id(int id)
void(MODULE::* InvalidateDirectMemPtr)(sc_dt::uint64, sc_dt::uint64)
const char * sc_gen_unique_name(const char *seed)
tlm::tlm_sync_enum sync_enum_type
simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
sync_enum_type(MODULE::* TransportPtr)(transaction_type &, phase_type &, sc_core::sc_time &)
const char * name() const
tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, POL > base_type
sync_enum_type nb_transport_bw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
process(simple_socket_base *owner)
simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES > socket_b
void display_warning(const char *msg) const
simple_initiator_socket_tagged_optional(const char *name)
simple_initiator_socket_tagged_optional()
simple_initiator_socket(const char *name)
void set_transport_ptr(MODULE *mod, TransportPtr p)
const sc_core::sc_object * get_socket() const
InvalidateDirectMemPtr m_invalidate_direct_mem_ptr
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
simple_initiator_socket_tagged()
int mod(int val, int mod)
simple_initiator_socket_b(const char *n=default_name())
simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ZERO_OR_MORE_BOUND > socket_b
simple_initiator_socket()
process(simple_socket_base *owner)
TYPES::tlm_payload_type transaction_type
void display_error(const char *msg) const
void set_invalidate_direct_mem_ptr(MODULE *mod, InvalidateDirectMemPtr p)
simple_initiator_socket_tagged_b(const char *n=default_name())
simple_initiator_socket_optional()
simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES > socket_b
void set_transport_user_id(int id)
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
sync_enum_type nb_transport_bw(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
TYPES::tlm_payload_type transaction_type
tlm::tlm_bw_transport_if< TYPES > bw_interface_type
TYPES::tlm_phase_type phase_type
tlm::tlm_fw_transport_if< TYPES > fw_interface_type
tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, POL > base_type
TransportPtr m_transport_ptr
void set_invalidate_direct_mem_ptr(MODULE *mod, InvalidateDirectMemPtr p)
static const char * default_name()
TYPES::tlm_phase_type phase_type
static const char * default_name()
void invalidate_direct_mem_ptr(sc_dt::uint64 start_range, sc_dt::uint64 end_range)
void register_invalidate_direct_mem_ptr(MODULE *mod, void(MODULE::*cb)(int, sc_dt::uint64, sc_dt::uint64), int id)
const sc_core::sc_object * get_socket() const