std_match
Advanced Member level 4
This should limit the throughput of the FIFO. The sustained transfer rate will be slower than the slowest clock. I think that transfer and processing of Gray coded pointers is normally a better solution. The sustained transfer rate will be the same as the slowest clock.They would count in the other direction after receiving a synchronized command from the other side.
If a reader must know that a complete packet is available before starting to process data from the FIFO, I would hide the real write pointer from the reader until the writer commits a complete packet. One way is to set a "commit" signal when writing the last word. This works for both synchronous and asynchronous FIFOs.