calyx
calyx copied to clipboard
Intermediate Language (IL) for Hardware Accelerator Generators
This name has caused unnecessary confusion several times now and should probably be named something else. `SourceType.Interactive` would probably be a choice that better captures the intuition. This should be...
For the Calyx 2.0 paper, I think it would be cool to study the effects of heuristics on the quality of results. Couple of things off the top of my...
I ran into a bug where even though a combinational group had been detached from a component (using `drain` on `component.comb_groups`), it was retained in memory by an `invoke`-`with` statement....
Users of the eDSL frequently need to instantiate a cell and a combinational group that acts on that cell. These two items then need to passed around in tandem. Passing...
We should work towards including the CIRCT frontend flow in CI for integration testing. This way we can know what changes to Calyx may affect the CIRCT frontend and also...
Ref. https://github.com/cucapra/filament/pull/265#discussion_r1296060121. Currently the method we are using in filament to generate a calyx port def looks like this: ```rust (Id::from("name"), bitwidth, Direction::).into() ``` This is pretty unwieldy and could...
This probably would have been picked up along the way to #1414 anyway, but I'd like it sooner for tutorial purposes (#1457). I currently cannot compile the following sum of...
There are currently several limitations in the Rust builder library that make working with primitives inconvenient. Currently, to instantiate an `ir::Builder` you must first construct an `ir::LibrarySignatures` containing all the...
@xerpi has been working a Halide (to MLIR) to Calyx flow and we should give it a try and get a sense of what we need to do to support...
We have a growing collection of example that demonstrate various capabilities in Calyx. For example: 1. Pipelining of dynamic components using `invoke` 2. Reasoning about static timing 3. Synchronization 4....