17 #ifndef _BUS_OCP_TLM_H_
18 #define _BUS_OCP_TLM_H_
27 std::ostream&
operator<<(std::ostream& os, tlm::tlm_generic_payload
const& t);
29 enum class cmd_e : uint8_t { IDLE, WRITE, READ, READEX, READ_LINKED, WRITE_NON_POSTED, WRITE_CONDITIONAL, BROADCAST };
31 enum class resp_e : uint8_t { NULL_, DVA, FAIL, ERROR };
42 tlm::tlm_extension_base*
clone()
const override;
47 void copy_from(tlm::tlm_extension_base
const& ext)
override;
49 cmd_e get_mcmd()
const {
return mcmd; }
51 void set_mcmd(cmd_e mCmd) { mcmd = mCmd; }
53 resp_e get_sresp()
const {
return sresp; }
55 void set_sresp(resp_e sres) { this->sresp = sresp; }
58 cmd_e mcmd{cmd_e::IDLE};
59 resp_e sresp{resp_e::NULL_};
65 auto const* ocp_ext =
dynamic_cast<const ocp_extension*
>(&ext);
std::ostream & operator<<(std::ostream &stream, const std::vector< T > &vector)
a print function for a vector
TLM2.0 components modeling OCP.
void copy_from(tlm::tlm_extension_base const &ext) override
deep copy all values from ext
tlm::tlm_extension_base * clone() const override
the clone function to create deep copies of