amaranth icon indicating copy to clipboard operation
amaranth copied to clipboard

Document FIFO properties

Open rroohhh opened this issue 1 year ago • 1 comments

It would be nice if various properties of the FIFOs would be documented. What comes to mind is

  • maximum throughput (SyncFIFO of depth == 1 only does a throughput of 50%, same for SyncFIFOBuffered with depth <=2)
  • dependencies between the interface signals (does w_stream.ready depend combinatorially on r_stream.ready?, does r_stream.valid depend combinatorially on w_stream.valid?)

rroohhh avatar Oct 28 '24 11:10 rroohhh

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).

whitequark avatar Oct 29 '24 19:10 whitequark