circt icon indicating copy to clipboard operation
circt copied to clipboard

Circuit IR Compilers and Tools

Results 520 circt issues
Sort by recently updated
recently updated
newest added

Refactoring commit which makes `TclEmitter` generic by allowing inheriting classes to provide custom `TclOutputState` classes. Furthermore, adds new arguments to `msft-export-tcl` to select tcl flavor and target device, respectively. The...

Currently, multiple builder function of the `Handshake` dialect operations are tightly coupled with how the `StandardToHandshake` maintains intermediate state during its run. I attribute this to the fact that `StandardToHandshake`...

Handshake

Currently, the `StandardToHandshake` conversion uses several intermediate ops to aid in the lowering pass. Usually, intermediate ops may aid in reducing conversion pass complexity, through splitting up conversion into several...

Handshake

The `pipeline.rtp` operation represents a retimeable pipeline. The pipeline contains a single block representing a graph region. Pipeline stages are represented by `pipeline.rt.register` operations. Semantics of values crossing register boundaries...

Remove the current port direction attribute and enum and use types to represent the port direction. Reuse the PortInfo struct and enum of the HW dialect to represent the port...

SystemC

Assignments of composites are broken up into assignments to individual fields and indices.

This implements subword assignment by allowing the `BitsPrimOp` as a sink and then rewriting connections to it during the expand-whens pass. When a value is subword-assigned without having a previous...

Currently, StandardToHandshake defines some ~30 test cases which are arbitrary functions/kernels (https://github.com/llvm/circt/tree/main/test/Conversion/StandardToHandshake). These tests are large, hard to maintain, and strictly serve as regression tests. These tests should be removed...

Handshake

`circt-opt -export-verilog` crashes with this IR (https://godbolt.org/z/1qxzPva35) since seq.compreg is expected to be lowered before ExportVerilog (`circt-opt -lower-seq-to-sv -export-verilog` compiles https://godbolt.org/z/7666xaz7v). However it would be nice to emit good error...

The comb dialect is missing folds for the new SV case equality and wildcard equality checks (`ceq`, `cne`, `weq`, `wne`) in `CombFolds.cpp`, specifically `applyCmpPredicate`, `applyCmpPredicateToEqualOperands`, and `ICmpOp::canonicalize`. These might just...

good first issue
Comb