AMBA_AXI Protocol_Burst Address

AXI Protocol_Burst Address

Burst Address(Bus地址)

1. Burst 地址
2. Byte lane

本节提供确定突发内传输的地址和字节选通(byte lane)的方法。方程使用以下变量:

  • Start_Address:由主机发出的起始地址。
  • Number_Bytes :每次数据传输的最大字节数。
  • Data_Bus_Bytes:数据总线中字节选通的数目 。
  • Aligned_Address :起始地址的对齐版本 。
  • Burst_Length :一次突发内数据传输的总数。
  • Address_N :传输N的地址。对于突发中的第一次传输,N = 1 。
  • Wrap_Boundary:WRAP突发内的最低地址。
  • Lower_Byte_Lane:传输中最低地址字节的字节选通。
  • Upper_Byte_Lane:传输中最高寻址字节的字节选通。
  • INT(x) :x的舍入整数值。

1. Burst 地址

  • 这些方程确定了一个突发内的传输地址:
    Start_Address = AxADDR
    Number_Bytes = 2 ^ AxSIZE
    Burst_Length = AxLEN + 1
    Aligned_Address = (INT(Start_Address / Number_Bytes)) × Number_Bytes

  • 突发中第一次传输的地址: Address_1 = Start_Address

  • 对于INCR突发和地址没有wrapped的WRAP突发,在突发中第一次传输之后的任何传输的地址: Address_N = Aligned_Address + (N – 1) × Number_Bytes

  • 对于WRAP突发,Wrap_Boundary变量定义了WRAP边界: Wrap_Boundary = (INT(Start_Address / (Number_Bytes × Burst_Length)))× (Number_Bytes × Burst_Length)

  • 对于WRAP突发,如果Address_N = Wrap_Boundary + (Number_Bytes × Burst_Length),则:

    • 当前传输地址: Address_N = Wrap_Boundary
    • 后续传输地址: Address_N = Start_Address + ((N - 1) × Number_Bytes) - (Number_Bytes× Burst_Length)

2. Byte lane

  • 在突发中第一次传输使用的字节选通:

    • Lower_Byte_Lane = Start_Address - (INT(Start_Address / Data_Bus_Bytes)) × Data_Bus_Bytes
    • Upper_Byte_Lane = Aligned_Address + (Number_Bytes - 1)
      -(INT(Start_Address / Data_Bus_Bytes)) × Data_Bus_Bytes
  • 在一次突发中第一次传输之后所有传输使用的字节选通:

    • Lower_Byte_Lane = Address_N - (INT(Address_N / Data_Bus_Bytes)) ×Data_Bus_Bytes
    • Upper_Byte_Lane = Lower_Byte_Lane + Number_Bytes - 1
  • 数据在以下情况下传输: DATA((8 × Upper_Byte_Lane) + 7: (8 × Lower_Byte_Lane))

  • Transaction container描述了在该事务中可以访问的所有字节,如果地址对齐并且strobes有效:
    Container_Size = Number_Bytes x Burst_Length

  • 对于INCR bursts:

    • Container_Lower = Aligned_Address
    • Container_Upper = Aligned_Address + Container_Size
  • 对于WRAP bursts:

    • Container_Lower = Wrap_Boundary
    • Container_Upper = Wrap_Boundary + Container_Size

[参考资料] IHI0022H_c_amba_axi_protocol_spec

【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值