scc  2022.4.0
SystemC components library
tlm::scc::initiator_mixin< BASE_TYPE, TYPES > Class Template Reference

initiator socket mixin More...

#include <initiator_mixin.h>

Inheritance diagram for tlm::scc::initiator_mixin< BASE_TYPE, TYPES >:
Collaboration diagram for tlm::scc::initiator_mixin< BASE_TYPE, TYPES >:

Public Types

using transaction_type = typename TYPES::tlm_payload_type
 
using phase_type = typename TYPES::tlm_phase_type
 
using sync_enum_type = tlm::tlm_sync_enum
 
using fw_interface_type = tlm::tlm_fw_transport_if< TYPES >
 
using bw_interface_type = tlm::tlm_bw_transport_if< TYPES >
 

Public Member Functions

 initiator_mixin ()
 
 initiator_mixin (const sc_core::sc_module_name &name)
 
void register_nb_transport_bw (std::function< sync_enum_type(transaction_type &, phase_type &, sc_core::sc_time &)> cb)
 
void register_invalidate_direct_mem_ptr (std::function< void(sc_dt::uint64, sc_dt::uint64)> cb)
 

Detailed Description

template<typename BASE_TYPE, typename TYPES = tlm::tlm_base_protocol_types>
class tlm::scc::initiator_mixin< BASE_TYPE, TYPES >

initiator socket mixin

an initiator socket mixin adding default implementation of callback functions similar to tlm::simple_initiator_socket

Template Parameters
BASE_TYPE
TYPES

Definition at line 38 of file initiator_mixin.h.

Constructor & Destructor Documentation

◆ initiator_mixin() [1/2]

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::initiator_mixin ( )
inline

the default constructor automatically generating a name

Definition at line 50 of file initiator_mixin.h.

◆ initiator_mixin() [2/2]

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::initiator_mixin ( const sc_core::sc_module_name &  name)
inlineexplicit

constructor with explicit instance name

Parameters
namethe instance name

Definition at line 57 of file initiator_mixin.h.

Member Function Documentation

◆ register_invalidate_direct_mem_ptr()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
void tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::register_invalidate_direct_mem_ptr ( std::function< void(sc_dt::uint64, sc_dt::uint64)>  cb)
inline

register an invalidate DMI callback function

Parameters
cbthe callback function

Definition at line 75 of file initiator_mixin.h.

◆ register_nb_transport_bw()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
void tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::register_nb_transport_bw ( std::function< sync_enum_type(transaction_type &, phase_type &, sc_core::sc_time &)>  cb)
inline

register a non-blocking backward path callback function

Parameters
cbthe callback function

Definition at line 67 of file initiator_mixin.h.


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