-
Notifications
You must be signed in to change notification settings - Fork 53
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
Using the new FSM component for FSM generation #2394
base: explicit-fsm-compilation
Are you sure you want to change the base?
Using the new FSM component for FSM generation #2394
Conversation
What's the relationship between this and #2395? |
This is my implementation of using the new FSM to emit the static FSM. I have also improved the quality of the generated FSM by eliminating potentially unnecessary guarding. #2395 still requires the The fixed in #2395 is not included here. If @parthsarkar17 is happy with my changes, I think we can merge this into the If necessary, I am happy to have a meeting to talk about how we should move forward. |
Sure! Why don't you grab a slot from the Calyx project page and let us know on the Zulip channel: https://github.com/calyxir/project |
The current implementation can compile FSMs without using the
compile-static
option. A single FSM manages all the control flow.An example call will be as follows:
./target/debug/calyx -p all -d papercut -d compile-static -d tdcc -b verilog ./test.futil --nested
Thanks to the FSM construct, both onehot-encoded and binary-encoded FSM can be generated.
See here for details.