llvm / llvm/circt

[PyCDE] FSM support more types inputs

Open
#5,685 1 comment 0 reactions 0 assignees View on GitHub
PyCDE
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.