1.1关于AXI4-Stream协议
AXI4-Stream协议被用作连接希望交换数据的组件的标准接口。该接口可用于连接一个产生数据的主服务器(a single master)和一个接收数据的从服务器(a single slave)。当连接大量的主、从组件时,也可以使用该协议。该协议支持使用同一组共享连接的多个数据流,允许构造一个通用互连,可以执行大、小和路由操作。
AXI4-Stream接口还支持各种不同的流类型。流协议定义了传输和数据包之间的关联。
1.1.1字节定义
以下字节定义在本规范中使用:
数据字节
包含在源和目标之间传输的有效信息的数据字节。
位置字节
指示数据字节在流中的相对位置的字节。这是一个占位符,它不包含在源和目标之间传输的任何相关数据值。
零字节
不包含任何数据信息或关于数据字节在流中的相对位置的任何信息的字节。
1.1.2流术语
以下流术语在本规范中使用:
Transfer 在AXI4-Stream接口上进行一次数据传输。单个传输由单个TVALID、TREADY握手定义。请参见第2-3页的“握手过程”。
Packet 包框架 通过AXI4-Stream接口一起传输的一组字节。数据包类似于AXI4突发。一个包可以由单个传输或多个传输组成。基础设施组件可以使用包更有效地处理包大小的组中的流。AXI4-Stream中最高级别的字节分组。一个帧包含整数数量的数据包。一个帧可以是非常大的字节数,例如整个视频帧缓冲区。
Data Stream 数据流 数据从一个源到一个目的的传输。一个数据流可以是:一系列单独的字节传输分组成包的一系列字节传输。
1.2数据流
数据流有多种形式。本节提供一些可能使用定义的AXI4-Stream字节类型的不同数据流样式的示例。
1.2.1字节流
字节流是一些数据和空字节的传输。在每次TVALID、TREADY握手中,可以传输任意数量的数据字节。空字节没有意义,可以从流中插入或删除。图1-1显示了字节流的两个例子。在图中,每一列表示一次传输中的字节,本例使用了4字节宽的数据总线。列从左到右按时间顺序排列。
- - -注意由于空字节不传递任何信息,也不存在于流中,图1-1中给出的两个示例传递相同的信息。
1.2.2连续一致的流
连续对齐流是传输大量数据字节,其中每个包没有位置或空字节。图1-2显示了一个连续对齐的流的例子。
1.2.3连续的未对齐流
连续的非对齐流是指传输多个数据字节,其中每个包的第一个数据字节和最后一个数据字节之间没有位置字节。图1-3是连续非对齐流的两个示例。
请注意一个连续的未对齐流可以在包的开始、结束或同时在包的开始和结束处有任意数量的连续位置字节。
1.2.4稀疏流
稀疏流是传输大量的数据字节和位置字节。必须维护所有数据和位置字节,并将其从源传输到目标。图1-4是一个稀疏流的示例。
请注意 稀疏流可以包含任何数据字节和位置字节的混合,但通常大多数字节都是数据字节。稀疏流并不意味着只有少数字节是数据字节。