circt
circt copied to clipboard
Circuit IR Compilers and Tools
This is an attempt at following @uenoku's suggestions in https://github.com/llvm/circt/issues/6557#issuecomment-1884185136, by extending the `FlattenIO` pass flatten `hw::ArrayType` in addition to `hw::StructType`. @mortbopet how does this agree with your usage of...
1. Now there is a new builder for `StateOp`, which also takes a ValueRange and uses it to create the `OutputOp` with it. 2. Change the first builder of `TransitionOp`...
Hey, @fabianschuiki! Please review this at your convenience! Thanks in advance! This PR is about deleting local variables. For example: ``` int x, y, z; always_comb begin automatic int a;...
This PR aims to rework the existing `InnerSym` infrastructure to properly support nested symbol tables. This is a feature that we'll be needing over on the `Ibis` dialect side, and...
This PR adds operations sv.func, sv.func.call{.procedural} and sv.func.dpi.import to SV. sv.func op is model as a mixture of func.func and hw.module. Similar to hw.module, sv.func can mix the order of...
* use `!hw.inout` instead of `!llhd.sig` to make things work with `hw.module` (since inout types don't allow nested signals) * remove the `llhd.entity` operation and use the `hw.module` instead. This...
Add output directory control for layers and firrtl. For specifying the output directories: - Add a new annotation called "circt.OutputDirAnnotation", for specifying the output directory of modules - For layers,...
Arcilator has a tendency to produce very large LLVM functions in its output. For example, pretty much an entire clock domain will be grouped into a single function, which for...
Elaborate chisel type annotation from firtool to generate debug information for the Tywaves project
@fabianschuiki I created this issue to keep talking about the conversation we started here: https://github.com/chipsalliance/chisel/issues/4015#issuecomment-2077714172 I added attributes to debug variable to store the chisel type name and, eventually, the...
The `EmitHGLDD` target can emit the necessary HGLDD JSON bits to encode arrays and structs when it sees `dbg.array` and `dbg.struct` operations, but it ignores `dbg.variable` ops with `!hw.array` and...