AXI Conversion Examples - 1.0 English

Versal ACAP Programmable Network on Chip and Integrated Memory Controller LogiCORE IP Product Guide (PG313)

Document ID
PG313
Release Date
2022-12-14
Version
1.0 English

This section describes examples of AXI conversion. In the examples, the green boxes represent unused data bytes and yellow boxes represent data bytes of interest.

In AXI conversion, because there could be upsizing from the AxSize of the master to the AxSize of the NoC, or upsizing from the AxSize of the NoC to the AxSize of the slave, read data over-fetch might occur in the NoC slave. It is assumed that read data over-fetch would not cause any side effect in the NoC slave. For write data, the NMU and NSU are responsible for creating correct write strobes.

In example 1, the NMU receives a request with AxBurst = WRAP and AxSize = 4 (128-bit). The request is transferred as is from the NMU through the NoC Channel to the NSU.

Example 1

WRAP (Behaves as non-modifiable INCR without downsize capability)

Applies to NoC Master / NoC Channel / NoC Slave

Table 1. Interface Width = 128-bit, AxSize = 4 (128-bit), AxLen = 4 (4), AxBurst = WRAP, AxAddr = 0x10
Start Addr \ Byte 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0x10                                
0x20                                
0x30                                
0x00                                

Example 2

In Example 2, the NMU receives a request with AxBurst = WRAP and AxSize = 3 (64-bit). The request is converted to a modifiable/non-modifiable INCR burst in the NMU and is sent through the NoC channel to the NSU.

WRAP (converted to Modifiable/Non-modifiable INCR)

NoC Master
Table 2. Interface Width = 128-bit, AxSize = 3 (64-bit), AxLen = 7 (8), AxBurst = WRAP, AxAddr = 0x18
Start Addr \ Byte 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0x18                                
0x20                                
0x28                                
0x30                                
0x38                                
0x00                                
0x08                                
0x10                                
NoC Channel, no chop needed
Table 3. Interface Width = 128-bit, AxSize = 4 (128-bit), AxLen = 3 (4), AxBurst = INCR, AxAddr = 0x00
Start Addr \ Byte 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0x00                                
0x10                                
0x20                                
0x30                                
NoC Slave
Table 4. Interface Width = 64-bit, AxSize = 3 (64-bit), AxLen = 7 (8), AxBurst = INCR, AxAddr = 0x00
Start Addr \ Byte 7 6 5 4 3 2 1 0
0x00                
0x08                
0x10                
0x18                
0x20                
0x28                
0x30                
0x38