scc  2022.4.0
SystemC components library
axi::axi4 Struct Reference

#include <axi_tlm.h>

Inheritance diagram for axi::axi4:
Collaboration diagram for axi::axi4:

Public Member Functions

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
 

Additional Inherited Members

- 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 Member Functions inherited from axi::request
requestoperator= (const request &o)
 
- 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()}
 

Detailed Description

The AXI4 specific interpretation of request data members

Definition at line 478 of file axi_tlm.h.

Member Function Documentation

◆ operator=()

axi4& axi::axi4::operator= ( const axi4 o)
inline

equal operator

Parameters
o
Returns
reference to self

Definition at line 484 of file axi_tlm.h.

◆ set_bufferable()

void axi::axi4::set_bufferable ( bool  bufferable = true)
inline

set the bufferable bit of AxCACHE (AxCACHE[0])

Parameters
thebufferable bit

Definition at line 1328 of file axi_tlm.h.

◆ set_exclusive()

void axi::axi4::set_exclusive ( bool  exclusive = true)
inline

get the exclusive bit of AxLOCK (AxLOCK[0])

Parameters
theexclusive bit

Definition at line 1324 of file axi_tlm.h.

◆ set_modifiable()

void axi::axi4::set_modifiable ( bool  cacheable = true)
inline

set the modifiable bit of AxCACHE (AxCACHE[1])

Parameters
themodifiable bit

Definition at line 1337 of file axi_tlm.h.

◆ set_read_other_allocate()

void axi::axi4::set_read_other_allocate ( bool  roa = true)
inline

set the read allocate/write other allocate bit of AxCACHE (AxCACHE[2])

Parameters
theread_other_allocate bit

Definition at line 1346 of file axi_tlm.h.

◆ set_write_other_allocate()

void axi::axi4::set_write_other_allocate ( bool  woa = true)
inline

set the write allocate/read other allocate bit of AxCACHE (AxCACHE[3])

Parameters
thewrite_other_allocate bit

Definition at line 1355 of file axi_tlm.h.


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