scc 2025.09
SystemC components library
spi::spi_channel Struct Reference
Inheritance diagram for spi::spi_channel:
Collaboration diagram for spi::spi_channel:

Public Types

using transaction_type = spi_packet_types::tlm_payload_type
using phase_type = spi_packet_types::tlm_phase_type
Public Types inherited from tlm::nw::tlm_network_fw_transport_if< spi_packet_types >
typedef spi_packet_types protocol_types
Public Types inherited from tlm::nw::tlm_network_bw_transport_if< spi_packet_types >
typedef spi_packet_types protocol_types

Public Member Functions

 spi_channel (sc_core::sc_module_name const &nm, size_t slave_count)
spi_pkt_target_socket & operator() ()
spi_pkt_initiator_socket & operator() (size_t idx)
void b_transport (transaction_type &trans, sc_core::sc_time &t) override
tlm::tlm_sync_enum nb_transport_fw (transaction_type &trans, phase_type &phase, sc_core::sc_time &t) override
tlm::tlm_sync_enum nb_transport_bw (transaction_type &trans, phase_type &phase, sc_core::sc_time &t) override
unsigned int transport_dbg (transaction_type &trans) override

Public Attributes

spi_pkt_target_socket tsck {"tsck"}
sc_core::sc_vector< spi_pkt_initiator_socket<> > isck {"isck"}
cci::cci_param< sc_core::sc_time > channel_delay {"channel_delay", sc_core::SC_ZERO_TIME, "delay of the SPI channel"}

Detailed Description

Definition at line 83 of file spi_tlm.h.

Member Typedef Documentation

◆ phase_type

using spi::spi_channel::phase_type = spi_packet_types::tlm_phase_type

Definition at line 88 of file spi_tlm.h.

◆ transaction_type

using spi::spi_channel::transaction_type = spi_packet_types::tlm_payload_type

Definition at line 87 of file spi_tlm.h.

Constructor & Destructor Documentation

◆ spi_channel()

spi::spi_channel::spi_channel ( sc_core::sc_module_name const & nm,
size_t slave_count )
inline

Definition at line 96 of file spi_tlm.h.

Member Function Documentation

◆ b_transport()

void spi::spi_channel::b_transport ( transaction_type & trans,
sc_core::sc_time & t )
inlineoverride

Definition at line 108 of file spi_tlm.h.

◆ nb_transport_bw()

tlm::tlm_sync_enum spi::spi_channel::nb_transport_bw ( transaction_type & trans,
phase_type & phase,
sc_core::sc_time & t )
inlineoverride

Definition at line 132 of file spi_tlm.h.

◆ nb_transport_fw()

tlm::tlm_sync_enum spi::spi_channel::nb_transport_fw ( transaction_type & trans,
phase_type & phase,
sc_core::sc_time & t )
inlineoverride

Definition at line 113 of file spi_tlm.h.

◆ operator()() [1/2]

spi_pkt_target_socket & spi::spi_channel::operator() ( )
inline

Definition at line 104 of file spi_tlm.h.

◆ operator()() [2/2]

spi_pkt_initiator_socket & spi::spi_channel::operator() ( size_t idx)
inline

Definition at line 106 of file spi_tlm.h.

◆ transport_dbg()

unsigned int spi::spi_channel::transport_dbg ( transaction_type & trans)
inlineoverride

Definition at line 141 of file spi_tlm.h.

Member Data Documentation

◆ channel_delay

cci::cci_param<sc_core::sc_time> spi::spi_channel::channel_delay {"channel_delay", sc_core::SC_ZERO_TIME, "delay of the SPI channel"}

Definition at line 94 of file spi_tlm.h.

◆ isck

sc_core::sc_vector<spi_pkt_initiator_socket<> > spi::spi_channel::isck {"isck"}

Definition at line 92 of file spi_tlm.h.

◆ tsck

spi_pkt_target_socket spi::spi_channel::tsck {"tsck"}

Definition at line 90 of file spi_tlm.h.


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