20 #ifndef __SYSTEMC_EXT_TLM_CORE_2_SOCKETS_INITIATOR_SOCKET_HH__ 21 #define __SYSTEMC_EXT_TLM_CORE_2_SOCKETS_INITIATOR_SOCKET_HH__ 25 #include "../interfaces/fw_bw_ifs.hh" 31 template <
unsigned int BUSWIDTH=32,
47 template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF>
50 template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
56 #pragma GCC diagnostic push 57 #pragma GCC diagnostic ignored "-Woverloaded-virtual" 58 template <
unsigned int BUSWIDTH=32,
typename FW_IF=tlm_fw_transport_if<>,
59 typename BW_IF=tlm_bw_transport_if<>,
int N=1,
60 sc_core::sc_port_policy POL=sc_core::SC_ONE_OR_MORE_BOUND>
74 BUSWIDTH, fw_interface_type, bw_interface_type>
77 BUSWIDTH, fw_interface_type, bw_interface_type>
base_type;
79 template <
unsigned int,
typename,
typename,
int, sc_core::sc_port_policy>
86 "tlm_base_initiator_socket_export"))
91 (
std::string(name) +
"_export").c_str()))
94 virtual const char*
kind()
const {
return "tlm_base_initiator_socket"; }
127 void operator() (base_type &
s) { bind(s); }
134 void operator() (bw_interface_type &
s) { bind(s); }
177 #pragma GCC diagnostic pop 186 BUSWIDTH, tlm_fw_transport_if<TYPES>,
187 tlm_bw_transport_if<TYPES>, N, POL>
200 virtual const char *
kind()
const {
return "tlm_initiator_socket"; }
202 virtual std::type_index
205 return typeid(TYPES);
tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > base_target_socket_type
virtual sc_core::sc_port_b< BW_IF > & get_base_port()=0
const std::string & name()
tlm_base_initiator_socket()
virtual sc_core::sc_port_b< FW_IF > const & get_base_port() const
virtual void bind(base_type &s)
const char * sc_gen_unique_name(const char *seed)
tlm_base_initiator_socket(const char *name)
Overload hash function for BasicBlockRange type.
sc_core::sc_export< bw_interface_type > export_type
virtual const char * kind() const
virtual unsigned int get_bus_width() const
sc_core::sc_port< fw_interface_type, N, POL > port_type
virtual void bind(base_target_socket_type &s)
virtual sc_core::sc_export_base const & get_export_base() const
tlm_initiator_socket(const char *name)
virtual BW_IF const & get_base_interface() const
virtual sc_core::sc_port_base const & get_port_base() const
virtual sc_core::sc_export< BW_IF > & get_base_export()
virtual sc_core::sc_port_b< FW_IF > & get_base_port()
virtual ~tlm_base_initiator_socket_b()
virtual std::type_index get_protocol_types() const
virtual sc_core::sc_export< BW_IF > & get_base_export()=0
virtual const char * kind() const
virtual sc_core::sc_export_base & get_export_base()
virtual void bind(bw_interface_type &ifs)
virtual BW_IF & get_base_interface()=0
virtual sc_core::sc_export< BW_IF > const & get_base_export() const
virtual sc_core::sc_port_base & get_port_base()
virtual tlm_socket_category get_socket_category() const
virtual sc_core::sc_port_b< FW_IF > & get_base_port()=0
virtual FW_IF & get_base_interface()=0
tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > base_type
virtual BW_IF & get_base_interface()