8#ifndef AIE_CONVERSION_AIETOCONFIGURATION_AIETOCONFIGURATION_H
9#define AIE_CONVERSION_AIETOCONFIGURATION_AIETOCONFIGURATION_H
11#include "mlir/IR/BuiltinOps.h"
12#include "mlir/Pass/Pass.h"
33std::unique_ptr<mlir::OperationPass<xilinx::AIE::DeviceOp>>
36std::unique_ptr<mlir::OperationPass<xilinx::AIE::DeviceOp>>
39std::optional<mlir::ModuleOp>
41 std::vector<uint8_t> &binary);
47 mlir::OpBuilder &builder, xilinx::AIE::DeviceOp device,
51 bool skipCtrlPktOverlay =
false);
60 llvm::ArrayRef<std::pair<mlir::Operation *, xilinx::AIE::DeviceOp>> sites,
70 xilinx::AIE::DeviceOp device,
89 return (
static_cast<unsigned>(value) &
static_cast<unsigned>(flag)) != 0;
114 mlir::OpBuilder &builder, xilinx::AIE::DeviceOp device,
116 ResetConfig coreConfig, xilinx::AIE::DeviceOp previousDevice);
bool hasFlag(ResetTileType value, ResetTileType flag)
mlir::LogicalResult generateAndInsertResetOps(mlir::OpBuilder &builder, xilinx::AIE::DeviceOp device, ResetConfig dmaConfig, ResetConfig switchConfig, ResetConfig lockConfig, ResetConfig coreConfig, xilinx::AIE::DeviceOp previousDevice)
mlir::LogicalResult insertConfigOps(llvm::ArrayRef< std::pair< mlir::Operation *, xilinx::AIE::DeviceOp > > sites, AIEToConfigurationOutputType outputType)
mlir::LogicalResult inlineWriteConfigs(mlir::ModuleOp module)
std::unique_ptr< mlir::OperationPass< xilinx::AIE::DeviceOp > > createConvertAIEToTransactionPass()
mlir::LogicalResult generateAndInsertConfigOps(mlir::OpBuilder &builder, xilinx::AIE::DeviceOp device, xilinx::AIEX::BlockwriteData &blockwriteData, llvm::StringRef clElfDir="", AIEToConfigurationOutputType outputType=AIEToConfigurationOutputType::Transaction, bool skipCtrlPktOverlay=false)
AIEToConfigurationOutputType
std::optional< mlir::ModuleOp > convertTransactionBinaryToMLIR(mlir::MLIRContext *ctx, std::vector< uint8_t > &binary)
std::unique_ptr< mlir::OperationPass< xilinx::AIE::DeviceOp > > createConvertAIEToControlPacketsPass()
mlir::LogicalResult generateAndInsertTeardownOps(mlir::OpBuilder &builder, xilinx::AIE::DeviceOp device, xilinx::AIEX::BlockwriteData &blockwriteData, AIEToConfigurationOutputType outputType=AIEToConfigurationOutputType::Transaction)
ResetConfig(ResetTileType tt=ResetTileType::None, ResetMode m=ResetMode::Never)