在 AXI 传输事务(Transaction)中,数据以突发传输(Burst)的形式组织。一次突发传输中可以包含一至多个数据(Transfer)。每个 transfer 因为使用一个周期,又被称为一拍数据(Beat)。
单次 burst 传输中的数据,其地址不能跨越 4KB 边界。
协议中之所以规定一个burst不能跨越4K边界是为了避免一笔burst交易访问两个slave(每个slave的地址空间是4K/1K对齐的)4K对齐最大原因是系统中定义一个page大小是4K,而所谓的4K边界是指低12bit为0的地址。
一次突发传输不能在完成所有数据传输前提前结束(early termination)
协议中多次强调,通信双方都不能在传输事务的所有 Transfer 完成前提前结束。哪怕发生错误,也得含泪走完整个传输事务的流程。
但是主机也有办法减少传输的数据。在写传输事务中,发送方可以通过置低所有的写有效位,使写数据无效。在读传输事务中,主机可以直接丢弃读取到的数据。
参考文献:
http://xilinx.eetrend.com/blog/2020/100050727.html
https://zhuanlan.zhihu.com/p/46538028
https://blog.csdn.net/lyfwill/article/details/92797912
https://cloud.tencent.com/developer/article/1669263
https://blog.csdn.net/hit_shaoqi/article/details/53245521