The following table lists the AXI support and restrictions in the NoC for HBM_NMUs.
|INCR: Support modifiable and non-modifiable transactions with restrictions
|WRAP: Supported with the following restrictions:
|Any other values for AxSizeMaster apart from 2, 3, or 4.
|Supports INCR, WRAP, and FIXED with the restrictions stated in AxBurst
|Non-modifiable transfer with AxSizeSlave > 128 bits is not supported.
|AXI4 - 256
|Exclusive Access is limited to AxBurst == INCR
AXI conversion always sends traffic in non-modifiable INCR for both modifiable and non-modifiable. The AxCache bit is not modified by the NoC.
For AXI4, with Exclusive Access size of 32B/64B/128B, the corresponding AxSizeSlave cannot be less than 2B/4B/8B respectively (that is, downsize chopping in NSU).
|No support for RUSER/WUSER.
BUSER is unused.
The HBM_NMU support the AXI4 protocol. Unlike other NMUs, AXI4-Stream is not supported. Also, the HBM controller supports only INCR and WRAP type AXI burst transactions. Multiple conversions occur between a master request and a response from the AXI slave. NoC data operations are aligned on 16 byte addresses and consist of a n number of 16 byte data flits. The HBM memory, however, is structured to handle 32 bytes (256 bits) of data, 64 bits of DQ per pseudo channel with BL=4. The HBM controller has data FIFOs organized to handle even and odd pairs of 16 byte data flits from the NoC to synchronize the two bus sizes.
It is recommended to have longer bursts to gain higher performance for linear accesses. Undersized AXI writes are supported but they decrease the total system performance. Another consideration is to ensure that the AXI Write and Read addresses are aligned to the HBM physical address space and transaction size. The lower five bits of the AxADDR should be unused to ensure that accesses align to the 32-byte HBM burst boundary. This is because each individual Write or Read transaction on the HBM interface is a burst length of 4 with a DQ bus width of 64 bits, resulting in a total of 32 bytes. The AXI address space is byte aligned, so 32 bytes result in 5 bits of addressing, and these are placed at the bottom of the address bus.