gem5 v25.0.0.1
Loading...
Searching...
No Matches
tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL > Class Template Reference

#include <simple_target_socket.h>

Inheritance diagram for tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >:
tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND > tlm_utils::simple_socket_base tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL > tlm_utils::convenience_socket_base tlm::tlm_base_socket_if tlm::tlm_base_target_socket_b< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES > > sc_core::sc_export< tlm_fw_transport_if< TYPES > > sc_core::sc_export_base sc_core::sc_object tlm_utils::simple_target_socket< ExplicitATTarget > tlm_utils::simple_target_socket< ExplicitLTTarget > tlm_utils::simple_target_socket< SimpleATTarget1 > tlm_utils::simple_target_socket< SimpleATTarget2 > tlm_utils::simple_target_socket< SimpleLTTarget_ext, 32, my_extended_payload_types >

Classes

class  bw_process
class  fw_process

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
Public Types inherited from tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >
typedef tlm_fw_transport_if< TYPES > fw_interface_type
typedef tlm_bw_transport_if< TYPES > bw_interface_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 tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_typebase_type

Public Member Functions

 simple_target_socket_b (const char *n=default_name())
tlm::tlm_bw_transport_if< TYPES > * operator-> ()
void register_nb_transport_fw (MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &))
void register_b_transport (MODULE *mod, void(MODULE::*cb)(transaction_type &, sc_core::sc_time &))
void register_transport_dbg (MODULE *mod, unsigned int(MODULE::*cb)(transaction_type &))
void register_get_direct_mem_ptr (MODULE *mod, bool(MODULE::*cb)(transaction_type &, tlm::tlm_dmi &))
Public Member Functions inherited from tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND >
 tlm_target_socket ()
virtual const char * kind () const
virtual std::type_index get_protocol_types () const
Public Member Functions inherited from tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >
 tlm_base_target_socket ()
virtual void bind (base_initiator_socket_type &s)
 The following warning is disabled because the bind methods are overloaded in the derived class and the base class.
void operator() (base_initiator_socket_type &s)
int size () const
bw_interface_typeoperator-> ()
bw_interface_typeoperator[] (int i)
virtual sc_core::sc_port_baseget_port_base ()
virtual sc_core::sc_export_baseget_export_base ()
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 tlm_fw_transport_if< TYPES > & get_base_interface ()
virtual sc_core::sc_export< tlm_fw_transport_if< TYPES > > & get_base_export ()
Public Member Functions inherited from tlm::tlm_base_socket_if
virtual sc_core::sc_port_base const & get_port_base () const =0
virtual sc_core::sc_export_base const & get_export_base () const =0
Public Member Functions inherited from tlm::tlm_base_target_socket_b< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES > >
virtual ~tlm_base_target_socket_b ()
Public Member Functions inherited from sc_core::sc_export< tlm_fw_transport_if< TYPES > >
 sc_export ()
 sc_export (const char *n)
virtual ~sc_export ()
void operator() (tlm_fw_transport_if< TYPES > &i)
 The following warning is disabled because the bind methods are overloaded in the derived class and the base class.
virtual void bind (tlm_fw_transport_if< TYPES > &i)
 operator tlm_fw_transport_if< TYPES > & ()
 operator const tlm_fw_transport_if< TYPES > & () const
tlm_fw_transport_if< TYPES > * operator-> ()
const tlm_fw_transport_if< TYPES > * operator-> () const
sc_interfaceget_iterface () override
const sc_interfaceget_interface () const override
 operator tlm_fw_transport_if< TYPES > & ()
 operator const tlm_fw_transport_if< TYPES > & () const
 operator tlm_fw_transport_if< TYPES > & ()
 operator const tlm_fw_transport_if< TYPES > & () const
Public Member Functions inherited from sc_core::sc_export_base
 sc_export_base (const char *n)
 ~sc_export_base ()
Public Member Functions inherited from sc_core::sc_object
const char * name () const
const char * basename () const
virtual void print (std::ostream &=std::cout) const
virtual void dump (std::ostream &=std::cout) const
virtual const std::vector< sc_object * > & get_child_objects () const
virtual const std::vector< sc_event * > & get_child_events () const
sc_objectget_parent_object () const
bool add_attribute (sc_attr_base &)
sc_attr_baseget_attribute (const std::string &)
sc_attr_baseremove_attribute (const std::string &)
void remove_all_attributes ()
int num_attributes () const
sc_attr_cltnattr_cltn ()
const sc_attr_cltnattr_cltn () const
sc_simcontextsimcontext () const

Static Public Member Functions

static const char * default_name ()

Protected Member Functions

void start_of_simulation ()
Protected Member Functions inherited from tlm::tlm_base_socket_if
virtual ~tlm_base_socket_if ()
Protected Member Functions inherited from sc_core::sc_export< tlm_fw_transport_if< TYPES > >
void before_end_of_elaboration () override
void end_of_elaboration () override
void end_of_simulation () override
Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 sc_object (const char *)
 sc_object (const sc_object &)
