AXI协议相关概念(一)

猝发(Burst)

拍(beat):在时钟采样沿valid和ready信号同时拉高持续一个时钟周期,即为一拍,持续两个时钟周期,即为两拍,依次类推。可以概括为在时钟采样沿握手信号同时拉高的时钟周期数。
猝发长度(burst_length):表示数据线上valid和ready信号握手次数,burst_length长度为多少,完成一次burst传输地址线就要握手多少次手(有几拍)。
猝发大小(burst_size):表示数据线上传输数据的宽度,单位通常是word(与cpu位宽有关,多少位的cpu,一个word就是多少位),地址线的valid和ready信号每握一次手就发送一个大小为burst_size的数据。
一次猝发传输的数据量:burst_length(一次猝发有多少拍)* burst_size(一拍传输的数据量)。
猝发的类型(burst_type):AXI协议中定义了三种猝发类型(一次猝发传输中如何计算地址)。

  • 固定式(Fixed burst):一次burst传输的地址固定,即每拍都从地址线的address处取数据。
  • 递增式(Incrementing burst):相对于固定式,第一拍从地址线的address处取数据,其后的拍地址自动根据burst_size计算。如32位的CPU上,规定一次burst_length为8beats,burst_size为1个word的传输。第一拍读/写的地址为0x0000,第二拍读/写的地址为0x0004,第三拍读/写的地址为0x0008,最后一拍读/写的地址为0x001C。整个burst传输传输完毕,占据的内存空间为0x0000~0x001F(8*32bit=256bit,即32Byte)。
  • 卷绕式(Wrapping burst):卷绕式猝发的地址与递增式的类似,也是第一拍从地址线的address处取数据,其后的拍地址自动根据burst_size计算。不同的是,当地址到达卷绕的边界后,其后的地址会从最低的地址开始递增,就像将最大的地址和最小的地址重合起来继续计算地址。如同钟表,最小的是0点,最大的是12点,12点和0点重合,当到达12点时也就意味着从0点重新计数,下一个小时是1点。以下讨论卷绕边界:
    卷绕式猝发传输,每次进行传输前会根据地址和猝发的配置计算一个卷绕地址上边界和一个卷绕的下边界(地址线address,burst_length,burst_size等),猝发传输的每拍传输的数据会在卷绕地址下界~卷绕地址上界之间进行传输。卷绕的上/下边界地址计算公式如下:
    下边界地址:Wrapaddr_low = (int(address/(number_byte*burst_len))) * (number_byte*burst_len)
    上边界地址:Wrapaddr_high = Wrapaddr_low + number_byte*burst_len
    注:number_byte即为每拍传输的数据字节数,根据burst_size计算。
    address为猝发传输的起始地址。
    int:为向下取整,即保留商的整数部分。
    举例描述:对于Wrap类型的猝发传输, 32位CPU,burst_length为ddword(4Word,128bit),burst_length为4beat,起始地址address为0x00, 0x10, 0x20, 0x30的传输发生的卷绕情况如下:
    number_byte=128/8=16Byte,起始地址0x00,0x10,0x20,0x30的卷绕上/下界都为0x00,0x40。
    0x00:0x00,0x10,0x20,0x30(不发生卷绕)
    0x10:0x10,0x20,0x30,0x00(发生一次地址越界,卷绕一次)
    0x20:0x20,0x30,0x00,0x10(发生两次地址越界,卷绕两次)
    0x30:0x30,0x00,0x10,0x20(发生三次地址越界,卷绕三次)

参考链接:
1.axi协议
2.https://blog.csdn.net/qq_28284627/article/details/120827729

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ARM AXI(Advanced eXtensible Interface)是一种高级可扩展接口协议,广泛应用于ARM架构的处理器和外设之间的通信。该协议规范定义了在片上系统(SoC)中数据传输和控制信号的标准化方式,提供了一种灵活和高性能的总线接口。 AXI协议规范包含了四种不同类型的信号通道:AXI读通道、AXI写通道、AXI写回通道和AXI错误通道。每个通道都有不同的信号和控制机制,以支持在数据传输过程中的各个阶段进行流水线操作,从而提高系统的吞吐量和效率。 AXI协议规范中的一些重要概念包括传输突发、编址突发和延迟传输。传输突发是指在一次事务中连续传输多个数据。编址突发是指连续的读或写操作,使用相同的地址。延迟传输是指将数据从主设备传递到从设备的过程中,包括等待响应和数据传输的过程。 AXI协议规范还定义了各种转换和信号,用于同步控制和传输数据。例如,AXI控制信号用于控制接收器复位、传输突发的开始和结束等。时钟和复位信号用于同步设备之间的操作。数据信号用于传输实际数据。 通过使用AXI协议规范,系统设计者可以实现高性能、高可靠性和可扩展的通信接口。这种规范化的标准接口减少了系统设计的复杂性,提高了系统的可维护性和可重用性。因此,AXI协议规范在现代ARM处理器和外设之间的通信中扮演着重要角色。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

搬砖小张

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

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

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

打赏作者

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

抵扣说明:

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

余额充值