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

#include <target_mixin.h>

Inheritance diagram for tlm::scc::target_mixin< BASE_TYPE, TYPES >:
Collaboration diagram for tlm::scc::target_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

 target_mixin ()
 
 target_mixin (const sc_core::sc_module_name &n)
 
tlm::tlm_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, typename TYPES = tlm::tlm_base_protocol_types>
class tlm::scc::target_mixin< BASE_TYPE, TYPES >

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

Definition at line 36 of file target_mixin.h.

Constructor & Destructor Documentation

◆ target_mixin() [1/2]

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

default constructor

Definition at line 51 of file target_mixin.h.

◆ target_mixin() [2/2]

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

constructor with explicit instance name

Parameters
n

Definition at line 58 of file target_mixin.h.

Member Function Documentation

◆ operator->()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
tlm::tlm_bw_transport_if<TYPES>* tlm::scc::target_mixin< BASE_TYPE, TYPES >::operator-> ( )
inline

return the bw_process interface

Returns

Definition at line 72 of file target_mixin.h.

◆ register_b_transport()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
void tlm::scc::target_mixin< BASE_TYPE, 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 87 of file target_mixin.h.

◆ register_get_direct_mem_ptr()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
void tlm::scc::target_mixin< BASE_TYPE, 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 104 of file target_mixin.h.

◆ register_nb_transport_fw()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
void tlm::scc::target_mixin< BASE_TYPE, 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 78 of file target_mixin.h.

◆ register_transport_dbg()

template<typename BASE_TYPE , typename TYPES = tlm::tlm_base_protocol_types>
void tlm::scc::target_mixin< BASE_TYPE, TYPES >::register_transport_dbg ( std::function< unsigned int(transaction_type &)>  cb)
inline
Parameters
cb

Definition at line 95 of file target_mixin.h.


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