16#ifndef DIALECT_ESI_PASSDETAILS_H
17#define DIALECT_ESI_PASSDETAILS_H
30#include "mlir/IR/DialectRegistry.h"
31#include "mlir/Pass/Pass.h"
32#include "mlir/Transforms/DialectConversion.h"
39template <
typename OpTy>
46 ConversionPatternRewriter &rewriter)
const final {
63 Attribute dataDelayValue);
const StringAttr dataOutValid
hw::HWModuleExternOp declareCosimEndpointFromHostModule(Operation *symTable)
const StringAttr dataInValid
const StringAttr dataOutReady
std::optional< hw::HWModuleExternOp > declaredCosimEndpointToHostModule
hw::HWModuleExternOp declareCosimEndpointToHostModule(Operation *symTable)
Write an 'ExternModuleOp' to use a hand-coded SystemVerilog module.
ArrayAttr getStageParameterList(Attribute widthValue, Attribute dataDelayValue)
Get the parameter list for the stage module.
const StringAttr dataDelay
ESIHWBuilder(Operation *top)
std::optional< hw::HWModuleExternOp > declaredCosimEndpointFromHostModule
llvm::DenseMap< Type, hw::HWModuleExternOp > declaredStage
hw::HWModuleExternOp declareStage(Operation *symTable, PipelineStageOp)
Write an 'ExternModuleOp' to use a hand-coded SystemVerilog module.
const StringAttr dataInReady
uint64_t getWidth(Type t)
StringAttr getTypeID(Type t)
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Generic pattern for removing an op during pattern conversion.
typename OpConversionPattern< OpTy >::OpAdaptor OpAdaptor
LogicalResult matchAndRewrite(OpTy op, OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final