Package axi_pkg

Contains all necessary type definitions, constants, and generally useful functions.

Parameters

BurstWidth: int unsigned

AXI Transaction Burst Width.

RespWidth: int unsigned

AXI Transaction Response Width.

CacheWidth: int unsigned

AXI Transaction Cacheability Width.

ProtWidth: int unsigned

AXI Transaction Protection Width.

QosWidth: int unsigned

AXI Transaction Quality of Service Width.

RegionWidth: int unsigned

AXI Transaction Region Width.

LenWidth: int unsigned

AXI Transaction Length Width.

SizeWidth: int unsigned

AXI Transaction Size Width.

LockWidth: int unsigned

AXI Lock Width.

AtopWidth: int unsigned

AXI5 Atomic Operation Width.

NsaidWidth: int unsigned

AXI5 Non-Secure Address Identifier.

BURST_FIXED:

In a fixed burst:

This burst type is used for repeated accesses to the same location such as when loading or

emptying a FIFO.

BURST_INCR:

In an incrementing burst, the address for each transfer in the burst is an increment of the

address for the previous transfer. The increment value depends on the size of the transfer.

For example, the address for each transfer in a burst with a size of 4 bytes is the previous

address plus four.

This burst type is used for accesses to normal sequential memory.

BURST_WRAP:

A wrapping burst is similar to an incrementing burst, except that the address wraps around to

a lower address if an upper address limit is reached.

The following restrictions apply to wrapping bursts:

RESP_OKAY:

Normal access success. Indicates that a normal access has been successful. Can also indicate

that an exclusive access has failed.

RESP_EXOKAY:

Exclusive access okay. Indicates that either the read or write portion of an exclusive access

has been successful.

RESP_SLVERR:

Slave error. Used when the access has reached the slave successfully, but the slave wishes to

return an error condition to the originating master.

RESP_DECERR:

Decode error. Generated, typically by an interconnect component, to indicate that there is no

slave at the transaction address.

CACHE_BUFFERABLE:

When this bit is asserted, the interconnect, or any component, can delay the transaction

reaching its final destination for any number of cycles.

CACHE_MODIFIABLE:

When HIGH, Modifiable indicates that the characteristics of the transaction can be modified.

When Modifiable is LOW, the transaction is Non-modifiable.

CACHE_RD_ALLOC:

When this bit is asserted, read allocation of the transaction is recommended but is not

mandatory.

CACHE_WR_ALLOC:

When this bit is asserted, write allocation of the transaction is recommended but is not

mandatory.

ATOP_ATOMICSWAP:

ATOP_ATOMICCMP:

ATOP_NONE:

Perform no atomic operation.

ATOP_ATOMICSTORE:

ATOP_ATOMICLOAD:

Sends a single data value with an address and the atomic operation to be performed.

ATOP_LITTLE_END:

For AtomicStore and AtomicLoad transactions AWATOP[3] indicates the endianness that is

required for the atomic operation. The value of AWATOP[3] applies to arithmetic operations

only and is ignored for bitwise logical operations.

When deasserted, this bit indicates that the operation is little-endian.

ATOP_BIG_END:

When asserted, this bit indicates that the operation is big-endian.

ATOP_ADD:

The value in memory is added to the sent data and the result stored in memory.

ATOP_CLR:

Every set bit in the sent data clears the corresponding bit of the data in memory.

ATOP_EOR:

Bitwise exclusive OR of the sent data and value in memory.

ATOP_SET:

Every set bit in the sent data sets the corresponding bit of the data in memory.

ATOP_SMAX:

The value stored in memory is the maximum of the existing value and sent data. This operation

assumes signed data.

ATOP_SMIN:

The value stored in memory is the minimum of the existing value and sent data. This operation

assumes signed data.

ATOP_UMAX:

The value stored in memory is the maximum of the existing value and sent data. This operation

assumes unsigned data.

ATOP_UMIN:

The value stored in memory is the minimum of the existing value and sent data. This operation

assumes unsigned data.

ATOP_R_RESP:

DemuxAw: bit [9:0]

Slice on Demux AW channel.

DemuxW: bit [9:0]

Slice on Demux W channel.

DemuxB: bit [9:0]

Slice on Demux B channel.

DemuxAr: bit [9:0]

Slice on Demux AR channel.

DemuxR: bit [9:0]

Slice on Demux R channel.

MuxAw: bit [9:0]

Slice on Mux AW channel.

MuxW: bit [9:0]

Slice on Mux W channel.

MuxB: bit [9:0]

Slice on Mux B channel.

MuxAr: bit [9:0]

Slice on Mux AR channel.

MuxR: bit [9:0]

Slice on Mux R channel.

Types

burst_t

AXI Transaction Burst Width.

resp_t

AXI Transaction Response Type.

cache_t

AXI Transaction Cacheability Type.

prot_t

AXI Transaction Protection Type.

qos_t

AXI Transaction Quality of Service Type.

region_t

AXI Transaction Region Type.

len_t

AXI Transaction Length Type.

size_t

AXI Transaction Size Type.

atop_t

AXI5 Atomic Operation Type.

nsaid_t

AXI5 Non-Secure Address Identifier.

largest_addr_t

An overly long address type.

mem_type_t

Memory Type.

xbar_latency_e

Latency configuration for axi_xbar.

xbar_cfg_t

Configuration for axi_xbar.

xbar_rule_64_t

Commonly used rule types for axi_xbar (64-bit addresses).

xbar_rule_32_t

Commonly used rule types for axi_xbar (32-bit addresses).