Tutorials

Protocols

Learn More

AXI request attributes tell the downstream system how to treat the transaction. These attributes affect buffering, cache lookup, cache allocation, protection, physical address space, encryption context, region decode, and QoS.

Before the detailed tables, keep this term map in mind:

TermMeaning
Downstream systemThe interconnect, cache, memory controller, bridge, or endpoint that receives the request after the Manager issues it.
AttributeExtra request information that tells downstream logic how the transaction is allowed to behave. The address says where; the attributes say how.
BufferingAllowing an intermediate component to accept a write and respond before the final endpoint has completed the write.
Cache lookupChecking whether data is already present in a cache instead of always going to final memory.
Cache allocationAllowing a cache to create a new cache entry for the transaction.
ModifiableAllows permitted interconnect transformations such as splitting, merging, widening, or changing selected attributes.
Non-modifiableKeeps the key transaction properties fixed so the request behaves like a direct access.
ShareabilityDescribes whether other agents or caches can share the memory location and therefore whether coherency rules matter.
ProtectionDescribes privilege, instruction/data intent, and physical address space.
Physical address spaceA security or isolation category for the physical address, such as Secure, Non-secure, Root, or Realm.
RegionExtra decode information for multiple logical regions behind one interface.
QoSQuality of Service. A priority hint used by arbitration and scheduling logic.

Subordinate types

The specification distinguishes Memory Subordinates from Peripheral Subordinates.

Subordinate typeProtocol expectation
Memory SubordinateRequired to handle all transaction types correctly.
Peripheral SubordinateHas an implementation-defined access method, usually described in the component documentation. Unsupported accesses must complete in a protocol-compliant manner, but correct peripheral operation after such accesses is not guaranteed.

This distinction matters because transactions that are legal for memory can be unsafe for a peripheral. For example, a Modifiable transaction can be split, merged, or transformed by interconnect logic. That is usually inappropriate for a peripheral register access.

 

Memory attributes

AWCACHE and ARCACHE, collectively called AxCACHE, describe memory behavior. The bits are:

BitMeaning
AxCACHE[0]Bufferable
AxCACHE[1]Modifiable
AxCACHE[2] and AxCACHE[3]Allocate and Other Allocate hints. The read/write bit positions differ for Allocate and Other Allocate.

Bufferable affects when a write response can be returned and where read data can be sourced. Modifiable affects whether a transaction can be split, merged, resized, or otherwise transformed.

Modifiable, AxCACHE[1]

A Non-modifiable transaction must not be split or merged with other transactions. Its address, size, length, burst type, and protection attributes are fixed. AxCACHE can only be changed in a limited way to convert Bufferable to Non-bufferable. IDs and QoS values can be changed.

A Modifiable transaction can be split, merged, widened, or otherwise transformed, but not in a way that violates visibility, address-space, cache lookup, or atomicity requirements. An interconnect can fetch more data for a read, or perform a larger write with WSTRB limiting which bytes are updated.

The key design rule is simple: use Non-modifiable behavior for Device/peripheral-like operations, and use Modifiable behavior where memory-system optimization is permitted.

Memory types

The combination of AxCACHE bits defines memory type. The most important categories are:

Memory typeKey behavior
Device Non-bufferableWrite response and read data come from final destination. Non-modifiable. No prefetch. No write merging.
Device BufferableWrite response can come from an intermediate point, but write must reach final destination in a timely manner. Reads come from final destination. Non-modifiable.
Normal Non-cacheable Non-bufferableWrite response and read data come from final destination. Modifiable. Write merging is allowed.
Normal Non-cacheable BufferableWrite response can be intermediate. Reads can come from final destination or a progressing write. Modifiable.
Write-ThroughWrite must become visible at final destination in a timely manner. Reads can come from cached copies. Cache lookup required.
Write-BackWrite is not required to become visible at final destination immediately. Reads can come from cached copies. Cache lookup required.

Mismatched cacheability or shareability attributes for the same memory region can cause software protocol errors. A system must not deadlock because of such an error, but coherency and data correctness can be lost. A hardware protocol error, by contrast, has no required recovery behavior.

Protection attributes

Protection attributes identify privilege, instruction/data intent, and physical address space.

Signal groupMeaning
AxPROTTraditional protection attributes.
AxNSEExtends AxPROT[1] when RME is used.
AxPRIVPrivileged or unprivileged access. Supersedes AxPROT[0] when present.
AxINSTInstruction or data access. Supersedes AxPROT[2] when present.
AxPASPhysical Address Space. Supersedes AxPROT/AxNSE PAS encoding when present.

An interface must not include both AxPAS and the AxPROT/AxNSE PAS signaling form. If PROT_Present is True, PAS_WIDTH must be zero and INSTPRIV_Present must be False.

Physical address spaces include Secure, Non-secure, Root, Realm, System Agent, and Non-secure Protected. Root and Realm are associated with RME. System Agent and Non-secure Protected are associated with GDI.

Realm Management Extension

Realm Management Extension extends memory protection by adding Root and Realm physical address spaces.

Granular Data Isolation

Granular Data Isolation adds the System Agent and Non-secure Protected physical address spaces. If GDI is supported, RME must also be supported, PAS_WIDTH must be 3, and untranslated transaction support must be either absent or version 4.

Memory Encryption Contexts

Memory Encryption Contexts associate Realm, System Agent, or Non-secure Protected accesses with a memory encryption context ID. AxMECID is present when MEC is supported. Secure, Non-secure, and Root physical address spaces must use MECID zero. Realm, System Agent, and Non-secure Protected accesses can use MECID values when supported.

Caches that store data associated with MECID must preserve that MECID and provide it on write-back. For GDI address spaces, MECID mismatch behavior must not leak confidential data.

Multiple region interfaces

AxREGION is a 4-bit region identifier used downstream of an address decode function. It can identify up to 16 logical regions behind one physical interface. It does not create a new independent address space; it is additional decode information.

QoS signaling

AxQOS is a 4-bit Quality of Service identifier. The protocol recommends treating higher values as higher priority, but the exact system-level policy is implementation-defined. AXI ordering rules take precedence over QoS. Optional VAWQOSACCEPT and VARQOSACCEPT signals let a Subordinate indicate the minimum QoS value it accepts without significant delay.