scc 2025.09
SystemC components library
cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT > Struct Template Reference
Inheritance diagram for cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >:
Collaboration diagram for cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >:

Public Types

using flit_tx_type = cxs_flit_types::tlm_payload_type
using flit_phase_type = cxs_flit_types::tlm_phase_type
using pkt_tx_type = cxs_packet_types::tlm_payload_type
using pkt_phase_type = cxs_packet_types::tlm_phase_type
Public Types inherited from tlm::nw::tlm_network_fw_transport_if< cxs_packet_types >
typedef cxs_packet_types protocol_types
Public Types inherited from tlm::nw::tlm_network_bw_transport_if< cxs_flit_types >
typedef cxs_flit_types protocol_types

Public Member Functions

 cxs_transmitter (sc_core::sc_module_name const &nm)

Public Attributes

sc_core::sc_in< bool > clk_i {"clk_i"}
sc_core::sc_in< bool > rst_i {"rst_i"}
cxs_pkt_target_socket tsck {"tsck"}
cxs_flit_initiator_socket< PHITWIDTH > isck {"isck"}
cci::cci_param< sc_core::sc_time > clock_period {"clock_period", sc_core::SC_ZERO_TIME, "clock period of the CXS transmitter"}
scc::cci_param_restricted< unsigned > burst_len

Static Public Attributes

static constexpr unsigned PHIT_BYTE_WIDTH = PHITWIDTH / 8
static constexpr unsigned BUCKET_SIZE = PHITWIDTH / 8 / CXSMAXPKTPERFLIT

Detailed Description

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
struct cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >

Definition at line 122 of file cxs_tlm.h.

Member Typedef Documentation

◆ flit_phase_type

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
using cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::flit_phase_type = cxs_flit_types::tlm_phase_type

Definition at line 126 of file cxs_tlm.h.

◆ flit_tx_type

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
using cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::flit_tx_type = cxs_flit_types::tlm_payload_type

Definition at line 125 of file cxs_tlm.h.

◆ pkt_phase_type

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
using cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::pkt_phase_type = cxs_packet_types::tlm_phase_type

Definition at line 129 of file cxs_tlm.h.

◆ pkt_tx_type

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
using cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::pkt_tx_type = cxs_packet_types::tlm_payload_type

Definition at line 128 of file cxs_tlm.h.

Constructor & Destructor Documentation

◆ cxs_transmitter()

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::cxs_transmitter ( sc_core::sc_module_name const & nm)
inline

Definition at line 147 of file cxs_tlm.h.

Member Data Documentation

◆ BUCKET_SIZE

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
unsigned cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::BUCKET_SIZE = PHITWIDTH / 8 / CXSMAXPKTPERFLIT
staticconstexpr

Definition at line 132 of file cxs_tlm.h.

◆ burst_len

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
scc::cci_param_restricted<unsigned> cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::burst_len
Initial value:
{"burst_len", 1, scc::min_restriction(1u),
"minimum amount of credits to start transmitting flits, shall be larger than 0"}
_min_restriction< T > min_restriction(T min)
creates a minimum restriction including the minimum value

Definition at line 144 of file cxs_tlm.h.

◆ clk_i

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
sc_core::sc_in<bool> cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::clk_i {"clk_i"}

Definition at line 134 of file cxs_tlm.h.

◆ clock_period

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
cci::cci_param<sc_core::sc_time> cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::clock_period {"clock_period", sc_core::SC_ZERO_TIME, "clock period of the CXS transmitter"}

Definition at line 142 of file cxs_tlm.h.

◆ isck

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
cxs_flit_initiator_socket<PHITWIDTH> cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::isck {"isck"}

Definition at line 140 of file cxs_tlm.h.

◆ PHIT_BYTE_WIDTH

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
unsigned cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::PHIT_BYTE_WIDTH = PHITWIDTH / 8
staticconstexpr

Definition at line 131 of file cxs_tlm.h.

◆ rst_i

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
sc_core::sc_in<bool> cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::rst_i {"rst_i"}

Definition at line 136 of file cxs_tlm.h.

◆ tsck

template<unsigned PHITWIDTH = 256, unsigned CXSMAXPKTPERFLIT = 2>
cxs_pkt_target_socket cxs::cxs_transmitter< PHITWIDTH, CXSMAXPKTPERFLIT >::tsck {"tsck"}

Definition at line 138 of file cxs_tlm.h.


The documentation for this struct was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/interfaces/cxs/cxs_tlm.h