棋子 · 2019年12月18日

AMBA AXI撰写回复2?

如何终止一个读/写突发?规范说我们不能间歇地停止爆发。

     i)主机可以在突发传输期间给WLAST吗?
     ii)从站是否在读取半身像之前断言了RLAST?

如果WLAST和RLAST无法做到上述情况,那么WLAST和RLAST的特殊用途是什么,因为无论如何我们都会得到个人的拍子响应?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2019年12月18日

简单的答案,你不能。

一旦AXI主机指示它将在事务中执行X次传输,它就必须完成X次传输。没有像AHB那样的“早期爆裂终止”概念。

对于写事务,主设备可以完成突发操作,但是将WSTRB位全部驱动为逻辑“ 0”(虚拟访问),这样实际上就没有数据传输到从设备,但是对于读事务,则不存在任何等效操作,因此“真实”的读取访问权限将完成。

i)主机可以在突发传输期间给WLAST吗?

不能。只有在传输突发的最终WDATA时WVALID为高时才能声明WLAST。在突发中过早指示WLAST(和WVALID)将违反协议。

同样,许多从设备设计将不使用WLAST输入,而仅对进入的数据项进行计数,因此这不是终止突发的安全(或合法)方法。

ii)以同样的方式从站是否在读取半身像之前声明了RLAST?

如果从站过早地驱动RLAST(和RVALID),则也违反协议,就像WLAST信号一样,某些主站可能没有监视RLAST,因此无论如何都可能错过这种非法使用。

如果WLAST和RLAST无法完成上述情况,那么WLAST和RLAST的特殊用途是什么,因为无论如何我们都会得到个人的拍子响应?

主设备和从设备可以使用WLAST和RLAST,需要在传输突发中的最终数据时告知它们。

大多数主机和从机都会将传入的数据与AWLEN和ARLEN上指示的传输次数进行计数,因此在这些设计中将不需要xLAST输入。

但是,为了支持所有主控和从属设计,主控必须始终在适当的时候驱动WLAST,而从属必须驱动RLAST。

你的回答