20 #include <axi/axi_tlm.h>
22 #include <tlm/scc/tlm_gp_shared.h>
28 enum protocol_time_point_e {
45 inline const char* evt2str(
unsigned evt) {
46 static const char* lut[] = {
47 "RequestPhaseBeg",
"WValidE",
"WReadyE",
"BegPartReqE",
"EndPartReqE",
"BegReqE",
"EndReqE",
48 "ResponsePhaseBeg",
"BegPartRespE",
"EndPartRespE",
"BegRespE",
"EndRespE",
"Ack"};
52 using protocol_cb = std::array<std::function<void(
void)>, CB_CNT>;
54 struct AxiProtocolFsm;
79 sc_core::sc_time start;
90 start = sc_core::SC_ZERO_TIME;
TLM2.0 components modeling AHB.
tlm::scc::tlm_gp_shared_ptr trans
pointer to the associated AXITLM payload
sc_core::sc_event finish
event indicating the end of the transaction
size_t beat_count
beat count of this transaction
AxiProtocolFsm *const fsm
pointer to the FSM
bool is_snoop
indicator if this is a snoop access
tlm::scc::tlm_gp_shared_ptr gp
additional data being used in the various adapters,