Avalon® 接口规范

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

5.9. 有背压的数据传输

sink置位ready一个时钟周期来表明已对一个活动周期准备就绪。 如果sink对数据已准备就绪,则该周期就是一个ready周期。在一个ready周期中,source可以置位valid并提供数据给sink。如果source没有要发送的数据,那么source解除置位valid,并且能够将data驱动到任何值。

支持背压的接口定义readyLatency参数来表示从ready置位到能够驱动有效数据的周期数量。如果readyLatency为非零值,那么cycle <n + readyLatency>是一个ready cycle(如果ready在cycle <n>上置位)。

readyLatency = 0时,只有当readyvalid在同一周期上置位时才会出现数据传输。此模式下,source在发送有效数据之前不会接收到sink的ready信号。source提供数据,只要有有效数据就会置位valid。source等待sink采集数据并置位ready。source可随时改变数据。只有readyvalid都置位时,sink才从source采集输入数据。

readyLatency >= 1时,sink在ready周期本身之前置位ready。source通过置位valid在相应的周期中能够作出响应。在非ready的周期中,source可以不置位 valid

readyAllowance定义了ready解除置位时sink能够采集的传输数量。当readyAllowance = 0时,sink在ready解除置位后不能接受任何传输。如果readyAllowance = <n>,其中n > 0,那么sink在ready解除置位后最多能够接受<n>个传输。