TLM-2.0  2.0.4
Accellera TLM-2.0 proof-of-concept library
tlm_utils::simple_initiator_socket_tagged< MODULE, BUSWIDTH, TYPES > Class Template Reference

#include <tlm_utils/simple_initiator_socket.h>

Inheritance diagram for tlm_utils::simple_initiator_socket_tagged< MODULE, BUSWIDTH, TYPES >:
Collaboration diagram for tlm_utils::simple_initiator_socket_tagged< MODULE, BUSWIDTH, TYPES >:

Public Types

typedef TYPES::tlm_payload_type transaction_type
 
typedef TYPES::tlm_phase_type phase_type
 
typedef tlm::tlm_sync_enum sync_enum_type
 
typedef tlm::tlm_fw_transport_if< TYPES > fw_interface_type
 
typedef tlm::tlm_bw_transport_if< TYPES > bw_interface_type
 
typedef tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUNDbase_type
 
typedef sc_core::sc_port< fw_interface_type, N, POL > port_type
 
typedef sc_core::sc_export< bw_interface_typeexport_type
 
typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_typebase_target_socket_type
 
typedef unsigned phase_cb_mask
 
typedef sc_port_b< IF > this_type
 

Public Member Functions

 simple_initiator_socket_tagged ()
 
 simple_initiator_socket_tagged (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)
 
void register_invalidate_direct_mem_ptr (MODULE *mod, void(MODULE::*cb)(int, sc_dt::uint64, sc_dt::uint64), int id)
 
virtual const char * kind () const
 
virtual sc_core::sc_type_index get_protocol_types () const
 
virtual void bind (base_target_socket_type &s)
 
virtual void bind (base_type &s)
 
virtual void bind (bw_interface_type &ifs)
 
SC_VIRTUAL_ void bind (IF &interface_)
 
SC_VIRTUAL_ void bind (port_type &parent_)
 
void operator() (base_target_socket_type &s)
 
void operator() (base_type &s)
 
void operator() (bw_interface_type &s)
 
void operator() (IF &interface_)
 
void operator() (port_type &parent_)
 
virtual sc_core::sc_port_baseget_port_base ()
 
virtual sc_core::sc_port_base const & get_port_base () const
 
virtual sc_core::sc_export_baseget_export_base ()
 
virtual sc_core::sc_export_base const & get_export_base () const
 
virtual unsigned int get_bus_width () const
 
virtual tlm_socket_category get_socket_category () const
 
virtual sc_core::sc_port_b< tlm_fw_transport_if< TYPES > > & get_base_port ()
 
virtual sc_core::sc_port_b< tlm_fw_transport_if< TYPES > > const & get_base_port () const
 
virtual tlm_bw_transport_if< TYPES > & get_base_interface ()
 
virtual tlm_bw_transport_if< TYPES > const & get_base_interface () const
 
virtual sc_core::sc_export< tlm_bw_transport_if< TYPES > > & get_base_export ()
 
virtual sc_core::sc_export< tlm_bw_transport_if< TYPES > > const & get_base_export () const
 
int size () const
 
IF * operator-> ()
 
const IF * operator-> () const
 
const IF * get_interface (int iface_i) const
 
IF * get_interface (int iface_i)
 
virtual sc_interface * get_interface ()
 
virtual const sc_interface * get_interface () const
 
IF * operator[] (int index_)
 
const IF * operator[] (int index_) const
 
virtual sc_type_index get_interface_type () const
 
int bind_count ()
 
const char * name () const
 
const char * basename () const
 
virtual void print (::std::ostream &os=::std::cout) const
 
virtual void dump (::std::ostream &os=::std::cout) const
 
virtual void trace (sc_trace_file *tf) const
 
sc_simcontextsimcontext () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_base * get_attribute (const std::string &name_)
 
const sc_attr_base * get_attribute (const std::string &name_) const
 
sc_attr_base * remove_attribute (const std::string &name_)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltn & attr_cltn ()
 
const sc_attr_cltn & attr_cltn () const
 
virtual const std::vector< sc_event *> & get_child_events () const
 
virtual const std::vector< sc_object *> & get_child_objects () const
 
sc_objectget_parent () const
 
