1、流水反压机制
在之前的文章中,我们介绍了FIFO阈值如何设置。其实FIFO的阈值设置就是流水反压机制的一种。当下游模块存储的数据量超过将满水线时,下游模块会通过一根流控信号线fc通知上游模块停止发送模块,当下游模块存储的数据量低于将满水线时,流控信号线fc为无效状态,上游模块继续发送数据。
2、存在加速比的流水反压机制路径延时
当上游带宽大于下游带宽时,我们称之为存在加速比,即数据出口带宽小,数据入口带宽大。
此类电路中由于存在流水反压机制因此数据不会溢出。但是路径拍数越多,所需要的缓存空间就越大,缓存中累计的数据就越大。如下图所示:
模块A输出速率大于模块C的出口速率,当模块A满带宽输出数据时,模块B和模块C中的afifo就会产生累计,如模块B平均下来最低累计25拍数据,模块C平均下来最低累计18拍数据,因此,实际数据如果从模块A输出到模块C的出口所需的延时不仅要考虑路径流水20拍+15拍,同样要考虑afifo中的累计数据,必须要afifo缓存的数据先输出然后才能输出后续的数据。
总结:路径上的缓存深度越大,缓存内累计的数据越多,从数据源端到目的端的延时就越大。流水反压机制模块内的缓存增大了数据传输路径延时。