MLIR-AIE
Public Types | Public Member Functions | Public Attributes | List of all members
xilinx::AIE::AIEPathfinderPass Struct Reference

Overall Flow: rewrite switchboxes to assign unassigned connections, ensure this can be done concurrently ( by different threads) More...

#include "aie/Dialect/AIE/Transforms/AIEPasses.h"

+ Inheritance diagram for xilinx::AIE::AIEPathfinderPass:
+ Collaboration diagram for xilinx::AIE::AIEPathfinderPass:

Public Types

typedef std::pair< mlir::Operation *, PortPhysPort
 

Public Member Functions

 AIEPathfinderPass ()=default
 
 AIEPathfinderPass (DynamicTileAnalysis analyzer)
 
void runOnOperation () override
 
void runOnFlow (DeviceOp d)
 
void runOnPacketFlow (DeviceOp d, mlir::OpBuilder &builder)
 
bool findPathToDest (SwitchSettings settings, TileID currTile, WireBundle currDestBundle, int currDestChannel, TileID finalTile, WireBundle finalDestBundle, int finalDestChannel)
 

Public Attributes

DynamicTileAnalysis analyzer
 
mlir::DenseMap< TileID, mlir::Operation * > tiles
 

Detailed Description

Overall Flow: rewrite switchboxes to assign unassigned connections, ensure this can be done concurrently ( by different threads)

  1. Goal is to rewrite all flows in the device into switchboxes + shim-mux
  2. multiple passes of the rewrite pattern rewriting streamswitch configurations to routes
  3. rewrite flows to stream-switches using 'weights' from analysis pass.
  4. check a region is legal
  5. rewrite stream-switches (within a bounding box) back to flows

Definition at line 64 of file AIEPasses.h.

Member Typedef Documentation

◆ PhysPort

typedef std::pair<mlir::Operation *, Port> xilinx::AIE::AIEPathfinderPass::PhysPort

Definition at line 77 of file AIEPasses.h.

Constructor & Destructor Documentation

◆ AIEPathfinderPass() [1/2]

xilinx::AIE::AIEPathfinderPass::AIEPathfinderPass ( )
default

◆ AIEPathfinderPass() [2/2]

xilinx::AIE::AIEPathfinderPass::AIEPathfinderPass ( DynamicTileAnalysis  analyzer)
inline

Definition at line 70 of file AIEPasses.h.

Member Function Documentation

◆ findPathToDest()

bool xilinx::AIE::AIEPathfinderPass::findPathToDest ( SwitchSettings  settings,
TileID  currTile,
WireBundle  currDestBundle,
int  currDestChannel,
TileID  finalTile,
WireBundle  finalDestBundle,
int  finalDestChannel 
)

Definition at line 211 of file AIECreatePathFindFlows.cpp.

References findPathToDest(), and xilinx::AIE::src.

Referenced by findPathToDest(), and runOnPacketFlow().

◆ runOnFlow()

void xilinx::AIE::AIEPathfinderPass::runOnFlow ( DeviceOp  d)

Definition at line 177 of file AIECreatePathFindFlows.cpp.

References analyzer.

◆ runOnOperation()

void xilinx::AIE::AIEPathfinderPass::runOnOperation ( )
override

Definition at line 938 of file AIECreatePathFindFlows.cpp.

References xilinx::AIE::col, and xilinx::AIE::row.

◆ runOnPacketFlow()

void xilinx::AIE::AIEPathfinderPass::runOnPacketFlow ( DeviceOp  d,
mlir::OpBuilder &  builder 
)

Member Data Documentation

◆ analyzer

DynamicTileAnalysis xilinx::AIE::AIEPathfinderPass::analyzer

Definition at line 66 of file AIEPasses.h.

Referenced by runOnFlow(), and runOnPacketFlow().

◆ tiles

mlir::DenseMap<TileID, mlir::Operation *> xilinx::AIE::AIEPathfinderPass::tiles

Definition at line 67 of file AIEPasses.h.

Referenced by runOnPacketFlow().


The documentation for this struct was generated from the following files: