Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simpler PacketStream FIFO #121

Open
t-wallet opened this issue Oct 10, 2024 · 0 comments
Open

Add simpler PacketStream FIFO #121

t-wallet opened this issue Oct 10, 2024 · 0 comments

Comments

@t-wallet
Copy link
Collaborator

Sometimes all you want to achieve with a FIFO is absorb minimal backpressure. Not having to buffer full packets allows for a shallower FIFO and less logic. The implementation can be largely copied from packetFifoC, removing all of the dropping semantics. Note that using DfConv.fifo is also a solution, but highly suboptimal because it does not have a separate FIFO for metadata.

Expected behaviour

  • Dropping all timing information, the output data should be identical to the input data.
  • Unlike packetFifoC, there may be gaps (Nothings) in output packets.
  • The FIFO does not drop aborted packets.

The circuit is expected to have the following type:

fifoC ::
  forall dataWidth meta dom contentDepth metaDepth.
  SNat contentDepth ->
  SNat metaDepth ->
  Circuit (PacketStream dom meta dataWidth) (PacketStream dom meta dataWidth)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant