scc 2025.09
SystemC components library
apb::pe::apb_initiator_b Class Reference
Inheritance diagram for apb::pe::apb_initiator_b:
Collaboration diagram for apb::pe::apb_initiator_b:

Public Types

using payload_type = tlm::tlm_generic_payload
using phase_type = tlm::tlm_phase

Public Member Functions

 SC_HAS_PROCESS (apb_initiator_b)
tlm::tlm_sync_enum nb_transport_bw (payload_type &trans, phase_type &phase, sc_core::sc_time &t) override
void invalidate_direct_mem_ptr (sc_dt::uint64 start_range, sc_dt::uint64 end_range) override
size_t get_transferwith_in_bytes () const
void transport (payload_type &trans, bool blocking)
 The forward transport function. It behaves blocking and is re-entrant.
 apb_initiator_b (sc_core::sc_module_name nm, sc_core::sc_port_b< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > > &port, size_t transfer_width, bool coherent)
 apb_initiator_b (apb_initiator_b const &)=delete
 apb_initiator_b (apb_initiator_b &&)=delete
apb_initiator_b & operator= (apb_initiator_b const &)=delete
apb_initiator_b & operator= (apb_initiator_b &&)=delete

Public Attributes

sc_core::sc_in< bool > clk_i {"clk_i"}

Protected Attributes

const size_t transfer_width_in_bytes
sc_core::sc_port_b< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > > & socket_fw
scc::peq< std::tuple< payload_type *, tlm::tlm_phase > > peq
scc::ordered_semaphore_t< 1 > chnl
sc_core::sc_event any_tx_finished
sc_core::sc_time clk_period {10, sc_core::SC_NS}

Detailed Description

Definition at line 29 of file apb_initiator.h.

Member Typedef Documentation

◆ payload_type

using apb::pe::apb_initiator_b::payload_type = tlm::tlm_generic_payload

Definition at line 34 of file apb_initiator.h.

◆ phase_type

using apb::pe::apb_initiator_b::phase_type = tlm::tlm_phase

Definition at line 35 of file apb_initiator.h.

Constructor & Destructor Documentation

◆ apb_initiator_b()

apb_initiator_b::apb_initiator_b ( sc_core::sc_module_name nm,
sc_core::sc_port_b< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > > & port,
size_t transfer_width,
bool coherent )

Definition at line 30 of file apb_initiator.cpp.

Member Function Documentation

◆ get_transferwith_in_bytes()

size_t apb::pe::apb_initiator_b::get_transferwith_in_bytes ( ) const
inline

Definition at line 43 of file apb_initiator.h.

◆ invalidate_direct_mem_ptr()

void apb_initiator_b::invalidate_direct_mem_ptr ( sc_dt::uint64 start_range,
sc_dt::uint64 end_range )
override

Definition at line 45 of file apb_initiator.cpp.

◆ nb_transport_bw()

tlm::tlm_sync_enum apb_initiator_b::nb_transport_bw ( payload_type & trans,
phase_type & phase,
sc_core::sc_time & t )
override

Definition at line 39 of file apb_initiator.cpp.

◆ transport()

void apb_initiator_b::transport ( payload_type & trans,
bool blocking )

The forward transport function. It behaves blocking and is re-entrant.

This function initiates the forward transport either using b_transport() if blocking=true or the nb_transport_* interface.

Parameters
transthe transaction to send
blockingexecute in using the blocking interface

Definition at line 47 of file apb_initiator.cpp.

Member Data Documentation

◆ any_tx_finished

sc_core::sc_event apb::pe::apb_initiator_b::any_tx_finished
protected

Definition at line 79 of file apb_initiator.h.

◆ chnl

scc::ordered_semaphore_t<1> apb::pe::apb_initiator_b::chnl
protected

Definition at line 77 of file apb_initiator.h.

◆ clk_i

sc_core::sc_in<bool> apb::pe::apb_initiator_b::clk_i {"clk_i"}

Definition at line 37 of file apb_initiator.h.

◆ clk_period

sc_core::sc_time apb::pe::apb_initiator_b::clk_period {10, sc_core::SC_NS}
protected

Definition at line 81 of file apb_initiator.h.

◆ peq

scc::peq<std::tuple<payload_type*, tlm::tlm_phase> > apb::pe::apb_initiator_b::peq
protected

Definition at line 75 of file apb_initiator.h.

◆ socket_fw

sc_core::sc_port_b<tlm::tlm_fw_transport_if<tlm::tlm_base_protocol_types> >& apb::pe::apb_initiator_b::socket_fw
protected

Definition at line 73 of file apb_initiator.h.

◆ transfer_width_in_bytes

const size_t apb::pe::apb_initiator_b::transfer_width_in_bytes
protected

Definition at line 71 of file apb_initiator.h.


The documentation for this class was generated from the following files:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/interfaces/apb/pe/apb_initiator.h
  • /home/eyck/Projects/MINRES/SystemC-Components/src/interfaces/apb/pe/apb_initiator.cpp