MLIR-AIE 1.4.5.dev
xilinx::AIE::PacketIdSpace Class Reference

The packet ids a device has already spoken for. More...

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

Public Member Functions

 PacketIdSpace (DeviceOp device)
int maxId () const
 The largest id the target's header field holds.
bool isTaken (int id) const
void take (int id)
std::optional< int > takeLowestFrom (int from=0)
 Takes and returns the lowest free id at or above from, or nothing when the field is exhausted.

Detailed Description

The packet ids a device has already spoken for.

Every switchbox rule on a stream matches on the id, so two flows sharing one is a routing hazard, and whoever hands out ids reads this first. It counts every holder, whatever stage the design is at: an aie.packet_flow, the pinned header of an aie.route or of an aie.objectfifo not yet split, and an aie.trace.packet with an id.

Definition at line 25 of file AIEPacketIdSpace.h.

Constructor & Destructor Documentation

◆ PacketIdSpace()

PacketIdSpace::PacketIdSpace ( DeviceOp device)
explicit

Definition at line 13 of file AIEPacketIdSpace.cpp.

References xilinx::AIE::getTargetModel().

Member Function Documentation

◆ isTaken()

bool xilinx::AIE::PacketIdSpace::isTaken ( int id) const
inline

Definition at line 32 of file AIEPacketIdSpace.h.

◆ maxId()

int xilinx::AIE::PacketIdSpace::maxId ( ) const
inline

The largest id the target's header field holds.

Definition at line 30 of file AIEPacketIdSpace.h.

◆ take()

void xilinx::AIE::PacketIdSpace::take ( int id)
inline

Definition at line 33 of file AIEPacketIdSpace.h.

◆ takeLowestFrom()

std::optional< int > PacketIdSpace::takeLowestFrom ( int from = 0)

Takes and returns the lowest free id at or above from, or nothing when the field is exhausted.

Definition at line 34 of file AIEPacketIdSpace.cpp.


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