IRON 1a5eed49d3c0721a318ac369f725acc96b7c4584
Loading...
Searching...
No Matches
Classes | Functions
iron.dataflow.flow Namespace Reference

Classes

class  Flow
 
class  PacketDest
 
class  PacketFlow
 

Functions

 _emit_shim_dma_alloc (str kind, shim_symbol, src, src_channel, dst, dst_channel)
 

Detailed Description

Iron-level circuit- and packet-switched route primitives.

Two classes live here: :class:`Flow` (circuit-switched) and
:class:`PacketFlow` (packet-switched, with explicit packet IDs), plus
the small :class:`PacketDest` dataclass PacketFlow uses for its
destination list.  They share a private ``_emit_shim_dma_alloc``
helper and are treated as a sibling pair by ``dataflow/__init__.py``;
splitting them across two modules would either duplicate the helper
or require a third file to hold it.

Both are peers of :class:`ObjectFifo` in the dataflow namespace.
ObjectFifo wraps *route + buffers + locks + DMA* into one
circular-buffer abstraction; ``Flow`` / ``PacketFlow`` are the
lower-level "just declare the route" primitives, paired with explicit
:class:`TileDma` programs (and :class:`Buffer` / :class:`Lock`
shared state) for designs that need direct control.

Function Documentation

◆ _emit_shim_dma_alloc()

iron.dataflow.flow._emit_shim_dma_alloc ( str  kind,
  shim_symbol,
  src,
  src_channel,
  dst,
  dst_channel 
)
protected