scc 2025.09
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])
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])
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])
bool is_modifiable () const
 get the modifiable bit of AxCACHE (AxCACHE[1]) return the modifiable bit
void set_other_allocate (bool=true)
 set the read allocate/write other allocate bit of AxCACHE (AxCACHE[2])
bool is_other_allocate () const
 get the read allocate/write other allocate bit of AxCACHE (AxCACHE[2]) return the read_other_allocate bit
void set_allocate (bool=true)
 set the write allocate/read other allocate bit of AxCACHE (AxCACHE[3])
bool is_allocate () const
 get the write allocate/read other allocate bit of AxCACHE (AxCACHE[3]) return the write_other_allocate bit
void set_cacheable (bool=true)
 set the modifiable bit of AxCACHE (AxCACHE[1])
bool is_cacheable () const
 get the modifiable bit of AxCACHE (AxCACHE[1]) return the modifiable bit
void set_read_allocate (bool=true)
 set the read allocate/write other allocate bit of AxCACHE (AxCACHE[2])
bool is_read_allocate () const
 get the read allocate/write other allocate bit of AxCACHE (AxCACHE[2]) return the read_other_allocate bit
void set_write_allocate (bool=true)
 set the write allocate/read other allocate bit of AxCACHE (AxCACHE[3])
bool is_write_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
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 AXI4 specific interpretation of request data members

Definition at line 478 of file axi_tlm.h.

Member Function Documentation

◆ is_allocate()

bool axi::axi4::is_allocate ( ) const
inline

get the write allocate/read other allocate bit of AxCACHE (AxCACHE[3]) return the write_other_allocate bit

Definition at line 1398 of file axi_tlm.h.

◆ is_bufferable()

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

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

Definition at line 1380 of file axi_tlm.h.

◆ is_cacheable()

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

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

Definition at line 1416 of file axi_tlm.h.

◆ is_exclusive()

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

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

Definition at line 1371 of file axi_tlm.h.

◆ is_modifiable()

bool axi::axi4::is_modifiable ( ) const
inline

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

Definition at line 1389 of file axi_tlm.h.

◆ is_other_allocate()

bool axi::axi4::is_other_allocate ( ) const
inline

get the read allocate/write other allocate bit of AxCACHE (AxCACHE[2]) return the read_other_allocate bit

Definition at line 1407 of file axi_tlm.h.

◆ is_read_allocate()

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

get the read allocate/write other allocate bit of AxCACHE (AxCACHE[2]) return the read_other_allocate bit

Definition at line 1434 of file axi_tlm.h.

◆ is_write_allocate()

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

get the write allocate/read other allocate bit of AxCACHE (AxCACHE[3]) return the write_other_allocate bit

Definition at line 1425 of file axi_tlm.h.

◆ 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_allocate()

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

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

Parameters
thewrite_other_allocate bit

Definition at line 1391 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 1373 of file axi_tlm.h.

◆ set_cacheable()

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

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

Parameters
themodifiable bit

Definition at line 1409 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 1369 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 1382 of file axi_tlm.h.

◆ set_other_allocate()

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

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

Parameters
theread_other_allocate bit

Definition at line 1400 of file axi_tlm.h.

◆ set_read_allocate()

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

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

Parameters
theread_other_allocate bit

Definition at line 1427 of file axi_tlm.h.

◆ set_write_allocate()

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

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

Parameters
thewrite_other_allocate bit

Definition at line 1418 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