AXI的burst模式一共有三种:fixed(固定)、incrementing(递增)、wrapping(循环)
1.几个基本概念
burst:axi总线的突发传输,只需要指定一个起始地址,可以连续的传输多个数据,这样大大提高了总线使用效率,ddr中也有类似的操作
transfer:在一个burst,只有一个地址操作节拍,但是有多个数据操作节拍,每个数据节拍称作一个transfer
2.fixed(固定)
指定一个地址,后续多个trasnsfer操作的都是这个地址,多用于fifo的读写,transfer数量最多16个。
3.incrementing(递增)
指定一个起始地址,后续transfer操作所对应的地址依次递增。这种burst较为常见,因为大多数存储空间都是线性存储的,这种burst方式有利于连续读取线性存储空间。
3.wrapping(循环)
指定一个地址,命名叫wrap boundary(循环边界),并且已知burst length,也就是有多少个transfer,每个transfer的size是多大,如果transfer的操作对应地址超过了wrap boundary+burst length*size,则下一个transfer所操作的地址循环至wrap boundary。burst的起始地址可以大于wrap boundary。多用于缓存队列的读写操作。这里有个限制就是,wrap boundary必须与burst length*size对齐,比如说burst length*size=128,则wrap boundary就只能是128的倍数。
4.burst模式的选择