|
IRON 1a5eed49d3c0721a318ac369f725acc96b7c4584
|


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 | |
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.
| 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.
| iron.dataflow.flow.Flow.all_tiles | ( | self | ) |
The tiles this Flow touches — Program uses this to resolve them.
| iron.dataflow.flow.Flow.dst | ( | self | ) |
| iron.dataflow.flow.Flow.op | ( | self | ) |
| 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.
| iron.dataflow.flow.Flow.src | ( | self | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |