Hi.
I have a 16-byte AXI4 data bus.
I want to read 3 bytes, and there's a limitation to only use INCR burst.
I know that AXI only supports 1,2,4,8, etc byte-size bursts, but I have another module to receive the data from AXI and extract only the desired 3 bytes.
Length 0 (1 beat) is enough obviously.
Let's say the read address is 0x4a7a.
My question is, what is the correct ARSIZE for this read request?
I originally thought that SIZE = 0x2 (4 bytes) is the answer, exemplified below:
this Access is not aligned.
But I guess that SIZE = 0x3 (8 bytes) is also possible:
this Access is not aligned as well
Is there one better than the other? is one of them illegal?
Thanks
Note that nowhere does any spec say that "narrow burst is not recommended", so the start of the above post is misleading !
Obviously if you use narrow transfers they are not utilising the full width of the data bus, so are not maximising possible bandwidth, but they are supported for the very reason the original poster was asking about, when data narrower than the data bus width is required.
And yes, AXI4-lite does not support narrow transfers as there is no AxSIZE, but again that isn't relevant here as the original post was asking about AXI4.