-
Notifications
You must be signed in to change notification settings - Fork 50
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 bypass register primitive #2030
Conversation
I'm not sure that |
This is failing some test cases and I'm not really sure why. |
Hey @matth2k! Thanks for opening the PR. @andrewb1999 is right: we don't want this in Also, we should definitely add a test to make sure the primitive works. No other frontend uses it so very likely that a change could break it in the future. |
This pull request has been marked as stale due to inactivity. |
This stale PR is being closed because it has not seen any activity in 7 days. If you're planning to continue work on it, please reopen it and mention how to make progress on it. |
@andrewb1999 Can you push this along? It's still a requirement for using Calyx w/ AMC. That, or can I get a quick rundown of how to add new tests? |
Hey there happy to help out a bit, if I can! So as Rachit said, it would be better for the primitive to be added to the Once that's done make a simple correctness test. All this needs to do is use the bypass register to demonstrate that it behaves as expected. An example you can look at is the As for existing tests breaking, I am unable to offer insight at the moment since the logs don't appear to be retained but happy to take a look if errors re-emerge |
Thanks @EclecticGriffin, I'm working on cleaning this up and making a new PR. I should be able to do it soon. |
Having this primitive built into the Calyx library would be useful for the AMC memory flow. The use case for this is I have an arbiter de-muxing data from a memory load interface, so I introduced my own inline primitive to latch the data without adding a cycle of latency.
Are there any test cases I should add, besides fixing the ones it broke? Either for parsing sake or an actual use-case? Should the stable attribute on the bypass register be removed?