AXI Protocol_Transaction Identifiers
Transaction Identifiers(事务标识符)
1. AXI事务标识符简介
2. ID信号
. 读数据顺序
. 写数据顺序
. 使用事务标识符的互联
1. AXI事务标识符简介
- AXI协议包含AXI事务标识符(AXI ID),主机可以使用这个区分需要按序返回的事务。
- 所有的事务对于给定的AXI ID必须保证顺序,但是对于具有不同ID值的事务的排序没有限制。这意味着单个物理端口可以支持乱序事务(out-of-order transactions),并据此模拟出多个逻辑端口,其中每个端口都是按序端口。
- 使用AXI ID,主机可以在前面事务未完成的时候就发送新的事务,这可以提升系统效率,因为它允许事务的并行处理。
注意:- 并没有要求主机和从从机一定使用AXI事务ID,主机和从机可以同时只处理一个事务,这意味着所有的事务都是按序的。
- 从机返回的BID和RID必须和主机发出的AXI ID一致。
2. ID信号
每个事务都有它自己的事务ID。指定的信号如下:
Note:1. WID信号只在AXI3中实现;2. AXI4协议支持基于使用AXI ID 事务标识符的扩展顺序模型
-
读数据顺序
从机必须确保任何返回数据的RID值与它正在响应的地址的ARID值匹配。
互连必须确保主机按照发出的地址的顺序,接收来自不同的从机,但是具有相同的ARID值的事务序列的读取数据。
读数据重排序深度是指从机中可被重排序的暂挂地址的数量。一个按顺序处理所有事务的从机事务的读数据重排序深度为1。读数据重排序深度是一个静态值,由从机的设计者指定。
主机不能使用任何机制来确定从机的读数据重排序深度 -
写数据顺序
主机必须以与发出事务地址相同的顺序发出写数据。
结合来自不同主机的写事务的互连必须确保它按照地址顺序转发写数据。
在AXI3中允许使用不同id的写数据交错,但在AXI4和更高版本中不支持。 -
使用事务标识符的互联
当主机连接到互连器时,互连器向ARID、AWID和WID标识符附加额外的位,这对主机端口来说是唯一的标识符。这有两个影响:
- 主机不需要知道其他主机使用的ID值,因为互连通过将主机编号附加到原始标识符,使每个主机使用的ID值是唯一的。
- 从机接口的ID标识符比主机接口的ID标识符宽。
对于读取数据:互连器使用RID标识符的附加位来确定读取数据的目的地是哪个主机端口。在将RID值传递给正确的主机端口之前,互连器会删除RID标识符的这些位。
对于写响应:互连器使用BID标识符的附加位来确定写响应的目的地是哪个主机端口。在将BID值传递给正确的管理器端口之前,互联器将移除BID标识符的这些位。
[参考资料] IHI0022H_c_amba_axi_protocol_spec
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~