amaranth
amaranth copied to clipboard
`AsyncFIFO` removes data from read domain during read reset
Currently the AsyncFIFO
will continue to "read" entries from a FIFO that is held in r_rst
(read reset) as long as r_rdy
(read ready) is set. This behavior is undesirable because the read and write domains might come out of reset at different moments, this behavior will cause the FIFO to potentially be emptied before the read domain even comes out of reset.
I believe the reason for this is that the AsyncFIFO
only considers the case of write domain reset at the moment, as there are issues with properly supporting reset in the read domain. However, at the present moment it should at least know not to treat read domain signals as valid until the read domain comes out of reset.