也许很多人知道xilinx ip core 中的fifo可以配成standard 模式和FWFT模式,并知道两者的区别是:standard模式下,当rd为高时,fifo会延时一个时钟输出数据(时序逻辑);而在FWFT模式下,当rd为高时,fifo不需要延时一个时钟,而是直接马上输出数据(组合逻辑)。但是,很多人可能不知道在FWFT模式下,full,empty和valid等标志信号是与standard模式中是不一样的。如上图,rd还是低时,valid已经拉高了,所以在FWFT模式下,不能直接用valid信号来标志读数据有效。