amaranth
amaranth copied to clipboard
Document FIFO properties
It would be nice if various properties of the FIFOs would be documented. What comes to mind is
- maximum throughput (
SyncFIFOofdepth == 1only does a throughput of50%, same forSyncFIFOBufferedwithdepth <=2) - dependencies between the interface signals (does
w_stream.readydepend combinatorially onr_stream.ready?, doesr_stream.validdepend combinatorially onw_stream.valid?)
We could do that, but I think I'm more interested in deprecating lib.fifo in favor of a stream-based lib.queue with nicer properties (e.g. higher throughput in edge cases).