-
Notifications
You must be signed in to change notification settings - Fork 58
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
flow graph analysis and automation #213
Comments
One thing to add is that for a while I wanted to add some first-class interface for specifying port directions, essentially the same thing as describing something as
Not just simulation; assertions for property testing ("formal verification") are much more valuable for this, since they are better at discovering edge cases.
There has been interest in having an AXI4-Stream-like interface in nMigen core (from @lambdaconcept, and it also exists in LiteX, showing substantial interest), so I think such stream interface should be added first. |
Right. A good stream interface is the foundation for all this. |
My proposal for the stream interface is to use four signals: |
Perfect. It would be great if we can make this interface so smooth that the even the dumb usage ( |
We can make |
Or a different constructor to make this usage explicit. |
Would be good to understand how this might match wishbone too? |
I don't think this is relevant to Wishbone, since it does not have a streaming interface. |
I believe that @wallento was claiming otherwise at OrConf. Maybe he can confirm or deny that? |
I would love something like that in nMigen, and might even be able to help next year. My past experience of line-buffer based video processing with moving windows has been very enjoyable, it would be interesting to work with something like that again. |
Sweet! |
That paper is super interesting! This stuff is something that I could potentially look at providing funding around. I'm more interested in actually using it for graphics related stuff. |
Develop tooling to help with non-trivial flow graphs. Somewhat like the old
migen.flow
scheme.Features
stb
-style interfaces where data is not constantly streamed but "blanked"eof
a.k.a.sop
/eop
): determine overall cycle periodsstb
/ack
-style interfaces and implement back-pressure to dynamically pace upstream componentsImplementation aspects/questions
stb
signals) at the module boundaries. I.e. allow verification of the specified latency matrices.Use cases, prior art:
migen.flow
The text was updated successfully, but these errors were encountered: