AXI4-Stream

来源:互联网 发布:mac os和ios的区别 编辑:程序博客网 时间:2024/05/21 08:53

在阅读xilinx的floating point  IP Product Guide文档,有一段关于AXI4-Stream的介绍,在这介绍一下它的机制。

必须包含的端口是TVAILD和TDATA,可选的端口有TREADY,TLAST和TUSER。


TVAILD和TREADY用于握手。

可用于传递信息的有TDATA,TUSER和TLAST。


最基本传输方式:



当发送端(master)的TVAILD拉高并且接收端(slave)的TREAY拉高后,表示可以进行一次数据的传输,在适当的时候两端拉低TVAILD和TREADY信号,准备进行下一次传输

Non-Blocking Mode

这种模式是没有控制的,不过根据接收端的需求来限制发送端的数据发送,有TVAILD是需要的,表示新数据的到来


上图是adder在Non-Blocking方式下的时序,输出延迟一个时钟周期,当s_axis_a_tvalid和s_axis_b_tvalid都有效时,就有结果的输出

Blocking Mode

通过接收端(slave)的TREADY来控制数据的传输,并且还未处理的数据会维持在通道上,直到下次处理


上图为adder在Blocking Mode行为下的时序,当a的s_axis_a_tready和s_axis_a_tvalid都有效,并且b的s_axis_b_tready和s_axis_b_tvalid都有效时,处理当前数据,并在下一个时钟周期输出。


TDATA是自定义的。

TLAST是用于标识一段数据传输的结束。

TUSER是用于用户自定义用的,用于表示一些额外的信息

原创粉丝点击