AXI4 协议 中,地址的计算方式取决于 数据位宽(Data Width)突发长度(Burst Length)。根据你的描述:

  • 数据位宽(Data Width): 128 bit(16 Byte)
  • 突发长度(Burst Length): 128
  • 初始地址(Starting Address): 0x0

地址计算方式

AXI4 的 地址增量(Address Increment) 由以下公式决定:
[
\text{Next_Address} = \text{Current_Address} + (\text{Burst_Length} \times \text{Data_Width_Bytes})
]
其中:

  • Data_Width_Bytes = 128 bit / 8 = 16 Byte
  • Burst_Length = 128

所以,完成一次突发传输后,下一个突发的起始地址 应该是:
[
\text{Next_Address} = 0 + (128 \times 16) = 2048 \ (\text{0x800})
]

验证地址对齐

AXI4 要求 地址必须对齐到数据宽度,即:

  • 对于 128-bit(16 Byte) 数据,地址必须是 16 的倍数(即最低 4 位为 0)。
  • 你的初始地址 0x0 和计算出的 0x800 都满足对齐要求。

总结

  • 当前突发传输范围0x00x7FF(共 128 × 16 = 2048 Byte)
  • 下一次突发起始地址0x800(2048)
  • 地址增量(addr += ?)2048(即 128 × 16

特殊情况

如果 突发类型(Burst Type)固定地址(FIXED),则地址不会改变(适用于 FIFO 场景)。但通常 AXI4 传输使用 增量突发(INCR),所以上述计算适用。

如果你遇到 地址错误,请检查:

  1. AWADDR 是否对齐到 16 Byte。
  2. 突发类型(Burst Type) 是否为 INCR(默认是增量突发)。
  3. 突发长度(Burst Length) 是否正确(AXI4 最大支持 256,但你的 IP 可能限制为 128)。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