AXI4 协议 中地址的计算方式

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)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eachanm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值