CIRCT 20.0.0git
Loading...
Searching...
No Matches
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
19#include "circt/Support/LLVM.h"
20#include <memory>
21
22namespace mlir {
23class Pass;
24} // namespace mlir
25
26namespace circt {
27
28#define GEN_PASS_DECL_CALYXTOHW
29#include "circt/Conversion/Passes.h.inc"
30
31namespace calyx {
32
33/// Returns a hw.module.extern operation describing the Verilog module which a
34/// ComponentOp eventually results in.
35hw::HWModuleExternOp getExternHWModule(OpBuilder &builder, ComponentOp op);
36
37} // namespace calyx
38
39std::unique_ptr<mlir::Pass> createCalyxToHWPass();
40
41} // namespace circt
42
43#endif // CIRCT_CONVERSION_CALYXTOHW_CALYXTOHW_H
hw::HWModuleExternOp getExternHWModule(OpBuilder &builder, ComponentOp op)
Returns a hw.module.extern operation describing the Verilog module which a ComponentOp eventually res...
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
std::unique_ptr< mlir::Pass > createCalyxToHWPass()