Using the new FSM component for FSM generation#2394
Using the new FSM component for FSM generation#2394KelvinChung2000 wants to merge 27 commits intocalyxir:explicit-fsm-compilationfrom
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 |
|
Hey @KelvinChung2000! Any updates on the meeting? I can try to make the normal 4pm ET slot work if that's the only one that works for you. |
The current implementation can compile FSMs without using the
compile-staticoption. 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 --nestedThanks to the FSM construct, both onehot-encoded and binary-encoded FSM can be generated.
See here for details.