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

#include <tlm_utils/simple_target_socket.h>

Inheritance diagram for tlm_utils::simple_target_socket_tagged_optional< MODULE, BUSWIDTH, TYPES >:
Collaboration diagram for tlm_utils::simple_target_socket_tagged_optional< 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_target_socket< BUSWIDTH, TYPES, 1, POL > base_type
 
typedef sc_core::sc_port< bw_interface_type, N, POL > port_type
 
typedef sc_core::sc_export< fw_interface_typeexport_type
 
typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_typebase_initiator_socket_type
 
typedef unsigned phase_cb_mask
 
typedef sc_export_base this_type
 

Public Member Functions

 simple_target_socket_tagged_optional ()
 
 simple_target_socket_tagged_optional (const char *name)
 
tlm::tlm_bw_transport_if< TYPES > * operator-> ()
 
const IF * operator-> () 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)
 
void register_b_transport (MODULE *mod, void(MODULE::*cb)(int id, transaction_type &, sc_core::sc_time &), int id)
 
void register_transport_dbg (MODULE *mod, unsigned int(MODULE::*cb)(int id, transaction_type &), int id)
 
void register_get_direct_mem_ptr (MODULE *mod, bool(MODULE::*cb)(int id, transaction_type &, tlm::tlm_dmi &), int id)
 
virtual const char * kind () const
 
virtual sc_core::sc_type_index get_protocol_types () const
 
virtual void bind (base_initiator_socket_type &s)
 
virtual void bind (base_type &s)
 
virtual void bind (fw_interface_type &ifs)
 
SC_VIRTUAL_ void bind (IF &interface_)
 
void operator() (base_initiator_socket_type &s)
 
void operator() (base_type &s)
 
void operator() (fw_interface_type &s)
 
void operator() (IF &interface_)
 
int size () const
 
bw_interface_typeoperator[] (int i)
 
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_bw_transport_if< TYPES > > & get_base_port ()
 
virtual sc_core::sc_port_b< tlm_bw_transport_if< TYPES > > const & get_base_port () const
 
virtual tlm_fw_transport_if< TYPES > & get_base_interface ()
 
virtual tlm_fw_transport_if< TYPES > const & get_base_interface () const
 
virtual sc_core::sc_export< tlm_fw_transport_if< TYPES > > & get_base_export ()
 
virtual sc_core::sc_export< tlm_fw_transport_if< TYPES > > const & get_base_export () const
 
virtual sc_interface * get_interface ()
 
virtual const sc_interface * get_interface () const
 
 operator IF & ()
 
 operator const IF & () const
 
virtual sc_type_index get_interface_type () const
 
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 start_of_simulation ()
 
virtual void before_end_of_elaboration ()
 
virtual void end_of_elaboration ()
 
virtual void end_of_simulation ()
 
void report_error (const char *id, const char *add_msg=0) 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

port_type m_port
 
IF * m_interface_p
 

Detailed Description

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

Definition at line 1122 of file simple_target_socket.h.

Member Typedef Documentation

◆ base_initiator_socket_type

typedef tlm_base_initiator_socket_b<BUSWIDTH, fw_interface_type, bw_interface_type> tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::base_initiator_socket_type
inherited

Definition at line 69 of file tlm_target_socket.h.

◆ base_type

typedef tlm::tlm_target_socket<BUSWIDTH,TYPES,1,POL> tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::base_type
inherited

Definition at line 591 of file simple_target_socket.h.

◆ bw_interface_type

typedef tlm::tlm_bw_transport_if<TYPES> tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::bw_interface_type
inherited

Definition at line 590 of file simple_target_socket.h.

◆ export_type

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

Definition at line 66 of file tlm_target_socket.h.

◆ fw_interface_type

typedef tlm::tlm_fw_transport_if<TYPES> tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_interface_type
inherited

Definition at line 589 of file simple_target_socket.h.

◆ phase_type

typedef TYPES::tlm_phase_type tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::phase_type
inherited

Definition at line 587 of file simple_target_socket.h.

◆ port_type

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

Definition at line 64 of file tlm_target_socket.h.

◆ sync_enum_type

typedef tlm::tlm_sync_enum tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::sync_enum_type
inherited

Definition at line 588 of file simple_target_socket.h.

◆ transaction_type

typedef TYPES::tlm_payload_type tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::transaction_type
inherited

Definition at line 586 of file simple_target_socket.h.

Constructor & Destructor Documentation

◆ simple_target_socket_tagged_optional() [1/2]

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

