scc  2022.4.0
SystemC components library
axi::request Struct Reference

#include <axi_tlm.h>

Inheritance diagram for axi::request:

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

requestoperator= (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()}
 

Detailed Description

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

Definition at line 204 of file axi_tlm.h.

Member Function Documentation

◆ get_burst()

burst_e axi::request::get_burst ( ) const
inline

get the AxBURST value,

See also
burst_e
Returns

Definition at line 1393 of file axi_tlm.h.

◆ get_cache()

uint8_t axi::request::get_cache ( ) const
inline

get the AxCACHE value as POD

Returns
the cache value

Definition at line 1439 of file axi_tlm.h.

◆ get_length()

uint8_t axi::request::get_length ( ) const
inline

get the AxLEN value of the transaction, the value denotes the burst length - 1

Returns
the AxLEN value

Definition at line 1382 of file axi_tlm.h.

◆ get_prot()

uint8_t axi::request::get_prot ( ) const
inline

set the AxPROT value as POD, only values from 0...7 are allowed

Returns
the prot value

Definition at line 1400 of file axi_tlm.h.

◆ get_qos()

uint8_t axi::request::get_qos ( ) const
inline

get the AxQOS (quality of service) value

Returns
the qos value

Definition at line 1428 of file axi_tlm.h.

◆ get_region()

uint8_t axi::request::get_region ( ) const
inline

get the AxREGION value

Returns
the region value

Definition at line 1432 of file axi_tlm.h.

◆ get_size()

uint8_t axi::request::get_size ( ) const
inline

set the AxSIZE value of the transaction

Returns
AxSIZE value

Definition at line 1389 of file axi_tlm.h.

◆ is_instruction()

bool axi::request::is_instruction ( ) const
inline

set the instruction bit of the AxPROT (AxPROT[2])

Returns
the instruction bit

Definition at line 1424 of file axi_tlm.h.

◆ is_non_secure()

bool axi::request::is_non_secure ( ) const
inline

set the non-secure bit of the AxPROT (AxPROT[1])

Returns
the non-secure bit

Definition at line 1416 of file axi_tlm.h.

◆ is_privileged()

bool axi::request::is_privileged ( ) const
inline

get the privileged bit of the AxPROT (AxPROT[0])

Returns
the privileged value

Definition at line 1408 of file axi_tlm.h.

◆ operator=()

request& axi::request::operator= ( const request o)
inlineprotected

equal operator

Parameters
o
Returns
reference to self

Definition at line 356 of file axi_tlm.h.

◆ set_atop()

void axi::request::set_atop ( uint8_t  atop)
inline

set the raw AWATOP value

Parameters
theatop value

Definition at line 1457 of file axi_tlm.h.

◆ set_burst()

void axi::request::set_burst ( burst_e  burst)
inline

set the AxBURST value,

See also
burst_e
Parameters
theburst

Definition at line 1391 of file axi_tlm.h.

◆ set_cache()

void axi::request::set_cache ( uint8_t  cache)
inline

set the AxCACHE value as POD, only value from 0..15 are allowed

Parameters
thecache value

Definition at line 1434 of file axi_tlm.h.

◆ set_instruction()

void axi::request::set_instruction ( bool  instr = true)
inline

set the instruction bit of the AxPROT (AxPROT[2])

Parameters
theinstruction bit

Definition at line 1418 of file axi_tlm.h.

◆ set_length()

void axi::request::set_length ( uint8_t  length)
inline

set the AxLEN value of the transaction, the value denotes the burst length - 1

Parameters
thelen value

Definition at line 1380 of file axi_tlm.h.

◆ set_non_secure()

void axi::request::set_non_secure ( bool  non_sec = true)
inline

set the non-secure bit of the AxPROT (AxPROT[1])

Parameters
thenon-secure bit

Definition at line 1410 of file axi_tlm.h.

◆ set_privileged()

void axi::request::set_privileged ( bool  privileged = true)
inline

set the privileged bit of the AxPROT (AxPROT[0])

Parameters
theprivileged value

Definition at line 1402 of file axi_tlm.h.

◆ set_prot()

void axi::request::set_prot ( uint8_t  prot)
inline

set the AxPROT value as POD, only values from 0...7 are allowed

Parameters
theprot value

Definition at line 1395 of file axi_tlm.h.

◆ set_qos()

void axi::request::set_qos ( uint8_t  qos)
inline

set the AxQOS (quality of service) value

Parameters
theqos value

Definition at line 1426 of file axi_tlm.h.

◆ set_region()

void axi::request::set_region ( uint8_t  region)
inline

set the AxREGION value

Parameters
theregion value

Definition at line 1430 of file axi_tlm.h.

◆ set_size()

void axi::request::set_size ( uint8_t  size)
inline

get the AxSIZE value of the transaction, the length is 2^size. It needs to be less than 10 (512 bit width)

Parameters
sizevalue of AxSIZE

Definition at line 1384 of file axi_tlm.h.

◆ set_stash_lpid()

void axi::request::set_stash_lpid ( uint8_t  stash_lpid)
inline

set the raw AWSTASHLPID value

Parameters
theatop value

Definition at line 1467 of file axi_tlm.h.

◆ set_stash_nid()

void axi::request::set_stash_nid ( uint8_t  stash_nid)
inline

set the raw AWSTASHNID value

Parameters
theatop value

Definition at line 1461 of file axi_tlm.h.


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