circt
circt copied to clipboard
Circuit IR Compilers and Tools
I've had it struggling with capnp: - It's obscurity makes it _really_ hard to google for solutions. - libkj -- which is required to use its RPC -- has a...
When the user does not explicitly specify the output directory for the generated chisel interface via `--chisel-interface-out-dir`, firtool will use the output directory as the fallback. This provides the default...
The following is currently failing: ``` FIRRTL version 4.0.0 circuit Foo: module Foo: wire x: UInt node y = {|some: UInt, None|}(Some, x) ``` ~The problem is that this is...
Do initialization checking early in the pipeline before transformations.
A long time ago, HW module op would store its inputs and outputs using a function type. This lacked the ability to intermix input and output ports the way verilog...
We require FIRRTLExprs to define inferReturnType, which is used, for example, here: https://github.com/llvm/circt/blob/a3e993cb387a08e686b0df1d7f5b599bca0b3751/lib/Dialect/FIRRTL/Import/FIRParser.cpp#L2285 There is some ODS machinery to allow subclasses to customize this using `inferTypeDecl` and `inferType`: https://github.com/llvm/circt/blob/a3e993cb387a08e686b0df1d7f5b599bca0b3751/include/circt/Dialect/FIRRTL/FIRRTLExpressions.td#L548-L566 @uenoku...
This is a primitive Property operation, defined by FIRRTL spec section 25.1.1. General folds for signed arbitrary precision integer arithmetic can be applied, but none were defined in the initial...
CFToHandshake is a Conversion, but it depends on Transforms: https://github.com/llvm/circt/blob/b94d4b1d99e44bf7537a8c6b22c81395d5c527bf/include/circt/Conversion/CFToHandshake.h#L20 Specifically, it uses maximizeSSA here: https://github.com/llvm/circt/blob/b94d4b1d99e44bf7537a8c6b22c81395d5c527bf/include/circt/Conversion/CFToHandshake.h#L73 This isn't great for layering, because anything that includes Conversion/Passes.h is including this, but...
Bump the Slang dependency to version 4. This version supports builds with exceptions and RTTI fully disabled, which allows us to get rid of the ugly glue code that tried...
@mwachs5 has uncovered an issue in `LowerIntrinsics` when she ran the following command: ``` firtool test/Dialect/FIRRTL/extract-instances.mlir --ir-fir --fixup-eicg-wrapper ``` This errors out because a `EICG_wrapper` instance is targeted by a...