Generic FIFO implementation with optional FWFT