calyx
calyx copied to clipboard
Intermediate Language (IL) for Hardware Accelerator Generators
## Parallelism 1. Execute par blocks in parallel 2. Parallel execution of assignments (in group execution) The first of these is more likely to be useful while the latter might...
In similar spirit to #869. Inline combinational continuous assignments into the groups that use them (along with the entire dataflow graph that drives them). By doing this kind of inlining,...
`fud` has the ability to automatically detect the name of the input and output *state* based on the suffix of the file. For example: ``` fud e in.futil -o out.sv...
https://github.com/cucapra/calyx/pull/847 attempted to enable parallel assignment checking with the icarus backend but inadvertently made all tests fail (another argument for #755). The problem is that the `onehot` primitive returns false...
I wasn't sure if it does but don't want to investigate it right now.
Add an option to the systolic array generator to use a specific `mac_pe` implementation. This will allow us to, say, replace the default `mac_pe` implementation which uses sequential multipliers with...
Program: ``` python3 calyx-py/calyx/gen_exp.py tests/correctness/exp/degree-4-signed.txt ``` Data: ``` { "x": { "data": [ -4000.0 ], "format": { "numeric_type": "fixed_point", "is_signed": true, "width": 32, "int_width": 16 } }, "ret": { "data":...
From @rachitnigam in #750: > Generally recommend splitting up assignments an `always_comb` block so that only individual signals are assigned to. > > Instead of: > > ``` > always_comb...
The following program incorrectly computes the final value in `y_int0` to be `0`. The expected value is `1`: ``` import "primitives/core.futil"; component main(@go go: 1, @clk clk: 1, @reset reset:...
The original implementation of `fud` conflates notions of "state" and "stages". States are file system states that can be transformed by stages. The conflation occurred because most of the time,...