Intel® Hyperflex™ 体系结构高性能设计手册

ID 683353
日期 10/04/2021
Public
文档目录

2.4.2.4. 使用FIFO状态信号的流程控制

在处理流程控制信号时需要考虑高时钟速度。对于同时在多个位置门控一个数据通路的信号而言,此考虑因素是尤为重要的,例如,使用时钟使能信号或FIFO full或empty信号。 使用一个延迟的信号来替代实时控制信号。您可以在FIFO模块中构建一个缓冲器。控制信号对上游数据通路表明它几乎变满,对于上游数据还有几个时钟周期来接收其门控信号。此方法减缓了对控制信号的时序收敛困难。

当使用FIFO满和空信号时,为防止上溢或下溢,您必须在一个时钟周期内处理这些信号。

图 65. FIFO流程控制环路从FIFO中读取控制信号的同时形成环路。

如果使用一个almost full或者almost empty信号,那么您可以在流程控制环路中添加流水线寄存器。如果almost full阈值越低,并且almost empty阈值越高,那么可添加到信号的寄存器就越多。

图 66. 通过使用Almost Full替代Full FIFO而改进的FIFO流控制环路下面实例显示了完全控制流程信号中的两个额外的寄存器。FIFO生成almost full标志后,信号要经过两个周期达到data producer模块。在已发送的数据停止到达FIFO之前需要两个额外的周期。这种情况会导致四个周期的延迟。只要almost full标志被置位,data producer就能在FIFO变慢之前再发送4个字。测量FIFO模块大小,以确保这些额外有效数据的正确存储。控制路径中的两个额外流水线寄存器有助于布线,并且实现比使用传统的单周期FIFO控制方案更高的速度。