scc  2022.4.0
SystemC components library
axi::axi4_extension Struct Reference

#include <axi_tlm.h>

Inheritance diagram for axi::axi4_extension:
Collaboration diagram for axi::axi4_extension:

Public Member Functions

 axi4_extension ()=default
 the default constructor
 
 axi4_extension (const axi4_extension *o)
 the copy constructor More...
 
tlm::tlm_extension_base * clone () const override
 the clone function to create deep copies of More...
 
void copy_from (tlm::tlm_extension_base const &ext) override
 deep copy all values from ext More...
 
- Public Member Functions inherited from axi::axi_extension< axi4 >
 axi_extension ()=default
 the default constructor
 
 axi_extension (const axi_extension< axi4, response > *)
 the copy constructor More...
 
virtual ~axi_extension ()
 
void reset ()
 reset all data member to their default
 
void reset (const axi4 *)
 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::axi4
axi4operator= (const axi4 &o)
 
void set_exclusive (bool=true)
 get the exclusive bit of AxLOCK (AxLOCK[0]) More...
 
bool is_exclusive () const
 get the exclusive bit of AxLOCK (AxLOCK[0]) return the exclusive bit
 
void set_bufferable (bool=true)
 set the bufferable bit of AxCACHE (AxCACHE[0]) More...
 
bool is_bufferable () const
 get the bufferable bit of AxCACHE (AxCACHE[0]) return the bufferable bit
 
void set_modifiable (bool=true)
 set the modifiable bit of AxCACHE (AxCACHE[1]) More...
 
bool is_modifiable () const
 get the modifiable bit of AxCACHE (AxCACHE[1]) return the modifiable bit
 
void set_read_other_allocate (bool=true)
 set the read allocate/write other allocate bit of AxCACHE (AxCACHE[2]) More...
 
bool is_read_other_allocate () const
 get the read allocate/write other allocate bit of AxCACHE (AxCACHE[2]) return the read_other_allocate bit
 
void set_write_other_allocate (bool=true)
 set the write allocate/read other allocate bit of AxCACHE (AxCACHE[3]) More...
 
bool is_write_other_allocate () const
 get the write allocate/read other allocate bit of AxCACHE (AxCACHE[3]) return the write_other_allocate bit
 
- Public Member Functions inherited from axi::request
 request ()=default
 the default constructor
 
void reset ()
 reset all data member to their default
 
void set_length (uint8_t)
 set the AxLEN value of the transaction, the value denotes the burst length - 1 More...
 
uint8_t get_length () const
 get the AxLEN value of the transaction, the value denotes the burst length - 1 More...
 
void set_size (uint8_t)
 get the AxSIZE value of the transaction, the length is 2^size. It needs to be less than 10 (512 bit width) More...
 
uint8_t get_size () const
 set the AxSIZE value of the transaction More...
 
void set_burst (burst_e)
 set the AxBURST value, More...
 
burst_e get_burst () const
 get the AxBURST value, More...
 
void set_prot (uint8_t)
 set the AxPROT value as POD, only values from 0...7 are allowed More...
 
uint8_t get_prot () const
 set the AxPROT value as POD, only values from 0...7 are allowed More...
 
void set_privileged (bool=true)
 set the privileged bit of the AxPROT (AxPROT[0]) More...
 
bool is_privileged () const
 get the privileged bit of the AxPROT (AxPROT[0]) More...
 
void set_non_secure (bool=true)
 set the non-secure bit of the AxPROT (AxPROT[1]) More...
 
bool is_non_secure () const
 set the non-secure bit of the AxPROT (AxPROT[1]) More...
 
void set_instruction (bool=true)
 set the instruction bit of the AxPROT (AxPROT[2]) More...
 
bool is_instruction () const
 set the instruction bit of the AxPROT (AxPROT[2]) More...
 
void set_cache (uint8_t)
 set the AxCACHE value as POD, only value from 0..15 are allowed More...
 
uint8_t get_cache () const
 get the AxCACHE value as POD More...
 
void set_qos (uint8_t)
 set the AxQOS (quality of service) value More...
 
uint8_t get_qos () const
 get the AxQOS (quality of service) value More...
 
void set_region (uint8_t)
 set the AxREGION value More...
 
uint8_t get_region () const
 get the AxREGION value More...
 
void set_atop (uint8_t)
 set the raw AWATOP value More...
 
uint8_t get_atop () const
 get the raw AWATOP value return the unique value
 
void set_stash_nid (uint8_t)
 set the raw AWSTASHNID value More...
 
uint8_t get_stash_nid () const
 get the raw AWSTASHNID value return the unique value
 
bool is_stash_nid_en () const
 check if AWSTASHNID is valid return the valid value
 
void set_stash_lpid (uint8_t)
 set the raw AWSTASHLPID value More...
 
uint8_t get_stash_lpid () const
 get the raw AWSTASHLPID value return the unique value
 
bool is_stash_lpid_en () const
 check if AWSTASHLPID is valid return the valid value
 
- 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::request
enum  {
  BUFFERABLE = 1 , CACHEABLE = 2 , RA = 4 , WA = 8 ,
  EXCL = 1 , LOCKED = 2 , PRIVILEGED = 1 , SECURE = 2 ,
  INSTRUCTION = 4
}
 
- Protected Types inherited from axi::response
enum  {
  DATATRANSFER = 1 , SNOOPEERROR = 2 , PASSDIRTY = 4 , ISSHARED = 8 ,
  WASUNIQUE = 16
}
 
- Protected Member Functions inherited from axi::request
requestoperator= (const request &o)
 
- Protected Attributes inherited from axi::common
unsigned id {0}
 
std::array< unsigned, 3 > user {{0, 0, 0}}
 
- Protected Attributes inherited from axi::request
bool unique {false}
 
uint8_t length {0}
 
uint8_t size {0}
 
burst_e burst {burst_e::FIXED}
 
uint8_t prot {0}
 
uint8_t qos {0}
 
uint8_t region {0}
 
domain_e domain {domain_e::NON_SHAREABLE}
 
snoop_e snoop {snoop_e::READ_NO_SNOOP}
 
bar_e barrier {bar_e::RESPECT_BARRIER}
 
lock_e lock {lock_e::NORMAL}
 
uint8_t cache {0}
 
uint8_t atop {0}
 
uint16_t stash_nid {std::numeric_limits<uint16_t>::max()}
 
uint8_t stash_lpid {std::numeric_limits<uint8_t>::max()}
 
- Protected Attributes inherited from axi::response
uint8_t resp {static_cast<uint8_t>(resp_e::OKAY)}
 

Detailed Description

the AXI4 tlm extension class

Definition at line 836 of file axi_tlm.h.

Constructor & Destructor Documentation

◆ axi4_extension()

axi::axi4_extension::axi4_extension ( const axi4_extension o)
inline

the copy constructor

Parameters
theextension to copy from

Definition at line 845 of file axi_tlm.h.

Member Function Documentation

◆ clone()

tlm::tlm_extension_base * axi::axi4_extension::clone ( ) const
inlineoverride

the clone function to create deep copies of

Returns
pointer to heap-allocated extension

Definition at line 1630 of file axi_tlm.h.

◆ copy_from()

void axi::axi4_extension::copy_from ( tlm::tlm_extension_base const &  ext)
inlineoverride

deep copy all values from ext

Parameters
ext

Definition at line 1632 of file axi_tlm.h.


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