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

A simple adapter that combines incoming AV and PV requests into mixed requests. More...

#include <tlm2_pv_av.h>

Inheritance diagram for tlm::scc::tlm2_pv_av_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >:
Collaboration diagram for tlm::scc::tlm2_pv_av_initiator_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_initiator_adapter ()
 tlm2_pv_av_initiator_adapter (sc_core::sc_module_name const &nm)
void bind_pv (initiator_socket_type &isck)
void bind_av (initiator_socket_type &isck)
virtual ~tlm2_pv_av_initiator_adapter ()=default

Public Attributes

initiator_socket_type isck {"isck"}

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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >

A simple adapter that combines incoming AV and PV requests into mixed requests.

This adapter can be used to connect a TLM2_AV and/or TLM2_PV initiator to a TLM2_PV_AV target. It combines incoming AV and PV requests into one TLM2 socket request.

Template Parameters
BUSWIDTHThe width of the data bus in bits.

Definition at line 144 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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::initiator_socket_type = ISOCKET_TYPE

Definition at line 151 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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::target_socket_type = TSOCKET_TYPE

Definition at line 150 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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm_payload_type = typename TYPES::tlm_payload_type

Definition at line 148 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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm_phase_type = typename TYPES::tlm_phase_type

Definition at line 149 of file tlm2_pv_av.h.

Constructor & Destructor Documentation

◆ tlm2_pv_av_initiator_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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm2_pv_av_initiator_adapter ( )
inline

Constructor with default name.

Definition at line 160 of file tlm2_pv_av.h.

◆ tlm2_pv_av_initiator_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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::tlm2_pv_av_initiator_adapter ( sc_core::sc_module_name const & nm)
inline

Constructor.

Parameters
nmThe name of the module.

Definition at line 167 of file tlm2_pv_av.h.

◆ ~tlm2_pv_av_initiator_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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::~tlm2_pv_av_initiator_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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::bind_av ( initiator_socket_type & isck)
inline

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

Parameters
tsckThe initiator socket to bind to.

Definition at line 184 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_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::bind_pv ( initiator_socket_type & isck)
inline

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

Parameters
tsckThe initiator socket to bind to.

Definition at line 175 of file tlm2_pv_av.h.

Member Data Documentation

◆ isck

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>>
initiator_socket_type tlm::scc::tlm2_pv_av_initiator_adapter< BUSWIDTH, TYPES, N, POL, TSOCKET_TYPE, ISOCKET_TYPE >::isck {"isck"}

the TLM2 initiator socket

Definition at line 155 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