scc 2025.09
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.

Member Typedef Documentation

◆ bw_interface_type

template<typename BASE_TYPE, typename TYPES = tlm::tlm_base_protocol_types>
using tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::bw_interface_type = tlm::tlm_bw_transport_if<TYPES>

Definition at line 44 of file initiator_mixin.h.

◆ fw_interface_type

template<typename BASE_TYPE, typename TYPES = tlm::tlm_base_protocol_types>
using tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::fw_interface_type = tlm::tlm_fw_transport_if<TYPES>

Definition at line 43 of file initiator_mixin.h.

◆ phase_type

template<typename BASE_TYPE, typename TYPES = tlm::tlm_base_protocol_types>
using tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::phase_type = typename TYPES::tlm_phase_type

Definition at line 41 of file initiator_mixin.h.

◆ sync_enum_type

template<typename BASE_TYPE, typename TYPES = tlm::tlm_base_protocol_types>
using tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::sync_enum_type = tlm::tlm_sync_enum

Definition at line 42 of file initiator_mixin.h.

◆ transaction_type

template<typename BASE_TYPE, typename TYPES = tlm::tlm_base_protocol_types>
using tlm::scc::initiator_mixin< BASE_TYPE, TYPES >::transaction_type = typename TYPES::tlm_payload_type

Definition at line 40 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: