scc 2025.09
SystemC components library
tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE > Class Template Reference

A simple target adapter that splits incoming requests into AV and PV requests. More...

#include <tlm2_pv_av.h>

Inheritance diagram for tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >:
Collaboration diagram for tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >:

Public Types

using tlm_payload_type = typename TYPES::tlm_payload_type
using tlm_phase_type = typename TYPES::tlm_phase_type
using target_socket_type = TSOCKET_TYPE
using initiator_socket_type = ISOCKET_TYPE

Public Member Functions

 tlm2_pv_av_target_adapter ()
 tlm2_pv_av_target_adapter (sc_core::sc_module_name const &nm)
void bind_pv (target_socket_type &tsck)
void bind_av (TSOCKET_TYPE &tsck)
virtual ~tlm2_pv_av_target_adapter ()=default

Public Attributes

target_socket_type tsck {"tsck"}

Detailed Description

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
class tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >

A simple target adapter that splits incoming requests into AV and PV requests.

This adapter can be used to connect a TLM2_PV_AV initiator to a TLM2_AV and/or TLM2_PV target. It splits incoming requests into AV and PV requests based on the access type (blocking/non-blocking).

Template Parameters
BUSWIDTHThe width of the data bus in bits.

Definition at line 40 of file tlm2_pv_av.h.

Member Typedef Documentation

◆ initiator_socket_type

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
using tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::initiator_socket_type = ISOCKET_TYPE

Definition at line 47 of file tlm2_pv_av.h.

◆ target_socket_type

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
using tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::target_socket_type = TSOCKET_TYPE

Definition at line 46 of file tlm2_pv_av.h.

◆ tlm_payload_type

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
using tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm_payload_type = typename TYPES::tlm_payload_type

Definition at line 44 of file tlm2_pv_av.h.

◆ tlm_phase_type

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
using tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm_phase_type = typename TYPES::tlm_phase_type

Definition at line 45 of file tlm2_pv_av.h.

Constructor & Destructor Documentation

◆ tlm2_pv_av_target_adapter() [1/2]

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm2_pv_av_target_adapter ( )
inline

Constructor with default name.

Definition at line 56 of file tlm2_pv_av.h.

◆ tlm2_pv_av_target_adapter() [2/2]

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm2_pv_av_target_adapter ( sc_core::sc_module_name const & nm)
inline

Constructor.

Parameters
nmThe name of the module.

Definition at line 63 of file tlm2_pv_av.h.

◆ ~tlm2_pv_av_target_adapter()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
virtual tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::~tlm2_pv_av_target_adapter ( )
virtualdefault

virtual destructor.

Member Function Documentation

◆ bind_av()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
void tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::bind_av ( TSOCKET_TYPE & tsck)
inline

Binds the av initiator socket of adapter to the given target socket.

Parameters
tsckThe target socket to bind to.

Definition at line 80 of file tlm2_pv_av.h.

◆ bind_pv()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
void tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::bind_pv ( target_socket_type & tsck)
inline

Binds the pv initiator socket of the adapter to the given target socket.

Parameters
tsckThe target socket to bind to.

Definition at line 71 of file tlm2_pv_av.h.

Member Data Documentation

◆ tsck

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND, typename TSOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH, TYPES, N, POL>, typename ISOCKET_TYPE = tlm::tlm_initiator_socket<BUSWIDTH, TYPES, N, POL>>
target_socket_type tlm::scc::tlm2_pv_av_target_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tsck {"tsck"}

the TLM2 target socket

Definition at line 51 of file tlm2_pv_av.h.


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