Definition at line 1127 of file simple_target_socket.h.

◆ simple_target_socket_tagged_optional() [2/2]

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

Definition at line 1128 of file simple_target_socket.h.

Member Function Documentation

◆ bind() [1/3]

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

Definition at line 103 of file tlm_target_socket.h.

◆ bind() [2/3]

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

Definition at line 120 of file tlm_target_socket.h.

◆ bind() [3/3]

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

Definition at line 137 of file tlm_target_socket.h.

◆ default_name()

static const char* tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::default_name ( )
inlinestaticinherited

Definition at line 594 of file simple_target_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_fw_transport_if< TYPES > >& tlm::tlm_base_target_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_fw_transport_if< TYPES > > const& tlm::tlm_base_target_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_fw_transport_if< TYPES > & tlm::tlm_base_target_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_fw_transport_if< TYPES > const& tlm::tlm_base_target_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_bw_transport_if< TYPES > >& tlm::tlm_base_target_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_bw_transport_if< TYPES > > const& tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::get_base_port ( ) const
inlinevirtualinherited

Definition at line 193 of file tlm_target_socket.h.

◆ get_bus_width()

virtual unsigned int tlm::tlm_base_target_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 185 of file tlm_target_socket.h.

◆ get_export_base() [1/2]

virtual sc_core::sc_export_base& tlm::tlm_base_target_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 181 of file tlm_target_socket.h.

◆ get_export_base() [2/2]

virtual sc_core::sc_export_base const& tlm::tlm_base_target_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 183 of file tlm_target_socket.h.

◆ get_port_base() [1/2]

virtual sc_core::sc_port_base& tlm::tlm_base_target_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 177 of file tlm_target_socket.h.

◆ get_port_base() [2/2]

virtual sc_core::sc_port_base const& tlm::tlm_base_target_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 179 of file tlm_target_socket.h.

◆ get_protocol_types()

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

Implements tlm::tlm_base_socket_if.

Definition at line 247 of file tlm_target_socket.h.

◆ get_socket_category()

virtual tlm_socket_category tlm::tlm_base_target_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_target_socket< BUSWIDTH, TYPES, N, POL >::kind ( ) const
inlinevirtualinherited

◆ operator()() [1/3]

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

Definition at line 111 of file tlm_target_socket.h.

◆ operator()() [2/3]

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

Definition at line 128 of file tlm_target_socket.h.

◆ operator()() [3/3]

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

Definition at line 147 of file tlm_target_socket.h.

◆ operator->()

tlm::tlm_bw_transport_if<TYPES>* tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::operator-> ( )
inlineinherited

Definition at line 608 of file simple_target_socket.h.

◆ operator[]()

bw_interface_type* tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::operator[] ( int  i)
inlineinherited

Definition at line 171 of file tlm_target_socket.h.

◆ register_b_transport()

void tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_b_transport ( MODULE *  mod,
void(MODULE::*)(int id, transaction_type &, sc_core::sc_time &)  cb,
int  id 
)
inlineinherited

Definition at line 623 of file simple_target_socket.h.

◆ register_get_direct_mem_ptr()

void tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_get_direct_mem_ptr ( MODULE *  mod,
bool(MODULE::*)(int id, transaction_type &, tlm::tlm_dmi &)  cb,
int  id 
)
inlineinherited

Definition at line 644 of file simple_target_socket.h.

◆ register_nb_transport_fw()

void tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_nb_transport_fw ( MODULE *  mod,
sync_enum_type(MODULE::*)(int id, transaction_type &, phase_type &, sc_core::sc_time &)  cb,
int  id 
)
inlineinherited

Definition at line 611 of file simple_target_socket.h.

◆ register_transport_dbg()

void tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_transport_dbg ( MODULE *  mod,
unsigned int(MODULE::*)(int id, transaction_type &)  cb,
int  id 
)
inlineinherited

Definition at line 634 of file simple_target_socket.h.

◆ size()

int tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::size ( ) const
inlineinherited

Definition at line 155 of file tlm_target_socket.h.

◆ start_of_simulation()

void tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::start_of_simulation ( )
inlineprotectedvirtualinherited

Reimplemented from sc_core::sc_export< tlm_fw_transport_if< TYPES > >.

Definition at line 656 of file simple_target_socket.h.

Member Data Documentation

◆ m_port

port_type tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES > , tlm_bw_transport_if< TYPES > , N, POL >::m_port
protectedinherited

Definition at line 207 of file tlm_target_socket.h.


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