| 
| 
  | SC_HAS_PROCESS (axi4_initiator) | 
|   | 
| 
  | axi4_initiator (sc_core::sc_module_name const &nm, bool pipelined_wrreq=false) | 
|   | 
| 
  | aw_axi (const char *prefix) | 
|   | 
| 
void  | bind_aw (aw_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_aw (aw_axi_lite< CFG, OTYPES > &o) | 
|   | 
| 
  | wdata_axi (const char *prefix) | 
|   | 
| 
void  | bind_w (wdata_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_w (wdata_axi_lite< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_wdata (wdata_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_wdata (wdata_axi_lite< CFG, OTYPES > &o) | 
|   | 
| 
  | b_axi (const char *prefix) | 
|   | 
| 
void  | bind_b (b_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_b (b_axi_lite< CFG, OTYPES > &o) | 
|   | 
| 
  | ar_axi (const char *prefix) | 
|   | 
| 
void  | bind_ar (ar_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_ar (ar_axi_lite< CFG, OTYPES > &o) | 
|   | 
| 
  | rresp_axi (const char *prefix) | 
|   | 
| 
void  | bind_r (rresp_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_r (rresp_axi_lite< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_rresp (rresp_axi< CFG, OTYPES > &o) | 
|   | 
| 
void  | bind_rresp (rresp_axi_lite< CFG, OTYPES > &o) | 
|   | 
 | 
| 
sc_core::sc_in< bool >  | clk_i {"clk_i"} | 
|   | 
| 
axi::axi_target_socket< CFG::BUSWIDTH >  | tsckt {"tsckt"} | 
|   | 
| 
cci::cci_param< bool >  | pipelined_wrreq {"pipelined_wrreq", false} | 
|   | 
| 
cci::cci_param< bool >  | mask_axi_id {"mask_axi_id", false} | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< CFG::IDWIDTH > >  | aw_id | 
|   | 
| 
TYPES::template m2s_t< sc_dt::sc_uint< CFG::ADDRWIDTH > >  | aw_addr | 
|   | 
| 
TYPES::template s2m_t< bool >  | aw_ready | 
|   | 
| 
TYPES::template m2s_full_t< bool >  | aw_lock | 
|   | 
| 
TYPES::template m2s_t< bool >  | aw_valid | 
|   | 
| 
TYPES::template m2s_t< sc_dt::sc_uint< 3 > >  | aw_prot | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 3 > >  | aw_size | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 4 > >  | aw_cache | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 2 > >  | aw_burst | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 4 > >  | aw_qos | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 4 > >  | aw_region | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 8 > >  | aw_len | 
|   | 
| 
TYPES::template m2s_opt_t< typename CFG::user_t >  | aw_user | 
|   | 
| 
TYPES::template m2s_opt_t< sc_dt::sc_uint< CFG::IDWIDTH > >  | w_id | 
|   | 
| 
TYPES::template m2s_t< typename CFG::data_t >  | w_data | 
|   | 
| 
TYPES::template m2s_t< typename CFG::strb_t >  | w_strb | 
|   | 
| 
TYPES::template m2s_full_t< bool >  | w_last | 
|   | 
| 
TYPES::template m2s_t< bool >  | w_valid | 
|   | 
| 
TYPES::template s2m_t< bool >  | w_ready | 
|   | 
| 
TYPES::template m2s_opt_t< typename CFG::user_t >  | w_user | 
|   | 
| 
TYPES::template m2s_full_t< bool >  | w_ack | 
|   | 
| 
TYPES::template m2s_opt_t< bool >  | w_trace | 
|   | 
| 
TYPES::template s2m_t< bool >  | b_valid | 
|   | 
| 
TYPES::template m2s_t< bool >  | b_ready | 
|   | 
| 
TYPES::template s2m_full_t< sc_dt::sc_uint< CFG::IDWIDTH > >  | b_id | 
|   | 
| 
TYPES::template s2m_t< sc_dt::sc_uint< 2 > >  | b_resp | 
|   | 
| 
TYPES::template s2m_opt_t< typename CFG::user_t >  | b_user | 
|   | 
| 
TYPES::template s2m_opt_t< bool >  | b_trace | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< CFG::IDWIDTH > >  | ar_id | 
|   | 
| 
TYPES::template m2s_t< sc_dt::sc_uint< CFG::ADDRWIDTH > >  | ar_addr | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 8 > >  | ar_len | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 3 > >  | ar_size | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 2 > >  | ar_burst | 
|   | 
| 
TYPES::template m2s_full_t< bool >  | ar_lock | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 4 > >  | ar_cache | 
|   | 
| 
TYPES::template m2s_t< sc_dt::sc_uint< 3 > >  | ar_prot | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 4 > >  | ar_qos | 
|   | 
| 
TYPES::template m2s_full_t< sc_dt::sc_uint< 4 > >  | ar_region | 
|   | 
| 
TYPES::template m2s_t< bool >  | ar_valid | 
|   | 
| 
TYPES::template s2m_t< bool >  | ar_ready | 
|   | 
| 
TYPES::template m2s_opt_t< typename CFG::user_t >  | ar_user | 
|   | 
| 
TYPES::template s2m_full_t< sc_dt::sc_uint< CFG::IDWIDTH > >  | r_id | 
|   | 
| 
TYPES::template s2m_t< typename CFG::data_t >  | r_data | 
|   | 
| 
TYPES::template s2m_t< sc_dt::sc_uint< 2 > >  | r_resp | 
|   | 
| 
TYPES::template s2m_full_t< bool >  | r_last | 
|   | 
| 
TYPES::template s2m_t< bool >  | r_valid | 
|   | 
| 
TYPES::template m2s_t< bool >  | r_ready | 
|   | 
| 
TYPES::template s2m_opt_t< typename CFG::user_t >  | r_user | 
|   | 
| 
TYPES::template s2m_opt_t< bool >  | r_trace | 
|   | 
 | 
| 
using  | payload_type = axi::axi_protocol_types::tlm_payload_type | 
|   | aliases used in the class 
  | 
|   | 
| 
using  | phase_type = axi::axi_protocol_types::tlm_phase_type | 
|   | 
|   | base (size_t transfer_width, bool coherent=false, axi::fsm::protocol_time_point_e wr_start=axi::fsm::RequestPhaseBeg) | 
|   | the constructor  More...
  | 
|   | 
| 
virtual  | ~base () | 
|   | the destructor 
  | 
|   | 
| tlm::tlm_sync_enum  | nb_fw (payload_type &trans, phase_type const &phase, sc_core::sc_time &t) | 
|   | triggers the FSM based on TLM phases in the forward path. Should be called from np_transport_fw of the respective derived class  More...
  | 
|   | 
| tlm::tlm_sync_enum  | nb_bw (payload_type &trans, phase_type const &phase, sc_core::sc_time &t) | 
|   | triggers the FSM based on TLM phases in the backward path. Should be called from np_transport_bw of the respective derived class  More...
  | 
|   | 
| axi::fsm::fsm_handle *  | find_or_create (payload_type *gp=nullptr, bool ace=false) | 
|   | retrieve the FSM handle based on the transaction passed. If non exist one will be created  More...
  | 
|   | 
| 
void  | process_fsm_event () | 
|   | processes the fsm_event_queue and triggers FSM aligned 
  | 
|   | 
| 
void  | process_fsm_clk_queue () | 
|   | processes the fsm_clk_queue and triggers the FSM accordingly. Should be registered as rising-edge clock callback 
  | 
|   | 
| 
void  | schedule (axi::fsm::protocol_time_point_e e, tlm::scc::tlm_gp_shared_ptr &gp, unsigned cycles) | 
|   | processes the fsm_sched_queue and propagates events to fsm_clk_queue. Should be registered as falling-edge clock callback 
  | 
|   | 
| 
void  | schedule (axi::fsm::protocol_time_point_e e, payload_type *gp, unsigned cycles) | 
|   | 
| 
void  | schedule (axi::fsm::protocol_time_point_e e, tlm::scc::tlm_gp_shared_ptr &gp, sc_core::sc_time delay, bool syncronize=false) | 
|   | processes the fsm_sched_queue and propagates events to fsm_clk_queue. Should be registered as falling-edge clock callback 
  | 
|   | 
| 
void  | schedule (axi::fsm::protocol_time_point_e e, payload_type *gp, sc_core::sc_time delay, bool syncronize=false) | 
|   | 
| void  | react (axi::fsm::protocol_time_point_e event, tlm::scc::tlm_gp_shared_ptr &trans) | 
|   | triggers the FSM with event and given transaction  More...
  | 
|   | 
| 
void  | react (axi::fsm::protocol_time_point_e event, payload_type *trans) | 
|   | 
| 
void  | react (axi::fsm::protocol_time_point_e, axi::fsm::fsm_handle *) | 
|   | 
| 
::scc::peq< std::tuple< axi::fsm::protocol_time_point_e, payload_type *, bool > >  | fsm_event_queue | 
|   | 
| 
::scc::fifo_w_cb< std::tuple< axi::fsm::protocol_time_point_e, payload_type *, unsigned > >  | fsm_clk_queue | 
|   | 
| 
sc_core::sc_process_handle  | fsm_clk_queue_hndl | 
|   | 
| 
size_t  | transfer_width_in_bytes | 
|   | 
| 
const axi::fsm::protocol_time_point_e  | wr_start | 
|   | 
| 
const bool  | coherent | 
|   | 
| 
std::unordered_map< payload_type *, axi::fsm::fsm_handle * >  | active_fsm | 
|   | 
| 
std::deque< axi::fsm::fsm_handle * >  | idle_fsm | 
|   | 
| 
std::vector< std::unique_ptr< axi::fsm::fsm_handle > >  | allocated_fsm | 
|   | 
| 
std::string  | instance_name | 
|   | 
| 
sc_core::sc_event  | finish_evt | 
|   | 
template<typename CFG>
struct axi::pin::axi4_initiator< CFG >
Definition at line 37 of file axi4_initiator.h.