sc_objectget_parent_object () const
 

Static Public Member Functions

static const char * default_name ()
 

Protected Member Functions

void bind (sc_interface &interface_)
 
void bind (this_type &parent_)
 
virtual int vbind (sc_interface &)
 
virtual int vbind (sc_port_base &)
 
virtual void make_sensitive (sc_thread_handle, sc_event_finder *=0) const
 
virtual void make_sensitive (sc_method_handle, sc_event_finder *=0) const
 
virtual void before_end_of_elaboration ()
 
virtual void end_of_elaboration ()
 
virtual void start_of_simulation ()
 
virtual void end_of_simulation ()
 
void report_error (const char *id, const char *add_msg=0) const
 
void add_static_event (sc_method_handle process_p, const sc_event &event) const
 
void add_static_event (sc_thread_handle process_p, const sc_event &event) const
 
virtual void add_child_event (sc_event *event_p)
 
virtual void add_child_object (sc_object *object_p)
 
virtual bool remove_child_event (sc_event *event_p)
 
virtual bool remove_child_object (sc_object *object_p)
 
phase_cb_mask register_simulation_phase_callback (phase_cb_mask)
 
phase_cb_mask unregister_simulation_phase_callback (phase_cb_mask)
 
void elaboration_check (const char *action) const
 
void display_warning (const char *msg) const
 
void display_error (const char *msg) const
 

Protected Attributes

export_type m_export
 
sc_bind_info * m_bind_info
 

Detailed Description

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
class tlm_utils::simple_initiator_socket_tagged< MODULE, BUSWIDTH, TYPES >

Definition at line 295 of file simple_initiator_socket.h.

Member Typedef Documentation

◆ base_target_socket_type

typedef tlm_base_target_socket_b<BUSWIDTH, fw_interface_type, bw_interface_type> tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::base_target_socket_type
inherited

Definition at line 80 of file tlm_initiator_socket.h.

◆ base_type

◆ bw_interface_type

◆ export_type

typedef sc_core::sc_export<bw_interface_type> tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::export_type
inherited

Definition at line 76 of file tlm_initiator_socket.h.

◆ fw_interface_type

◆ phase_type

typedef TYPES::tlm_phase_type tlm_utils::simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ONE_OR_MORE_BOUND >::phase_type
inherited

Definition at line 174 of file simple_initiator_socket.h.

◆ port_type

typedef sc_core::sc_port<fw_interface_type,N,POL> tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::port_type
inherited

Definition at line 74 of file tlm_initiator_socket.h.

◆ sync_enum_type

◆ transaction_type

typedef TYPES::tlm_payload_type tlm_utils::simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ONE_OR_MORE_BOUND >::transaction_type
inherited

Definition at line 173 of file simple_initiator_socket.h.

Constructor & Destructor Documentation

◆ simple_initiator_socket_tagged() [1/2]

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
tlm_utils::simple_initiator_socket_tagged< MODULE, BUSWIDTH, TYPES >::simple_initiator_socket_tagged ( )
inline

Definition at line 300 of file simple_initiator_socket.h.

◆ simple_initiator_socket_tagged() [2/2]

template<typename MODULE , unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
tlm_utils::simple_initiator_socket_tagged< MODULE, BUSWIDTH, TYPES >::simple_initiator_socket_tagged ( const char *  name)
inlineexplicit

Definition at line 301 of file simple_initiator_socket.h.

Member Function Documentation

◆ bind() [1/3]

virtual void tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::bind ( base_target_socket_type s)
inlinevirtualinherited

◆ bind() [2/3]

virtual void tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::bind ( base_type s)
inlinevirtualinherited

◆ bind() [3/3]

virtual void tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::bind ( bw_interface_type ifs)
inlinevirtualinherited

Definition at line 147 of file tlm_initiator_socket.h.

◆ default_name()

static const char* tlm_utils::simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ONE_OR_MORE_BOUND >::default_name ( )
inlinestaticinherited

Definition at line 181 of file simple_initiator_socket.h.

◆ display_error()

void tlm_utils::convenience_socket_base::display_error ( const char *  msg) const
inherited

◆ display_warning()

void tlm_utils::convenience_socket_base::display_warning ( const char *  msg) const
inherited

