CIRCT 20.0.0git
Loading...
Searching...
No Matches
FIRRTLToHW.h
Go to the documentation of this file.
1//===- FIRRTLToHW.h - FIRRTL 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 FIRRTL dialect to
10// HW and SV dialects.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef CIRCT_CONVERSION_FIRRTLTOHW_FIRRTLTOHW_H
15#define CIRCT_CONVERSION_FIRRTLTOHW_FIRRTLTOHW_H
16
17#include "circt/Support/LLVM.h"
18#include <memory>
19
20namespace mlir {
21class Pass;
22} // namespace mlir
23
24namespace circt {
25namespace firrtl {
27 // Use the flavor specified by the op.
28 // TOOD: Drop this option once the migration finished.
29 None,
30 // Use `if(cond) else $fatal(..)` format.
32 // Use immediate form.
34 // Use SVA.
35 SVA
36};
37} // namespace firrtl
38
39#define GEN_PASS_DECL_LOWERFIRRTLTOHW
40#include "circt/Conversion/Passes.h.inc"
41
42std::unique_ptr<mlir::Pass>
43createLowerFIRRTLToHWPass(bool enableAnnotationWarning = false,
44 firrtl::VerificationFlavor assertionFlavor =
46
47} // namespace circt
48
49#endif // CIRCT_CONVERSION_FIRRTLTOHW_FIRRTLTOHW_H
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
std::unique_ptr< mlir::Pass > createLowerFIRRTLToHWPass(bool enableAnnotationWarning=false, firrtl::VerificationFlavor assertionFlavor=firrtl::VerificationFlavor::None)
This is the pass constructor.