[PyCDE] FSM support more types inputs
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
I noticed that currently the FSM in pycde only supports i1 type inputs, performs type checking and throws an exception in [MachineModuleBuilder.scan_cls.](https://github.com/llvm/circt/blob/6e86d3a9c2a3328e0b40669bcbecb7f41fe1b6d0/frontends/PyCDE/src/fsm.py#L112) Besides the limitation of `fsm.TransitionOp` only supporting i1 type conditions, are there any other considerations? If it's just this reason, could type checking be performed in `State.transition.__init__` to support other types of input?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in frontends/PyCDE/src/fsm.py, especially MachineModuleBuilder.scan_cls and State.transition.__init__, then inspect the FSM TransitionOp constraint that currently limits conditions to i1. Confirm which input types should be accepted and whether additional considerations apply; done means supported types pass validation and unsupported types still produce clear errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100