calebmkim
calebmkim
- [ ] `BITWIDTH`, `INTWIDTH`, `FRACWIDTH`, should eventually be part of the input json to the python script. - [ ] `numeric_types` should go from `verilator` to `calyx-py` - [...
**Overview** Currently, the `ControlID pass` provides methods that can label the control stmts with u64's, and we can query for the label of a given control stmt. We want to...
In the same way that the `new_fsm` attribute prevents fsm complexity blow up in the tdcc pass, we might want to add support for the attribute when compiling tdst as...
## Overall Sketch for the Dates/Goals of this Project **Compiler Tasks** - Finish the `static-inlining` stuff by 5/1. This will allow us to compile the "static islands" into a single...
## Example The following program runs differently when we inline vs. don't inline (it's kinda complicated sorry, and here are the full files [a.futil.txt](https://github.com/cucapra/calyx/files/11725131/a.futil.txt), [a.json.txt](https://github.com/cucapra/calyx/files/11725134/a.json.txt)): ``` // component that adds...
The current `static-inliner` pass works in a "bottom up" manner. The `inline_static_control()` function is the key inlining function here. To understand how it works, consider an example: `static seq {stmt1;...
Adds support for OHE encoding for static FSMs. You can pass `-x compile-static:one-hot-cutoff=n`, where `n` is the "cutoff", i.e., the maximum number of states that an FSM can take before...
During the AMC/Calyx-Opt meetings, we realized that Vitis was doing a one-hot encoding for their FSMs, which probably explains their lower LUT usage. This got us thinking about a new...
(Some of this post is duplicated from my lab notebook [entry](https://github.com/orgs/calyxir/discussions/2202#discussioncomment-10014608)). # Recap of Problem Suppose we have the following control structure (assume all groups take 1 cycle): ``` static...