calyx
calyx copied to clipboard
Intermediate Language (IL) for Hardware Accelerator Generators
Just wanted to start some discussion about adding more memory primitives to Calyx. I will be putting development effort in here, but want some feedback before I really get started....
When incorporating the 'external' keyword syntax to the component signature(described in #992), I ran into the following error message when inlining cell ports to the component signature(4th task in tracker...
Calyx supports `comb group`s (introduced in #635) for encapsulating combinational (sub-cycle) logic, and _primitive_ components (ones implemented externally in RTL) are allowed to be declared as combinational. The standard library...
Software compilers can optimize the following code: ``` x = 1 y = x z = y + 1 ``` To: ``` x = 1 z = x + 1...
We should extend the language tutorial to show people how to use a multiplier using an `invoke` statement.
Discussed this in meeting w/ @rachitnigam today. Was told to tag @sampsyo as well. The basic idea for this pass is that, for each child C of a Seq, we...
https://github.com/llvm/circt/pull/3189 adds sign-extension to the set of primitive operations available in Calyx-CIRCT. To ensure interoperability, a similar primitive should be added in the Calyx Rust compiler.
The language tutorial for calyx, found [here](https://docs.calyxir.org/tutorial/language-tut.html), does not include any information about the `?` and `&` symbols. These are key features of the language, but I haven't been able...
Implement a simple form of clock gating where we mark the cells as clock gated and automatically generate the hardware needed to do that. We can probably compute the groups...
This documents progress on lowering a high level program to native* Calyx and then through Cider. This should serve as a useful reference for those not entirely familiar with the...