scc  2022.4.0
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_baseb_tsck {"b_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.

Member Function Documentation

◆ 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 49 of file axi_initiator.cpp.


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