Package axi_pkg
Contains all necessary type definitions, constants and generally useful functions.
Parameters
BURST_FIXED
In a fixed burst:
- The address is the same for every transfer in the burst.
- The byte lanes that are valid are constant for all beats in the burst. However, within those byte
lanes, the actual bytes that have
wstrb
asserted can differ for each beat in the 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:
- The start address must be aligned to the size of each transfer.
- The length of the burst must be 2, 4, 8, or 16 transfers.
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
- Sends a single data value with an address.
- The target swaps the value at the addressed location with the data value that is supplied in the transaction.
- The original data value at the addressed location is returned.
- Outbound data size is 1, 2, 4, or 8 bytes.
- Inbound data size is the same as the outbound data size
ATOP_ATOMICCMP
- Sends two data values, the compare value and the swap value, to the addressed location. The compare and swap values are of equal size.
- The data value at the addressed location is checked against the compare value:
- If the values match, the swap value is written to the addressed location.
- If the values do not match, the swap value is not written to the addressed location.
- The original data value at the addressed location is returned.
- Outbound data size is 2, 4, 8, 16, or 32 bytes.
- Inbound data size is half of the outbound data size because the outbound data contains both compare and swap values, whereas the inbound data has only the original data value.
ATOP_NONE
Perform no atomic operation.
ATOP_ATOMICSTORE
- Sends a single data value with an address and the atomic operation to be performed.
- The target performs the operation using the sent data and value at the addressed location as operands.
- The result is stored in the address location.
- A single response is given without data.
- Outbound data size is 1, 2, 4, or 8 bytes.
ATOP_ATOMICLOAD
Sends a single data value with an address and the atomic operation to be performed.
- The original data value at the addressed location is returned.
- The target performs the operation using the sent data and value at the addressed location as operands.
- The result is stored in the address location.
- Outbound data size is 1, 2, 4, or 8 bytes.
- Inbound data size is the same as the outbound data size.
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.
DemuxAw
Slice on Demux AW channel.
DemuxW
Slice on Demux W channel.
DemuxB
Slice on Demux B channel.
DemuxAr
Slice on Demux AR channel.
DemuxR
Slice on Demux R channel.
MuxAw
Slice on Mux AW channel.
MuxW
Slice on Mux W channel.
MuxB
Slice on Mux B channel.
MuxAr
Slice on Mux AR channel.
MuxR
Slice on Mux R channel.
Types
burst_t | AXI Transaction Burst Type. |
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 |
xbar_cfg_t | Configuration for |
xbar_rule_64_t | Commonly used rule types for |
xbar_rule_32_t | Commonly used rule types for |