5 AXI架构的五个通道和两种事务

5.1 五个通道

在AXI架构里面一共有五个通道,从读写的角度可以把他们分成了两组来看(AR,R;AW,W,B),从数据和地址控制的角度可以把他们分成(R,W;AR,AW;B):

  • 读地址通道(read address channel)AR
  • 读数据通道(read data address channel)R
  • 写地址通道(write address channel)AW
  • 写数据通道(write data channel)W
  • 写响应通道(write response channel)B

说明1:读/写地址通道(AR AW)

读和写事务都有他们自己的地址通道,这地址通道携带着传输事务所必须的地址和控制信息。

读地址/控制和写地址/控制通道(AR AW):两个通道(对应各自在读或者写处理时候)其实是在传送,需要把(读或者写的)数据放的地址和对应控制信息。

这里强调下,其实只传递了第一个字节数据的地址,也就是起始地址,后续要读或者要写的地址根据控制信息改变(可以暂时理解为控制信息不同就会有不同的地址迭代方式,可能不变可能等幅度递增)。

说明2:读/写数据通道(R W)

读/写数据通道中是想去读/写的数据

读/写数据通道都包括一个LAST信号,用来指明一个事务()传输的最后一个数据。

R的数据总线可以是8,16,32,64,128,256,512,1024bits,还需要注意读响应信号是包含在读数据通道中,和写响应通道不同。读数据通道传送着从slave到master的读数据和读响应信息。读响应信息指明读事务的完成状态。这也就是为什么没有读响应通道的原因(这个我之后在研究一下ZZQ)

写数据通道携带的是master需要写到slave上的数据,同样的我们可以使用8,16,32,64,128,256,512,1024bits的总线位宽。写数据通路传送着master向slave的写数据。每八个数据都会有一个byte lane ,用来指明数据总线上面的哪些byte有效。

说明3:写响应通道B

写响应通道提供了设备响应写事务的一种方式。要求所有写处理都需要返还响应。后面一句话的意思是,通道中的响应信号每一次突发式读写会产生一个。

5.2 读/写事务(transcation)

AXI一共有两种事务,分别就是读事务和写事务。

读/写事务在通道内的示意图

针对这两张图的说明

  • 地址通道(AR和AW):这两个通道内传递的数据都是地址信息和控制信息,这些信息都是表示另外两个对应的数据通道R或者W内真实数据的一些特性,比如地址信息是用来放这些真实数据的位置,控制信息表示应该用什么样的方式放这些数据,或者这些数据的使能、存储等等
  • 写数据通道(W)可以把主设备发下去的数据写给从设备,当发生写处理这个行为时,从设备会通过写响应通道(B)告诉主设备这个写行为的完成情况。同理,读数据通道(R)就是指从从设备把要读的数据发给主设备,读处理时是没有单独的读响应通道,读响应这个操作是在(AR)读地址当中完成的