三.默认信号需求
3.1默认信号值
3.1.1可选的TREADY
TREADY默认值为1,在确定的环境中是可以被省略,但始终推荐使用。
3.1.2可选的TKEEP和TSTRB
对于所有的数据流而言TKEEP和TSTRB并不是始终需要的
默认的规则:
①如果TKEEP省略,那么默认TKEEP均为高;
②如果TSTRB省略,TSTRB=TKEEP;
③如果TSTRB和TKEEP均省略,TSTRB和TKEEP均为高。
3.1.3可选的TLAST
对于不具有包和帧概念的数据流,TLAST 的默认值是未知的。下列选项可供选择:
①设置 TLAST 为低。这表示所有传输都在同一个包中。该选项为合并和扩展提供了最大的可能,但这意味着传输有可能在流中被间歇突发延迟。一个恒定为低的 TLAST 信号可能也会影响在共享通道中的流的交错,因为互联可以使用 TLAST 信号来影响仲裁过程。
②设置 TLAST 为高。这表示所有传输都是单个的包。该选项可以保证传输不会在基础组件中延迟。该选项也可以保证流不会 通过影响仲裁过程而不必要地阻止一个共享通道的使用。该选项会阻止流合并,这些流来自于具有该设置的主机。该选项也会阻止有效的扩展。
③自动产生一个脉冲的 TLAST 值。该选项在一个固定数量的传输之后断言 TLAST ,例如,经过 2 个或 16 个传输。该选项可能证明是一个很好的妥协,允许有效地操作而不会过度地阻塞共享的通道。
推荐的方法是:
任何具有包边界概念的组件都必须包含一个 TLAST 信号。当被包含到一个组件的接口中时, TLAST 信号通过互联必须被保留。
当一个组件不支持 TLAST 信号,并且互联中的拓扑和功能是未知的,则 TLAST 信号必须默认为高。这将保证传输不会在互联中被使用 TLAST 信号来强制一个缓存 draining 操作的组件不确定地延迟。
当一个组件不支持 TLAST 信号,并且由于互联的构建 没有互联组件要求使用 TLAST 信号来阻止互联中传输的延迟 而可以被保证。这种情况下 TLAST 信号可以被固定为低。
3.1.4可选的TID,TDEST,TUSER信号
一个主机不要求支持这三个输出信号
一个具有多余 TID TDEST ,及 TUSER 输入信号的从机必须将这 3 个信号的所有 bits 固定为低。
3.1.5可选的TDATA
如果TDATA是不被需要的,那么TSTRB也是不被需要的
3.2兼容性考虑
关于兼容性有两方面考虑:
直连兼容性。该考虑主要关于一个主机直接连接一个从机。
互联兼容性。该考虑关于一个互联的实现具有兼容两个组件的效果。
3.2.1主机兼容性
一个主机和一个从机 接口如果要相兼容,则接口的数据宽度必须相同。 如果不是这种情况, 则要求互联组件提供数据宽度转换来匹配数据宽度。
3.2.2从机兼容性
数据宽度:数据宽度需要匹配,如果不匹配需要互联组件提高数据宽度转换
源和目的信号:要求从机能够分别来此不同源的信号从机将具有一个交错上限,这个上限必须不能 被超出。 参见传输交错 。
空和位置字节:不要求从机支持空字节和位置字节。
3.2.3互联兼容性
一个互联组件被用来从主机到从机传送数据流。要求互联要能够可靠地从主机到从机传输所有数据 字节和位置字节。随意的扩大和缩小操作可能会引入空字节。
3.3持续的包
某些应用程序使用 AXI-Stream 接口的子集作为连续传输消息的方式方式。这意味着每个数据包只能包含数据字节,绝不会与其他数据包交错。当针对该子集设计时,发射器、接收器和互连可以更简单、更高效。
Continuous_Packets 属性用于描述只支持连续数据包的接口:
True 仅支持连续数据包。如果未声明 Continuous_Packets,则认为是假的。
当 Continuous_Packets 为 True 时,以下规则适用:
• 不得发生不同数据包的传输交织。这意味着当 TLAST 为低时,TID 和TDEST 不能在下一次传输中改变。
• TSTRB 不存在。不支持位置字节。
• 数据包中不能有空字节。这意味着:
— 如果 TLAST 为低电平,则 TKEEP 的所有位都必须为高电平。
— 如果 TLAST 为高电平,则仅在所有数据字节之上的字节中允许空字节。
支持连续数据包的互连必须仅在 TLAST 为高电平时进行仲裁。这意味着 TLAST不能被绑在 LOW 上,并且如果一个区域内的传输之间存在显着差距,则利用率可能会很低包。
四.顺序和交织传输
4.1交织传输
传输交织是在逐个传输的基础上交织来自不同流的传输的过程。发送器可以在源处交错流,互连可以交错来自多个源的流汇聚点的发射机。
接收器可以设计为接受任意数量的交错流或有限数量的交错流。Continuous_Packets 属性设置为 True 的接收器不能接受交错流。
如果接收器的交织能力有限,则必须使用以下技术之一来确保接收器不超过能力:接收器只能由一个发射器访问,不能超过交织能力收件人。
• 接收器被多个发送器访问,每个发送器不交织数据包。系统设计,或一些更高级别的控制机制,确保访问的发射器的数量Receiver 一次不超过 Receiver 的交织能力。
• Receiver 被多个 Transmitter 访问,更高级别的控制机制确保不超过接收器的整体交织能力。
在某些系统中,限制交错流的数量以提高效率可能是有益的接收器或互连功能,例如升迁。
4.2顺序传输
AXI-Stream 协议要求所有传输保持有序。不允许对传输进行重新排序。
不允许重新排序的优点是:
• 接收器观察到的流交织不会因重新排序而增加。
• 提高了系统的整体可预测性。
• 可以确定给定的传输,独立于传输的 TID,以通过以下方式到达目的地观察来自同一发送器的稍后传输已到达同一目的地。
• 降低了系统的复杂性。