MLIR-AIE 1.4.5.dev
AIEStreamDependencyAnalysis.h File Reference
#include "aie/Dialect/AIE/IR/AIEDialect.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallVector.h"
#include <map>
#include <optional>
#include <string>
#include <tuple>
#include <vector>
Include dependency graph for AIEStreamDependencyAnalysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  xilinx::AIE::StreamEndpoint
 A tile port at the edge of the stream fabric. More...
struct  xilinx::AIE::TileDMAChannel
 One DMA channel of one tile. More...
struct  xilinx::AIE::DmaChannelProgram
 The BD chain a DMA channel runs, as one aie.dma_start, aie.dma or runtime task programs it. More...
struct  xilinx::AIE::StreamHop
 A switchbox a stream passes: the port it enters by and, where it is packet switched there, the arbiter it takes. More...
struct  xilinx::AIE::RoutedStream
 One stream from a source tile port to a destination tile port, recovered from the physical switchbox and shim-mux configuration. More...
struct  xilinx::AIE::HoldCycle
 A cycle of waits packet streams can deadlock in, given their routes. More...
struct  xilinx::AIE::HoldCycle::Step
class  xilinx::AIE::StreamVolumeAnalysis
 How much data a stream carries over a run and how much a receiver takes in before it has to wait on another agent, read off BD lengths, repeat counts, lock initial values and runtime transfers. More...
class  xilinx::AIE::StreamWaitGraph
 Which agent waits on which. More...
struct  xilinx::AIE::StreamWaitGraph::Agent
 A core, a DMA channel, or a tile's controller. More...
class  xilinx::AIE::StreamDeadlockAnalysis
 Which streams can deadlock against each other if they share an arbiter or a link. More...
class  xilinx::AIE::StreamConflicts
 The streams a device asks for or already routes, and which pairs of them must not share an arbiter or a link. More...

Namespaces

namespace  xilinx
namespace  xilinx::AIE

Functions

std::vector< RoutedStream > xilinx::AIE::traceRoutedStreams (DeviceOp device)
 Follows every stream from its source tile port through the configured switchboxes, using tile geometry for the links between them.
std::vector< RoutedStream > xilinx::AIE::requestedStreams (DeviceOp device)
 The streams the aie.flow and aie.packet_flow ops ask for, one per source, destination and packet id, before any of them is routed.
std::string xilinx::AIE::describeStream (const RoutedStream &stream)
 Names the stream by its endpoints and packet id, e.g.