5.10. Data Transfer with Backpressure

       Sink使用ready信号表示一个激活的周期,这个周期叫做ready周期。在这个周期内,source使valid信号有效则数据发送到sink。如果没有数据可发送,使valid信号无效,这时,data信号可以是任意值。

       每个支持backpressure功能的接口定义readyLatency参数表示valid信号有效后再经readyLatency周期数据才能发送。如果readyLatency参数不为0,ready信号在<n>时刻有效,那么实际被看作有效是在<n +readyLatency>时刻处。任何定义了ready信号和readyLatency参数可以支持backPuressure功能。

       当readyLatency = 0时,仅在ready和valid信号同时有效时数据才被发送。在这种情况下,在valid信号有效前ready信号不会有效。Source有数据发送时提供数据并置valid有效,不必先判断ready信号是否有效,并在任意时刻可改变数据值。Sink端仅在ready和valid信号都有效时才采样数据。

       当readyLatency >= 1时,sink在实际ready信号有效前置ready信号有效。Source可以在适当的时刻置valid有效。但在ready信号无效时不置valid信号。图5-6说明一个Avalon-ST接口(readyLatency = 4)。


       图5-7解释一次readyLatency = 0情况下的传输。Source在第1个时钟周期提供数据并置valid信号,尽管这里ready无效。第2个时钟sink置ready有效,在第3个时钟sink准备接收,source驱动数据。第4个时钟ready信号依然有效,但source置valid无效。


图5-8和图5-9分别说明了readyLatency = 1和readyLatency = 2时的情况。在这两种情况下,ready信号先被置有效,source在1至2个时钟后提供数据并置valid有效。当readyLatency不为0时,在ready信号无效时source必须置valid无效。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值