llvm / llvm/circt

[CalyxToFSM] Add `par` FSM lowering

Open
#4,606 3 comments 0 reactions 0 assignees View on GitHub
Calyx help wanted
Dominant language
C++
Stars
2.2k
Forks
524
Avg merge
3d 2h
Merged PRs (30d)
46

Description

[`CalyxToFSM`](https://github.com/llvm/circt/blob/main/lib/Conversion/CalyxToFSM/CalyxToFSM.cpp#L43) is currently missing support for lowering the `calyx.par` control operation to an FSM construct. This is an important construct to support seeing as most SCFToCalyx designs contain it.

For inspiration, [the native compilers' implementation of control compilation of the `par` construct](https://docs.calyxir.org/source/src/calyx/passes/top_down_compile_control.rs.html#903-990).

Contributor guide

No contributing guide indexed for this repository

Research direction

Read lib/Conversion/CalyxToFSM/CalyxToFSM.cpp at the linked entry point, then compare the native compiler's control-compilation implementation linked in the issue. Done means calyx.par is lowered to an FSM construct and the relevant conversion behavior is verified; the issue names no specific test file.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
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.