How to decide when to use flop or RAM based fifo?
In my practice, the main concern is area &amp; power. RAM hard macro tends to have smaller size when the memory capacity grows. There's still work to do after choosing RAM, we need to try different combination of process/mux/shape to find the one with minimum area and power. Choosing either one will lead to other differences, like test methodologies. But those are not major issues most of time.