Avalon® 接口规范

ID 683091
日期 5/27/2021
Public
文档目录

6.2.2. 典型数据传输

本节定义了从一个source接口到sink接口的数据传输。所有情况下,data source和data sink都必须符合规范。data sink不负责检测source协议错误。

下图显示 Avalon® Streaming Credit接口中使用的典型信号。
图 33. 典型 Avalon® Streaming Credit信号
如图所示,典型 Avalon® Streaming Credit source接口将validdataerrorchannel信号驱动到sink。sink驱动updatecredit信号。
图 34. 典型Credit和数据传输

上图显示source和sink之间的典型credit和数据传输。sink置位update和source接收update之间可能存在任意延迟。与此类似,还有置位数据valid和sink接收该数据之间可能存在任意延迟。从sink到source的credit路径上的延迟,与从source到sink的数据通路上的延迟不必相等。这些延迟也可以是0 cycle,例如,sink置位update时,可被同一周期中的source看到。反之,在source置位valid时,可被同一周期中的sink看到。如果source具有0credit,其不可置位valid。已传输的credit可累计。如果sink已传输的credit等同于其maxCredit属性,且并未接收到任何数据,则不可置位update直到接收到至少1个数据或者已接收到来自source的return_credit脉冲。

如果sink已对source提供credit,则Sink不背压来自source的数据,例如,如果没有未完成的credit,那么sink必需接收来自source的数据。如果Source未接收到任何credit或者已用尽收到的credit,则不可置位valid,例如,已经发送的数据替代已接收的credit。

如果source有0 credit,则在其接收credit的同一周期中,source无法开始数据传输。同样的,如果sink已传输等于其maxCredit属性的credit并接收数据,则sink无法在其接收数据的同一周期中发送更新。实施这些限制是为了避免实现中出现组合循环。