scc  2022.4.0
SystemC components library
axi::axi_extension< REQ, RESP > Struct Template Reference

#include <axi_tlm.h>

Inheritance diagram for axi::axi_extension< REQ, RESP >:
Collaboration diagram for axi::axi_extension< REQ, RESP >:

Public Member Functions

 axi_extension ()=default
 the default constructor
 
 axi_extension (const axi_extension< REQ, RESP > *)
 the copy constructor More...
 
virtual ~axi_extension ()
 
void reset ()
 reset all data member to their default
 
void reset (const REQ *)
 reset the common and response part, reset response using the given reset value More...
 
void add_to_response_array (response &)
 add a read response to the response array More...
 
const std::vector< response > & get_response_array () const
 return the read response array for constant instances More...
 
std::vector< response > & get_response_array ()
 return the read response array More...
 
void set_response_array_complete (bool=true)
 set the flag indicating the all read responses are collected More...
 
bool is_response_array_complete ()
 
- Public Member Functions inherited from axi::common
 common ()=default
 the constructor
 
void reset ()
 reset all data member to their default
 
commonoperator= (const common &o)
 copy assignment operator More...
 
void set_id (unsigned int value)
 
unsigned int get_id () const
 
void set_user (id_type chnl, unsigned int value)
 
unsigned int get_user (id_type chnl) const
 
- Public Member Functions inherited from axi::response
responseoperator= (const response &o)
 assignment operator More...
 
void reset ()
 reset all data member to their default
 
void set_resp (resp_e)
 set the response status as POD More...
 
resp_e get_resp () const
 get the response status as POD More...
 
bool is_okay () const
 check if the response status is OKAY More...
 
void set_okay ()
 set the response status to OKAY
 
bool is_exokay () const
 check if the response status is EXOKAY More...
 
void set_exokay ()
 set the response status to EXOKAY
 
bool is_slverr () const
 check if the response status is SLVERR More...
 
void set_slverr ()
 set the response status to SLVERR
 
bool is_decerr () const
 check if the response status is DECERR More...
 
void set_decerr ()
 set the response status to DECERR
 

Additional Inherited Members

- Public Types inherited from axi::common
enum class  id_type { CTRL , DATA , RESP }
 
- Static Public Member Functions inherited from axi::response
static resp_e from_tlm_response_status (tlm::tlm_response_status)
 converts the response status of a generic payload to a More...
 
static tlm::tlm_response_status to_tlm_response_status (resp_e)
 converts a More...
 
- Protected Types inherited from axi::response
enum  {
  DATATRANSFER = 1 , SNOOPEERROR = 2 , PASSDIRTY = 4 , ISSHARED = 8 ,
  WASUNIQUE = 16
}
 
- Protected Attributes inherited from axi::common
unsigned id {0}
 
std::array< unsigned, 3 > user {{0, 0, 0}}
 
- Protected Attributes inherited from axi::response
uint8_t resp {static_cast<uint8_t>(resp_e::OKAY)}
 

Detailed Description

template<typename REQ, typename RESP = response>
struct axi::axi_extension< REQ, RESP >

the template class forming an AXI extension as a combination of common, a request class and a response class

Definition at line 752 of file axi_tlm.h.

Constructor & Destructor Documentation

◆ axi_extension()

template<typename REQ , typename RESP >
axi::axi_extension< REQ, RESP >::axi_extension ( const axi_extension< REQ, RESP > *  ext)

the copy constructor

Parameters
theextension to copy from

Definition at line 1580 of file axi_tlm.h.

◆ ~axi_extension()

template<typename REQ , typename RESP = response>
virtual axi::axi_extension< REQ, RESP >::~axi_extension ( )
inlinevirtual

the virtual destructor

Definition at line 768 of file axi_tlm.h.

Member Function Documentation

◆ add_to_response_array()

template<typename REQ , typename RESP >
void axi::axi_extension< REQ, RESP >::add_to_response_array ( response arr)
inline

add a read response to the response array

Parameters
theresponse

Definition at line 1598 of file axi_tlm.h.

◆ get_response_array() [1/2]

template<typename REQ , typename RESP >
std::vector< response > & axi::axi_extension< REQ, RESP >::get_response_array
inline

return the read response array

Returns
the response array

Definition at line 1607 of file axi_tlm.h.

◆ get_response_array() [2/2]

template<typename REQ , typename RESP >
const std::vector< response > & axi::axi_extension< REQ, RESP >::get_response_array
inline

return the read response array for constant instances

Returns
the const-qualified response array

Definition at line 1603 of file axi_tlm.h.

◆ is_response_array_complete()

template<typename REQ , typename RESP >
bool axi::axi_extension< REQ, RESP >::is_response_array_complete
inline

get the flag indicating the all read responses are collected

Returns
the flag value

Definition at line 1616 of file axi_tlm.h.

◆ reset()

template<typename REQ , typename RESP >
void axi::axi_extension< REQ, RESP >::reset ( const REQ *  control)

reset the common and response part, reset response using the given reset value

Parameters
theresponse reset value

Definition at line 1592 of file axi_tlm.h.

◆ set_response_array_complete()

template<typename REQ , typename RESP >
void axi::axi_extension< REQ, RESP >::set_response_array_complete ( bool  complete = true)
inline

set the flag indicating the all read responses are collected

Parameters
theflag value

Definition at line 1612 of file axi_tlm.h.


The documentation for this struct was generated from the following file: