Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ImportAIGER.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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 defines the interface for importing AIGER files.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CIRCT_CONVERSION_IMPORTAIGER_H
14#define CIRCT_CONVERSION_IMPORTAIGER_H
15
16#include "circt/Support/LLVM.h"
17#include "mlir/IR/BuiltinOps.h"
18#include "llvm/Support/SourceMgr.h"
19
20namespace mlir {
21class MLIRContext;
22class TimingScope;
23} // namespace mlir
24
25namespace circt {
26namespace aiger {
27
28/// Options for AIGER import.
30 /// The name to use for the top-level module. If empty, a default name
31 /// will be generated.
32 std::string topLevelModule = "aiger_top";
33};
34
35/// Parse an AIGER file and populate the given MLIR module with corresponding
36/// AIG dialect operations.
37mlir::LogicalResult importAIGER(llvm::SourceMgr &sourceMgr,
38 mlir::MLIRContext *context,
39 mlir::TimingScope &ts, mlir::ModuleOp module,
40 const ImportAIGEROptions *options = nullptr);
41
42/// Register the `import-aiger` MLIR translation.
44} // namespace aiger
45
46} // namespace circt
47
48#endif // CIRCT_CONVERSION_IMPORTAIGER_H
mlir::LogicalResult importAIGER(llvm::SourceMgr &sourceMgr, mlir::MLIRContext *context, mlir::TimingScope &ts, mlir::ModuleOp module, const ImportAIGEROptions *options=nullptr)
Parse an AIGER file and populate the given MLIR module with corresponding AIG dialect operations.
void registerImportAIGERTranslation()
Register the import-aiger MLIR translation.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Options for AIGER import.
Definition ImportAIGER.h:29
std::string topLevelModule
The name to use for the top-level module.
Definition ImportAIGER.h:32