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

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