|
| SC_HAS_PROCESS (axi4_target) |
|
| axi4_target (sc_core::sc_module_name const &nm) |
|
| 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_initiator_socket< CFG::BUSWIDTH > | isckt {"isckt"} |
|
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< sc_dt::sc_uint< CFG::USERWIDTH > > | 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< sc_dt::sc_uint< CFG::BUSWIDTH/8 > > | 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< sc_dt::sc_uint< CFG::USERWIDTH > > | 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< sc_dt::sc_uint< CFG::USERWIDTH > > | 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< sc_dt::sc_uint< CFG::USERWIDTH > > | 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< sc_dt::sc_uint< CFG::USERWIDTH > > | 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_target< CFG >
Definition at line 37 of file axi4_target.h.