|
12 | 12 |
|
13 | 13 | #include "circt/Conversion/CombToSMT.h" |
14 | 14 | #include "circt/Conversion/HWToSMT.h" |
| 15 | +#include "circt/Conversion/Passes.h" |
15 | 16 | #include "circt/Conversion/SMTToZ3LLVM.h" |
16 | 17 | #include "circt/Conversion/VerifToSMT.h" |
17 | 18 | #include "circt/Dialect/Comb/CombDialect.h" |
|
20 | 21 | #include "circt/Dialect/HW/HWDialect.h" |
21 | 22 | #include "circt/Dialect/HW/HWOps.h" |
22 | 23 | #include "circt/Dialect/HW/HWPasses.h" |
| 24 | +#include "circt/Dialect/LTL/LTLDialect.h" |
23 | 25 | #include "circt/Dialect/OM/OMDialect.h" |
24 | 26 | #include "circt/Dialect/OM/OMPasses.h" |
25 | 27 | #include "circt/Dialect/Seq/SeqDialect.h" |
|
28 | 30 | #include "circt/Support/Passes.h" |
29 | 31 | #include "circt/Support/Version.h" |
30 | 32 | #include "circt/Tools/circt-bmc/Passes.h" |
| 33 | +#include "circt/Transforms/Passes.h" |
31 | 34 | #include "mlir/Dialect/Arith/IR/Arith.h" |
32 | 35 | #include "mlir/Dialect/Func/Extensions/InlinerExtension.h" |
33 | 36 | #include "mlir/Dialect/Func/IR/FuncOps.h" |
@@ -207,6 +210,7 @@ static LogicalResult executeBMC(MLIRContext &context) { |
207 | 210 | options.inlinePublic = true; |
208 | 211 | pm.addPass(hw::createFlattenModules(options)); |
209 | 212 | } |
| 213 | + pm.addNestedPass<hw::HWModuleOp>(createLowerLTLToCorePass()); |
210 | 214 | pm.addNestedPass<hw::HWModuleOp>(verif::createCombineAssertLikePass()); |
211 | 215 | pm.addPass(createExternalizeRegisters()); |
212 | 216 | LowerToBMCOptions lowerToBMCOptions; |
@@ -362,6 +366,7 @@ int main(int argc, char **argv) { |
362 | 366 | circt::seq::SeqDialect, |
363 | 367 | mlir::smt::SMTDialect, |
364 | 368 | circt::verif::VerifDialect, |
| 369 | + circt::ltl::LTLDialect, |
365 | 370 | mlir::arith::ArithDialect, |
366 | 371 | mlir::BuiltinDialect, |
367 | 372 | mlir::func::FuncDialect, |
|
0 commit comments