scc 2025.09
SystemC components library
axi::axi_initiator_base Class Reference

axi_initiator class provides an input_socket for incoming TLM transactions. It attaches AXI extension to the tlm_generic_payload and forwards it to the AXI Protocol Engine. More...

#include <axi_initiator.h>

Inheritance diagram for axi::axi_initiator_base:
Collaboration diagram for axi::axi_initiator_base:

Public Member Functions

tlm::tlm_generic_payload * create_axi_trans (tlm::tlm_generic_payload &p)
void b_transport (tlm::tlm_generic_payload &trans, sc_core::sc_time &delay)
 axi_initiator_base (const sc_core::sc_module_name &nm, axi::pe::simple_initiator_b &pe, uint32_t width)
void setTxSetupCb (const std::function< void(tlm::tlm_generic_payload &p)> &setupCb)

Public Attributes

sc_core::sc_in< bool > clk_i {"clk_i"}
tlm_utils::simple_target_socket< axi_initiator_base, scc::LT > tsck {"tsck"}

Detailed Description

axi_initiator class provides an input_socket for incoming TLM transactions. It attaches AXI extension to the tlm_generic_payload and forwards it to the AXI Protocol Engine.

Definition at line 35 of file axi_initiator.h.

Constructor & Destructor Documentation

◆ axi_initiator_base()

axi_initiator_base::axi_initiator_base ( const sc_core::sc_module_name & nm,
axi::pe::simple_initiator_b & pe,
uint32_t width )

Definition at line 26 of file axi_initiator.cpp.

◆ ~axi_initiator_base()

virtual axi::axi_initiator_base::~axi_initiator_base ( )
inlinevirtual

Definition at line 54 of file axi_initiator.h.

Member Function Documentation

◆ b_transport()

void axi_initiator_base::b_transport ( tlm::tlm_generic_payload & trans,
sc_core::sc_time & delay )

Definition at line 46 of file axi_initiator.cpp.

◆ create_axi_trans()

tlm::tlm_generic_payload * axi_initiator_base::create_axi_trans ( tlm::tlm_generic_payload & p)

Create and attach AXI extension. AXI protocol engine expects the incoming transactions to be controlled by a memory manager. If transaction does not have an associated memory manager, copy the payload into a new one with mm.

Definition at line 52 of file axi_initiator.cpp.

◆ setTxSetupCb()

void axi::axi_initiator_base::setTxSetupCb ( const std::function< void(tlm::tlm_generic_payload &p)> & setupCb)
inline

Definition at line 56 of file axi_initiator.h.

Member Data Documentation

◆ clk_i

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

Definition at line 37 of file axi_initiator.h.

◆ tsck

tlm_utils::simple_target_socket<axi_initiator_base, scc::LT> axi::axi_initiator_base::tsck {"tsck"}

Definition at line 41 of file axi_initiator.h.


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