IRON 1a5eed49d3c0721a318ac369f725acc96b7c4584
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
iron.dataflow.flow.Flow Class Reference
Inheritance diagram for iron.dataflow.flow.Flow:
Inheritance graph
[legend]
Collaboration diagram for iron.dataflow.flow.Flow:
Collaboration graph
[legend]

Public Member Functions

 __init__ (self, src, dst, *WireBundle src_port=WireBundle.DMA, int src_channel=0, WireBundle dst_port=WireBundle.DMA, int dst_channel=0, str|None shim_symbol=None)
 
 src (self)
 
 dst (self)
 
 op (self)
 
 all_tiles (self)
 
None resolve (self, ir.Location|None loc=None, ir.InsertionPoint|None ip=None)
 
- Public Member Functions inherited from iron.resolvable.Resolvable
list tiles (self)
 

Protected Attributes

 _src
 
 _dst
 
 _src_port
 
 _src_channel
 
 _dst_port
 
 _dst_channel
 
 _shim_symbol
 
 _op
 

Detailed Description

An explicit AXI-stream route between (src_tile, src_port, src_channel) and
(dst_tile, dst_port, dst_channel).

Lowers to a single ``aie.flow`` op.  The user is responsible for
arranging matching :class:`TileDma` channels on the producer and
consumer ends.

Constructor & Destructor Documentation

◆ __init__()

iron.dataflow.flow.Flow.__init__ (   self,
  src,
  dst,
*WireBundle   src_port = WireBundle.DMA,
int   src_channel = 0,
WireBundle   dst_port = WireBundle.DMA,
int   dst_channel = 0,
str | None   shim_symbol = None 
)
Construct a Flow.

Args:
    src (Tile): The source tile.
    dst (Tile): The destination tile.
    src_port (WireBundle): The source port bundle.  Defaults to DMA.
    src_channel (int): The source channel.  Defaults to 0.
    dst_port (WireBundle): The destination port bundle.  Defaults to DMA.
    dst_channel (int): The destination channel.  Defaults to 0.
    shim_symbol (str | None): When this Flow has a shim endpoint that
        will be driven from the runtime sequence (via
        ``shim_dma_single_bd_task("symbol", ...)``), provide the
        symbol name here and the Flow will emit a matching
        ``aie.shim_dma_allocation`` at the device level.  Direction
        is inferred: shim-as-source → MM2S, shim-as-dest → S2MM.

Member Function Documentation

◆ all_tiles()

iron.dataflow.flow.Flow.all_tiles (   self)
The tiles this Flow touches — Program uses this to resolve them.

◆ dst()

iron.dataflow.flow.Flow.dst (   self)

◆ op()

iron.dataflow.flow.Flow.op (   self)

◆ resolve()

None iron.dataflow.flow.Flow.resolve (   self,
ir.Location | None   loc = None,
ir.InsertionPoint | None   ip = None 
)
Resolve the current object into one or more MLIR operations.
Should only be called within an MLIR context.

Args:
    loc (ir.Location | None, optional): Location is used by MLIR object during construction in some cases. Defaults to None.
    ip (ir.InsertionPoint | None, optional): InsertionPoint is used by MLIR object during construction in some cases. Defaults to None.

Reimplemented from iron.resolvable.Resolvable.

◆ src()

iron.dataflow.flow.Flow.src (   self)

Member Data Documentation

◆ _dst

iron.dataflow.flow.Flow._dst
protected

◆ _dst_channel

iron.dataflow.flow.Flow._dst_channel
protected

◆ _dst_port

iron.dataflow.flow.Flow._dst_port
protected

◆ _op

iron.dataflow.flow.Flow._op
protected

◆ _shim_symbol

iron.dataflow.flow.Flow._shim_symbol
protected

◆ _src

iron.dataflow.flow.Flow._src
protected

◆ _src_channel

iron.dataflow.flow.Flow._src_channel
protected

◆ _src_port

iron.dataflow.flow.Flow._src_port
protected

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