scc
2022.4.0
SystemC components library
|
#include <axi_tlm.h>
Public Member Functions | |
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 | |
Protected Types | |
enum | { BUFFERABLE = 1 , CACHEABLE = 2 , RA = 4 , WA = 8 , EXCL = 1 , LOCKED = 2 , PRIVILEGED = 1 , SECURE = 2 , INSTRUCTION = 4 } |
Protected Member Functions | |
request & | operator= (const request &o) |
Protected Attributes | |
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()} |
The request part of AXI3, AXI4 and ACE transactions. All member data are stored in this class to allow easy reuse of free'd memory and prevent memory fragmentation. The request class holds the data in a similar representation than in the HW implementation. Derived classes are not expected to add data member, they only add interpretation of bits and fields as member functions
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |