As per spec, the burst length of wrap type should be 2,4,8 or 16. But at the same time it is also mentioned that burst length= AxLEN[7:0] +1, to accommodate the extended burst length of the INCR burst type in AXI4.
If my burst length value is 2 i.e [00000010] for wrap type, is 1 is implicitly added in this if not the we need to add it?
Explain this issue asap.
thanks in advance
If the burst type is WRAP you can only have AxLEN=8'b00000001 (2 transfer), 8'b00000011 (4 transfers), 8'b00000111 (8 transfers) or 8'b00001111 (16 transfers).
8'b00000010 indicates 3 transfers, so would be illegal for a wrapping burst.
The value encoded on AxLEN[7:0] requires you to add 1 to get the actual number of transfers, so giving you a range of between 1 and 256 transfers for INCR transactions (0 to 255 transfers would not make sense).