预取FIFO实现原理
在原有的FIFO的基础上增加使能控制器和输出寄存器单元也就是FWFT Adapt逻辑 。其中使能控制器完成普通FIFO和FWFT FIFO 的rd和empty的转换。输出寄存器则是直接连接FIFO/RAM输出的数据作为最终FWFT FIFO的读数据rdata。
FIFO控制器在没有收到有效的读信号时,通过输入寄存器将读地址指向当前待读取的数据的地址(标准FIFO读地址始终指向下一个要读取数据的地址)。也就是说当RAM内有数据时,输出FIFO控制器将ram的读地址预先加1,将数据准备好。当接收到用户的读请求时,即读信号(rd)有效时,能够立即在当前时钟周期从RAM读取当前数据rdata.在收到有效的读信号时通过输入寄存器将读地址指向RAM中下一待读取的数据的地址。
预取FIFO硬件实现
使能控制器对输出寄存器的锁存和使能输出,主要有以下三种情形:
***情形1:***没有收到读请求,
empty =fifo_ empty_i & pre_reg_empty;
rd_buf_en = ((rd & ~empty) | empty))
oe_en = rd_buf_en 锁存上一输出数据状态。</