CIRCT  19.0.0git
CalyxToHW.h
Go to the documentation of this file.
1 //===- CalyxToHW.h - Calyx to HW conversion pass ----------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file declares passes which together will lower the Calyx dialect to the
10 // HW dialect.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef CIRCT_CONVERSION_CALYXTOHW_CALYXTOHW_H
15 #define CIRCT_CONVERSION_CALYXTOHW_CALYXTOHW_H
16 
18 #include "circt/Dialect/HW/HWOps.h"
19 #include "circt/Support/LLVM.h"
20 #include <memory>
21 
22 namespace mlir {
23 class Pass;
24 } // namespace mlir
25 
26 namespace circt {
27 namespace calyx {
28 
29 /// Returns a hw.module.extern operation describing the Verilog module which a
30 /// ComponentOp eventually results in.
31 hw::HWModuleExternOp getExternHWModule(OpBuilder &builder, ComponentOp op);
32 
33 } // namespace calyx
34 
35 std::unique_ptr<mlir::Pass> createCalyxToHWPass();
36 
37 } // namespace circt
38 
39 #endif // CIRCT_CONVERSION_CALYXTOHW_CALYXTOHW_H
Builder builder
hw::HWModuleExternOp getExternHWModule(OpBuilder &builder, ComponentOp op)
Returns a hw.module.extern operation describing the Verilog module which a ComponentOp eventually res...
This file defines an intermediate representation for circuits acting as an abstraction for constraint...
Definition: DebugAnalysis.h:21
std::unique_ptr< mlir::Pass > createCalyxToHWPass()
Definition: CalyxToHW.cpp:481