|
CIRCT 23.0.0git
|
#include "circt/Dialect/ESI/ESIOps.h"#include "circt/Dialect/HW/HWOpInterfaces.h"#include "circt/Dialect/HW/HWTypes.h"#include "circt/Dialect/SV/SVOps.h"#include "circt/Dialect/SV/SVTypes.h"#include "circt/Support/LLVM.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinTypes.h"#include "mlir/IR/PatternMatch.h"#include "mlir/IR/SymbolTable.h"#include "circt/Dialect/ESI/ESI.cpp.inc"#include "circt/Dialect/ESI/ESIInterfaces.cpp.inc"
Go to the source code of this file.
Namespaces | |
| namespace | circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
| namespace | circt::esi |
Macros | |
| #define | GET_OP_CLASSES |
Functions | |
| ParseResult | parseWrapFIFOType (OpAsmParser &p, Type &dataType, Type &chanInputType) |
| void | printWrapFIFOType (OpAsmPrinter &p, WrapFIFOOp wrap, Type dataType, Type chanType) |
| static Type | getEsiDataType (circt::sv::InterfaceOp iface) |
| If 'iface' looks like an ESI interface, return the inner data type. | |
| static LogicalResult | verifySVInterface (Operation *op, circt::sv::ModportType modportType, ChannelType chanType) |
| Verify that the modport type of 'modportArg' points to an interface which looks like an ESI interface and the inner data from said interface matches the chan type's inner data type. | |
| static bool | parseInferWindowRet (OpAsmParser &p, Type &frame, Type &windowOut) |
| Determine the input type ('frame') from the return type ('window'). | |
| static void | printInferWindowRet (OpAsmPrinter &p, Operation *, Type, Type window) |
| static FailureOr< ServiceDeclOpInterface > | getServiceDecl (Operation *op, SymbolTableCollection &symbolTable, hw::InnerRefAttr servicePort) |
| Get the port declaration op for the specified service decl, port name. | |
| static FailureOr< ServicePortInfo > | getServicePortInfo (Operation *op, SymbolTableCollection &symbolTable, hw::InnerRefAttr servicePort) |
| Get the port info for the specified service decl and port name. | |
| LogicalResult | circt::esi::checkInnerTypeMatch (Type expected, Type actual) |
| LogicalResult | circt::esi::checkBundleTypeMatch (Operation *req, ChannelBundleType svcBundleType, ChannelBundleType reqBundleType, bool skipDirectionCheck) |
| Check that the channels on two bundles match allowing for AnyType in the 'svc' bundle. | |
| static ParseResult | parseUnPackBundleType (OpAsmParser &parser, SmallVectorImpl< Type > &toChannelTypes, SmallVectorImpl< Type > &fromChannelTypes, Type &type) |
| template<typename T3 , typename T4 > | |
| static void | printUnPackBundleType (OpAsmPrinter &p, Operation *, T3, T4, Type bundleType) |
| bool | parseServiceImplRecordReqDetails (OpAsmParser &parser, Region &reqDetailsRegion) |
| void | printServiceImplRecordReqDetails (OpAsmPrinter &p, ServiceImplRecordOp, Region &reqDetailsRegion) |
| #define GET_OP_CLASSES |
Definition at line 888 of file ESIOps.cpp.
|
static |
If 'iface' looks like an ESI interface, return the inner data type.
Definition at line 289 of file ESIOps.cpp.
Referenced by verifySVInterface().
|
static |
Get the port declaration op for the specified service decl, port name.
Definition at line 401 of file ESIOps.cpp.
Referenced by getServicePortInfo().
|
static |
Get the port info for the specified service decl and port name.
Definition at line 416 of file ESIOps.cpp.
References getServiceDecl().
|
static |
Determine the input type ('frame') from the return type ('window').
Definition at line 363 of file ESIOps.cpp.
| bool parseServiceImplRecordReqDetails | ( | OpAsmParser & | parser, |
| Region & | reqDetailsRegion | ||
| ) |
Definition at line 816 of file ESIOps.cpp.
|
static |
Definition at line 593 of file ESIOps.cpp.
References assert().
| ParseResult parseWrapFIFOType | ( | OpAsmParser & | p, |
| Type & | dataType, | ||
| Type & | chanInputType | ||
| ) |
Definition at line 202 of file ESIOps.cpp.
|
static |
Definition at line 372 of file ESIOps.cpp.
| void printServiceImplRecordReqDetails | ( | OpAsmPrinter & | p, |
| ServiceImplRecordOp | , | ||
| Region & | reqDetailsRegion | ||
| ) |
Definition at line 824 of file ESIOps.cpp.
|
static |
Definition at line 612 of file ESIOps.cpp.
| void printWrapFIFOType | ( | OpAsmPrinter & | p, |
| WrapFIFOOp | wrap, | ||
| Type | dataType, | ||
| Type | chanType | ||
| ) |
Definition at line 215 of file ESIOps.cpp.
|
static |
Verify that the modport type of 'modportArg' points to an interface which looks like an ESI interface and the inner data from said interface matches the chan type's inner data type.
Definition at line 304 of file ESIOps.cpp.
References getEsiDataType().