AXI4-关于交易,数据传输,突发和节拍的解释

时间:2016-08-30 09:55:00

标签: protocols system-verilog amba

我对上述概念之间的关系感到困惑。

爆发只是一种AXI交易>可以花更多的时钟交易吗?

什么是节拍?它包含地址和数据吗?

1 个答案:

答案 0 :(得分:1)

读取和写入略有不同。

对于读取(更简单的情况),单个"事务"由主设备询问某个地址(在RA信道上)和从设备响应该地址(在R信道上)的数据或错误组成。奴隶的反应可能采取“爆发”的形式。跨越几个节拍。请求和回复可以(并且实际上通常)分开许多时钟周期。其中一个原因是,从机可能经常需要做一些工作来查询所请求地址的数据,这项工作可能需要几个时钟周期。

例如,假设主设备要从从设备读取64字节的数据。整个单一事务包括请求和获取这64字节的数据。但是假设用于传输数据的数据总线只有16个字节(因为它越宽,占用的空间就越多等)。在这种情况下,从器件一次只能发送主16字节的数据。因此,为了获得所有64个字节,主设备(通常)一次要求16个字节的数据,四次,总共64个字节。整个过程需要一个请求(在RA信道上)和四个响应(在R信道上),每个响应提供16个字节的答案。

通常在RA请求和R响应数据的第一拍之间经过许多时钟周期。通常,随后的R节拍将在第一个R节拍之后到达后续周期,但这不是必需的。实际的请求/回复仅在主/从之间每次成功的AXI握手时发生,这允许每个代理在准备就绪时告诉对方。

写入的情况类似:单个事务由主设备发送要在WA通道上写入的地址和要在W通道上写入的数据,然后等待来自B通道上的从设备的响应。同样,如果我们想要写入比数据总线允许的宽度更多的字节,我们可能需要将写入数据分成多个节拍,这些节拍仍然是单个事务的一部分。