scc 2025.09
SystemC components library
scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL > Class Template Reference

The socket_width_adapter class is a TLM (Transaction-Level Modeling) socket width adapter. More...

#include <socket_width_adapter.h>

Inheritance diagram for scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >:
Collaboration diagram for scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >:

Public Types

using tlm_payload_type = typename TYPES::tlm_payload_type
using tlm_phase_type = typename TYPES::tlm_phase_type
using target_socket_type = tlm::tlm_target_socket<TGT_BUSWIDTH, TYPES, N, POL>
using initiator_socket_type = tlm::tlm_initiator_socket<INTOR_BUSWIDTH, TYPES, N, POL>

Public Member Functions

 socket_width_adapter (sc_core::sc_module_name const &nm)
 Constructor for the socket_width_adapter class.
 socket_width_adapter (socket_width_adapter const &)=delete
 socket_width_adapter (socket_width_adapter &&)=delete
virtual ~socket_width_adapter ()=default
 Virtual destructor for the socket_width_adapter class.

Public Attributes

target_socket_type tsck {"tsck"}
 The target socket for the adapter.
initiator_socket_type isck {"isck"}
 The initiator socket for the adapter.

Detailed Description

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
class scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >

The socket_width_adapter class is a TLM (Transaction-Level Modeling) socket width adapter.

The socket_width_adapter class is a template class that adapts the width of a TLM socket. It allows the connection of modules with different bus widths by converting the data width between the initiator and target sockets.

Template Parameters
TGT_WIDTHThe width of the target socket.
INTOR_BUSWIDTHThe width of the initiator socket.
TYPESThe TLM protocol types.
NThe number of socket instances.
POLThe port binding policy.
Note
The socket_width_adapter class is a part of the SystemC Component (SCC) library.
Author
Your Name
Date
YYYY-MM-DD

Definition at line 43 of file socket_width_adapter.h.

Member Typedef Documentation

◆ initiator_socket_type

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
using scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::initiator_socket_type = tlm::tlm_initiator_socket<INTOR_BUSWIDTH, TYPES, N, POL>

Definition at line 48 of file socket_width_adapter.h.

◆ target_socket_type

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
using scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::target_socket_type = tlm::tlm_target_socket<TGT_BUSWIDTH, TYPES, N, POL>

Definition at line 47 of file socket_width_adapter.h.

◆ tlm_payload_type

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
using scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::tlm_payload_type = typename TYPES::tlm_payload_type

Definition at line 45 of file socket_width_adapter.h.

◆ tlm_phase_type

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
using scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::tlm_phase_type = typename TYPES::tlm_phase_type

Definition at line 46 of file socket_width_adapter.h.

Constructor & Destructor Documentation

◆ socket_width_adapter()

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::socket_width_adapter ( sc_core::sc_module_name const & nm)
inline

Constructor for the socket_width_adapter class.

Parameters
nmThe name of the socket_width_adapter instance.

Definition at line 66 of file socket_width_adapter.h.

Member Data Documentation

◆ isck

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
initiator_socket_type scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::isck {"isck"}

The initiator socket for the adapter.

This socket is used to connect the initiator module with the adapter.

Definition at line 60 of file socket_width_adapter.h.

◆ tsck

template<unsigned int TGT_BUSWIDTH = 32, unsigned int INTOR_BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, int N = 1, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
target_socket_type scc::socket_width_adapter< TGT_BUSWIDTH, INTOR_BUSWIDTH, TYPES, N, POL >::tsck {"tsck"}

The target socket for the adapter.

This socket is used to connect the target module with the adapter.

Definition at line 54 of file socket_width_adapter.h.


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