◆ elaboration_check()

void tlm_utils::simple_socket_base::elaboration_check ( const char *  action) const
protectedinherited

◆ get_base_export() [1/2]

virtual sc_core::sc_export<tlm_bw_transport_if< TYPES > >& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_export ( )
inlinevirtualinherited

◆ get_base_export() [2/2]

virtual sc_core::sc_export<tlm_bw_transport_if< TYPES > > const& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_export ( ) const
inlinevirtualinherited

◆ get_base_interface() [1/2]

virtual tlm_bw_transport_if< TYPES > & tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_interface ( )
inlinevirtualinherited

◆ get_base_interface() [2/2]

virtual tlm_bw_transport_if< TYPES > const& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_interface ( ) const
inlinevirtualinherited

◆ get_base_port() [1/2]

virtual sc_core::sc_port_b<tlm_fw_transport_if< TYPES > >& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_port ( )
inlinevirtualinherited

◆ get_base_port() [2/2]

virtual sc_core::sc_port_b<tlm_fw_transport_if< TYPES > > const& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_port ( ) const
inlinevirtualinherited

◆ get_bus_width()

virtual unsigned int tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_bus_width ( ) const
inlinevirtualinherited

Implements tlm::tlm_base_socket_if.

Definition at line 166 of file tlm_initiator_socket.h.

◆ get_export_base() [1/2]

virtual sc_core::sc_export_base& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_export_base ( )
inlinevirtualinherited

Implements tlm::tlm_base_socket_if.

Definition at line 162 of file tlm_initiator_socket.h.

◆ get_export_base() [2/2]

virtual sc_core::sc_export_base const& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_export_base ( ) const
inlinevirtualinherited

Implements tlm::tlm_base_socket_if.

Definition at line 164 of file tlm_initiator_socket.h.

◆ get_port_base() [1/2]

virtual sc_core::sc_port_base& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_port_base ( )
inlinevirtualinherited

Implements tlm::tlm_base_socket_if.

Definition at line 158 of file tlm_initiator_socket.h.

◆ get_port_base() [2/2]

virtual sc_core::sc_port_base const& tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_port_base ( ) const
inlinevirtualinherited

Implements tlm::tlm_base_socket_if.

Definition at line 160 of file tlm_initiator_socket.h.

◆ get_protocol_types()

virtual sc_core::sc_type_index tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >::get_protocol_types ( ) const
inlinevirtualinherited

Implements tlm::tlm_base_socket_if.

Definition at line 227 of file tlm_initiator_socket.h.

◆ get_socket_category()

virtual tlm_socket_category tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_socket_category ( ) const
inlinevirtualinherited

◆ kind()

virtual const char* tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >::kind ( ) const
inlinevirtualinherited

◆ operator()() [1/3]

void tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::operator() ( base_target_socket_type s)
inlineinherited

Definition at line 121 of file tlm_initiator_socket.h.

◆ operator()() [2/3]

void tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::operator() ( base_type s)
inlineinherited

Definition at line 138 of file tlm_initiator_socket.h.

◆ operator()() [3/3]

void tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::operator() ( bw_interface_type s)
inlineinherited

Definition at line 152 of file tlm_initiator_socket.h.

◆ register_invalidate_direct_mem_ptr()

void tlm_utils::simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ONE_OR_MORE_BOUND >::register_invalidate_direct_mem_ptr ( MODULE *  mod,
void(MODULE::*)(int, sc_dt::uint64, sc_dt::uint64 cb,
int  id 
)
inlineinherited

Definition at line 202 of file simple_initiator_socket.h.

◆ register_nb_transport_bw()

void tlm_utils::simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, sc_core::SC_ONE_OR_MORE_BOUND >::register_nb_transport_bw ( MODULE *  mod,
sync_enum_type(MODULE::*)(int, transaction_type &, phase_type &, sc_core::sc_time &)  cb,
int  id 
)
inlineinherited

Definition at line 191 of file simple_initiator_socket.h.

Member Data Documentation

◆ m_export

export_type tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::m_export
protectedinherited

Definition at line 188 of file tlm_initiator_socket.h.


The documentation for this class was generated from the following file: