scc 2025.09
SystemC components library
axi::axi3 Struct Reference

#include <axi_tlm.h>

Inheritance diagram for axi::axi3:
Collaboration diagram for axi::axi3:

Public Member Functions

axi3operator= (const axi3 &o)
void set_exclusive (bool=true)
 get the exclusive bit of AxLOCK (AxLOCK[0])
bool is_exclusive () const
 get the exclusive bit of AxLOCK (AxLOCK[0]) return the exclusive bit
void set_locked (bool=true)
 get the locked bit of AxLOCK (AxLOCK[1])
bool is_locked () const
 get the locked bit of AxLOCK (AxLOCK[1]) return the locked bit
void set_bufferable (bool=true)
 set the bufferable bit of AxCACHE (AxCACHE[0])
bool is_bufferable () const
 get the bufferable bit of AxCACHE (AxCACHE[0]) return the bufferable bit
void set_cacheable (bool=true)
 set the cacheable bit of AxCACHE (AxCACHE[1])
bool is_cacheable () const
 get the cacheable bit of AxCACHE (AxCACHE[1]) return the cacheable bit
void set_write_allocate (bool=true)
 set the write_allocate bit of AxCACHE (AxCACHE[2])
bool is_write_allocate () const
 get the write_allocate bit of AxCACHE (AxCACHE[2]) return the write_allocate bit
void set_read_allocate (bool=true)
 set the read_allocate bit of AxCACHE (AxCACHE[3])
bool is_read_allocate () const
 get the read_allocate bit of AxCACHE (AxCACHE[3]) return the read_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
uint8_t get_length () const
 get the AxLEN value of the transaction, the value denotes the burst length - 1
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)
uint8_t get_size () const
 set the AxSIZE value of the transaction
void set_burst (burst_e)
 set the AxBURST value,
burst_e get_burst () const
 get the AxBURST value,
void set_prot (uint8_t)
 set the AxPROT value as POD, only values from 0...7 are allowed
uint8_t get_prot () const
 set the AxPROT value as POD, only values from 0...7 are allowed
void set_privileged (bool=true)
 set the privileged bit of the AxPROT (AxPROT[0])
bool is_privileged () const
 get the privileged bit of the AxPROT (AxPROT[0])
void set_non_secure (bool=true)
 set the non-secure bit of the AxPROT (AxPROT[1])
bool is_non_secure () const
 set the non-secure bit of the AxPROT (AxPROT[1])
void set_instruction (bool=true)
 set the instruction bit of the AxPROT (AxPROT[2])
bool is_instruction () const
 set the instruction bit of the AxPROT (AxPROT[2])
void set_cache (uint8_t)
 set the AxCACHE value as POD, only value from 0..15 are allowed
uint8_t get_cache () const
 get the AxCACHE value as POD
void set_qos (uint8_t)
 set the AxQOS (quality of service) value
uint8_t get_qos () const
 get the AxQOS (quality of service) value
void set_region (uint8_t)
 set the AxREGION value
uint8_t get_region () const
 get the AxREGION value
void set_atop (uint8_t)
 set the raw AWATOP value
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
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
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 AXI3 specific interpretation of request data members

Definition at line 404 of file axi_tlm.h.

Member Function Documentation

◆ is_bufferable()

bool axi::axi3::is_bufferable ( ) const
inline

get the bufferable bit of AxCACHE (AxCACHE[0]) return the bufferable bit

Definition at line 1340 of file axi_tlm.h.

◆ is_cacheable()

bool axi::axi3::is_cacheable ( ) const
inline

get the cacheable bit of AxCACHE (AxCACHE[1]) return the cacheable bit

Definition at line 1349 of file axi_tlm.h.

◆ is_exclusive()

bool axi::axi3::is_exclusive ( ) const
inline

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

Definition at line 1314 of file axi_tlm.h.

◆ is_locked()

bool axi::axi3::is_locked ( ) const
inline

get the locked bit of AxLOCK (AxLOCK[1]) return the locked bit

Definition at line 1328 of file axi_tlm.h.

◆ is_read_allocate()

bool axi::axi3::is_read_allocate ( ) const
inline

get the read_allocate bit of AxCACHE (AxCACHE[3]) return the read_allocate bit

Definition at line 1367 of file axi_tlm.h.

◆ is_write_allocate()

bool axi::axi3::is_write_allocate ( ) const
inline

get the write_allocate bit of AxCACHE (AxCACHE[2]) return the write_allocate bit

Definition at line 1358 of file axi_tlm.h.

◆ operator=()

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

equal operator

Parameters
o
Returns
reference to self

Definition at line 410 of file axi_tlm.h.

◆ set_bufferable()

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

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

Parameters
thebufferable bit

Definition at line 1333 of file axi_tlm.h.

◆ set_cacheable()

void axi::axi3::set_cacheable ( bool cacheable = true)
inline

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

Parameters
thecacheable bit

Definition at line 1342 of file axi_tlm.h.

◆ set_exclusive()

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

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

Parameters
theexclusive bit

Definition at line 1305 of file axi_tlm.h.

◆ set_locked()

void axi::axi3::set_locked ( bool locked = true)
inline

get the locked bit of AxLOCK (AxLOCK[1])

Parameters
thelocked bit

Definition at line 1319 of file axi_tlm.h.

◆ set_read_allocate()

void axi::axi3::set_read_allocate ( bool ra = true)
inline

set the read_allocate bit of AxCACHE (AxCACHE[3])

Parameters
theread_allocate bit

Definition at line 1360 of file axi_tlm.h.

◆ set_write_allocate()

void axi::axi3::set_write_allocate ( bool wa = true)
inline

set the write_allocate bit of AxCACHE (AxCACHE[2])

Parameters
thewrite_allocate bit

Definition at line 1351 of file axi_tlm.h.


The documentation for this struct was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/third_party/axi_chi/axi/axi_tlm.h