介绍单个数据项的读取事务的过程

描述

本节详细介绍单个数据项的读取事务的过程,以及用于完成事务的不同通道。

本次写传输涉及以下channel:

Read Address (AR)

Read (R)

首先,在读取地址(AR)通道上进行一次握手,如下图所示:

axi协议

握手具有以下事件序列:

在时钟周期2中,manager将读取的地址传达给ARADDR上的subordinate并断言ARVALID

在时钟周期3中,subordinate断言ARREADY以指示它已准备好接收地址值。

握手在时钟周期4的上升沿完成。

接下来,在读取 (R) 通道上,subordinate将数据传输给经理。下图显示了数据传输过程:

axi协议

数据传输握手具有以下事件序列:

在时钟周期n中,manager通过置位RREADY表示它正在等待接收数据。

subordinate检索数据并在时钟周期 n+2 中将其放在RDATA上。在这种情况下,因为这是一个单一的数据事务,subordinate也将RLAST信号设置为高。同时,subordinate使用RRESP向manager指示读取事务的成功或失败,并断言RVALID

因为RREADY已经被manager断言,所以握手在时钟周期 n+3 的上升沿完成。

multiple data items

AXI 协议还允许在同一事务中进行多个数据传输的读取突发。这类似于写入事务中描述的写入突发:多个数据项。

下图显示了突发读取传输的示例:

axi协议

在此示例中,我们在AR通道上传输单个地址以传输多个数据项,以及相关的突发宽度和长度信息。

在这里,AR通道表示三个传输的序列,因此在R通道上,我们看到从subordinate到manager的三个数据传输。

R通道上,subordinate将数据传递给manager。

在此示例中,manager正在等待数据,如RREADY设置为高所示。subordinate驱动有效的RDATA并为每次传输断言RVALID

读取事务和写入事务之间的一个区别是对于读取事务,事务中的每个传输都有一个RRESP响应。这是因为,在写事务中,subordinate必须将响应作为单独的传输在B通道上发送。在读取事务中,subordinate使用相同的通道将数据发送回manager并指示读取操作的状态。

如果truncation中的任何transfer指示错误,则truncation的完整指示长度仍必须完成。没有早期突发终止这样的事情。





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分