sc_objectoperator= (const sc_object &)
virtual ~sc_object ()
Protected Member Functions inherited from tlm_utils::simple_socket_base
void elaboration_check (const char *action) const
Protected Member Functions inherited from tlm_utils::convenience_socket_base
virtual ~convenience_socket_base ()
void display_warning (const char *msg) const
void display_error (const char *msg) const

Private Member Functions

sync_enum_type bw_nb_transport (transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
void bw_invalidate_direct_mem_ptr (sc_dt::uint64 s, sc_dt::uint64 e)
const sc_core::sc_objectget_socket () const

Private Attributes

fw_process m_fw_process
bw_process m_bw_process
std::map< transaction_type *, sc_core::sc_event * > m_pending_trans
sc_core::sc_event m_end_request
transaction_typem_current_transaction

Friends

class fw_process
class bw_process

Additional Inherited Members

Protected Attributes inherited from tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >
port_type m_port

Detailed Description

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
class tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >

Definition at line 40 of file simple_target_socket.h.

Member Typedef Documentation

◆ base_type

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef tlm::tlm_target_socket<BUSWIDTH, TYPES, 1, POL> tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::base_type

Definition at line 52 of file simple_target_socket.h.

◆ bw_interface_type

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef tlm::tlm_bw_transport_if<TYPES> tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::bw_interface_type

Definition at line 51 of file simple_target_socket.h.

◆ fw_interface_type

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef tlm::tlm_fw_transport_if<TYPES> tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_interface_type

Definition at line 50 of file simple_target_socket.h.

◆ phase_type

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef TYPES::tlm_phase_type tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::phase_type

Definition at line 48 of file simple_target_socket.h.

◆ sync_enum_type

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef tlm::tlm_sync_enum tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::sync_enum_type

Definition at line 49 of file simple_target_socket.h.

◆ transaction_type

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef TYPES::tlm_payload_type tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::transaction_type

Definition at line 47 of file simple_target_socket.h.

Constructor & Destructor Documentation

◆ simple_target_socket_b()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::simple_target_socket_b ( const char * n = default_name())
inlineexplicit

Member Function Documentation

◆ bw_invalidate_direct_mem_ptr()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::bw_invalidate_direct_mem_ptr ( sc_dt::uint64 s,
sc_dt::uint64 e )
inlineprivate

Definition at line 124 of file simple_target_socket.h.

◆ bw_nb_transport()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
sync_enum_type tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::bw_nb_transport ( transaction_type & trans,
phase_type & phase,
sc_core::sc_time & t )
inlineprivate

Definition at line 117 of file simple_target_socket.h.

◆ default_name()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
const char * tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::default_name ( )
inlinestatic

Definition at line 56 of file simple_target_socket.h.

◆ get_socket()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
const sc_core::sc_object * tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::get_socket ( ) const
inlineprivatevirtual

Implements tlm_utils::convenience_socket_base.

Definition at line 576 of file simple_target_socket.h.

◆ operator->()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm::tlm_bw_transport_if< TYPES > * tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::operator-> ( )
inline

Definition at line 70 of file simple_target_socket.h.

◆ register_b_transport()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_b_transport ( MODULE * mod,
void(MODULE::* cb )(transaction_type &, sc_core::sc_time &) )
inline

Definition at line 83 of file simple_target_socket.h.

◆ register_get_direct_mem_ptr()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_get_direct_mem_ptr ( MODULE * mod,
bool(MODULE::* cb )(transaction_type &, tlm::tlm_dmi &) )
inline

Definition at line 99 of file simple_target_socket.h.

◆ register_nb_transport_fw()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_nb_transport_fw ( MODULE * mod,
sync_enum_type(MODULE::* cb )(transaction_type &, phase_type &, sc_core::sc_time &) )
inline

Definition at line 74 of file simple_target_socket.h.

◆ register_transport_dbg()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_transport_dbg ( MODULE * mod,
unsigned int(MODULE::* cb )(transaction_type &) )
inline

Definition at line 91 of file simple_target_socket.h.

◆ start_of_simulation()

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::start_of_simulation ( )
inlineprotectedvirtual

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

Definition at line 108 of file simple_target_socket.h.

◆ bw_process

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
friend class bw_process
friend

Definition at line 45 of file simple_target_socket.h.

◆ fw_process

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
friend class fw_process
friend

Definition at line 44 of file simple_target_socket.h.

Member Data Documentation

◆ m_bw_process

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
bw_process tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::m_bw_process
private

Definition at line 580 of file simple_target_socket.h.

◆ m_current_transaction

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
transaction_type* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::m_current_transaction
private

Definition at line 583 of file simple_target_socket.h.

◆ m_end_request

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
sc_core::sc_event tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::m_end_request
private

Definition at line 582 of file simple_target_socket.h.

◆ m_fw_process

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
fw_process tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process
private

Definition at line 579 of file simple_target_socket.h.

◆ m_pending_trans

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
std::map<transaction_type *, sc_core::sc_event *> tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::m_pending_trans
private

Definition at line 581 of file simple_target_socket.h.


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

Generated on Sat Oct 18 2025 08:07:55 for gem5 by doxygen 1.14.0