Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions include/circt/Dialect/FIRRTL/Passes.td
Original file line number Diff line number Diff line change
Expand Up @@ -905,4 +905,17 @@ def CheckLayers : Pass<"firrtl-check-layers", "firrtl::CircuitOp"> {
}];
}

def InferDomains : Pass<"firrtl-infer-domains", "firrtl::CircuitOp"> {
let summary = "Infer and type check all firrtl domains";
let description = [{
This pass does domain inference on a FIRRTL circuit. The end result of this
is either a corrrctly domain-checked FIRRTL circuit or failure with verbose
error messages indicating why the FIRRTL circuit has illegal domain
constructs.

E.g., this pass can be used to check for illegal clock-domain-crossings if
clock domains are specified for signals in the design.
}];
}

#endif // CIRCT_DIALECT_FIRRTL_PASSES_TD
1 change: 1 addition & 0 deletions lib/Dialect/FIRRTL/Transforms/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ add_circt_dialect_library(CIRCTFIRRTLTransforms
GrandCentral.cpp
IMConstProp.cpp
IMDeadCodeElim.cpp
InferDomains.cpp
InferReadWrite.cpp
InferResets.cpp
InferWidths.cpp
Expand Down
Loading