scc 2025.09
SystemC components library
tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES > Class Template Reference

#include <target_mixin.h>

Inheritance diagram for tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >:
Collaboration diagram for tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, 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::nw::tlm_network_fw_transport_if<TYPES>
using bw_interface_type = tlm::nw::tlm_network_bw_transport_if<TYPES>

Public Member Functions

 target_mixin ()
 target_mixin (const sc_core::sc_module_name &n)
tlm::nw::tlm_network_bw_transport_if< TYPES > * operator-> ()
void register_nb_transport_fw (std::function< sync_enum_type(transaction_type &, phase_type &, sc_core::sc_time &)> cb)
void register_b_transport (std::function< void(transaction_type &, sc_core::sc_time &)> cb)
void register_transport_dbg (std::function< unsigned int(transaction_type &)> cb)
void register_get_direct_mem_ptr (std::function< bool(transaction_type &, tlm::tlm_dmi &)> cb)

Detailed Description

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
class tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >

an target socket mixin adding default implementation of callback functions similar to tlm::simple_target_socket

Definition at line 38 of file target_mixin.h.

Member Typedef Documentation

◆ bw_interface_type

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
using tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::bw_interface_type = tlm::nw::tlm_network_bw_transport_if<TYPES>

Definition at line 47 of file target_mixin.h.

◆ fw_interface_type

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
using tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::fw_interface_type = tlm::nw::tlm_network_fw_transport_if<TYPES>

Definition at line 46 of file target_mixin.h.

◆ phase_type

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
using tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::phase_type = typename TYPES::tlm_phase_type

Definition at line 44 of file target_mixin.h.

◆ sync_enum_type

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
using tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::sync_enum_type = tlm::tlm_sync_enum

Definition at line 45 of file target_mixin.h.

◆ transaction_type

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
using tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::transaction_type = typename TYPES::tlm_payload_type

Definition at line 43 of file target_mixin.h.

Constructor & Destructor Documentation

◆ target_mixin() [1/2]

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::target_mixin ( )
inline

default constructor

Definition at line 53 of file target_mixin.h.

◆ target_mixin() [2/2]

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::target_mixin ( const sc_core::sc_module_name & n)
inlineexplicit

constructor with explicit instance name

Parameters
n

Definition at line 60 of file target_mixin.h.

Member Function Documentation

◆ operator->()

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
tlm::nw::tlm_network_bw_transport_if< TYPES > * tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::operator-> ( )
inline

return the bw_process interface

Returns

Definition at line 74 of file target_mixin.h.

◆ register_b_transport()

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
void tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::register_b_transport ( std::function< void(transaction_type &, sc_core::sc_time &)> cb)
inline

register a blocking forward path callback function

Parameters
cb

Definition at line 89 of file target_mixin.h.

◆ register_get_direct_mem_ptr()

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
void tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::register_get_direct_mem_ptr ( std::function< bool(transaction_type &, tlm::tlm_dmi &)> cb)
inline

register a DMI callback function

Parameters
cb

Definition at line 106 of file target_mixin.h.

◆ register_nb_transport_fw()

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
void tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::register_nb_transport_fw ( std::function< sync_enum_type(transaction_type &, phase_type &, sc_core::sc_time &)> cb)
inline

register a non-blocking forward path callback function

Parameters
cb

Definition at line 80 of file target_mixin.h.

◆ register_transport_dbg()

template<typename BASE_TYPE, bool REQUESTOR = true, typename TYPES = typename BASE_TYPE::protocol_types>
void tlm::nw::target_mixin< BASE_TYPE, REQUESTOR, TYPES >::register_transport_dbg ( std::function< unsigned int(transaction_type &)> cb)
inline
Parameters
cb

Definition at line 97 of file target_mixin.h.


The documentation for this class was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/sysc/tlm/nw/target_mixin.h