Queues: flag day
Opened this issue · 6 comments
We have been zooming along and making quite a few improvements to our queues, and we have decided on a small clutch of TODOs for the magical day when things settle down. This is a tracker for all that stuff. It will probably need to grow further; feel free to edit this topmatter directly to add to the list.
- #2186
- #2170
- #2226
- #2241
- #2261
- Consider a test harness that spares us from checking in large
.data
and.expect
files. We would probably still need to make these files or something like them, but perhaps we can make them on the fly and then discard/.gitignore
them. Super open to ideas on this one. @ethanuppal seems to have some thoughts. - Beef up the documentation as needed.
- #2248
- #2221
The idea with testing harnesses is that you don't need to have any files. You can call the calyx component as a function, so you can generate a random large array, enqueue those values, and dequeue them — all from code!
I will do the documentation for round robin and strict PIFOs.
As part flag day, do we want to remove peek
from the queue interface and make cmd
a 1-bit signal?
Good question, I’ve kinda been wanting to. The reason to keep it is that we may find an algorithm that needs it. The reason to lose it is that we haven’t yet found such an algorithm. Let’s make a call about it on Monday!
As of 7/29:
- We are removing the
peek
functionality from all queues, and thepop/peek
by value functionality for PIEOs. - Subsequently, we will be changing
cmd
to a 1-bit signal. - We'll proceed with flag day before the Calyx PIEOs are merged, and continue work with that afterwards.
I've checked the documentation box manually; let's just declare the docs good!