Skip to content

Conversation

@jackl-xilinx
Copy link
Collaborator

@jackl-xilinx jackl-xilinx commented Nov 10, 2025

To configure the stream port connection, two new objectfifo attributes are introduced: aie_stream and aie_stream_port.

The aie_stream attribute can be:

  • 0: indicating that the producer tile will send the data via the aie stream on the specified aie_stream_port, the consumer tile will receive this data with its DMA,
  • 1: indicating that the consumer tile will receive the data through the aie stream on the specified aie_stream_port, the producer tile will send this data with its DMA,
  • 2: indicating that the producer tile will send the data via the aie stream and the consumer tile will also receive it via the aie stream, both on the specified aie_stream_port.

Unlike the DMA ports which are allocated by the objectfifo lowering, the user has to configured the port of the stream connection as the same port will be used when writing the C kernel that will get/put data on the stream.

These attributes can also be configured at IRON level, using the objectfifo function set_aie_stream():

of3 = object_fifo("of3", S, C_, 2, np.ndarray[(256,), np.dtype[np.int32]])
of3.set_aie_stream(stream_end=1, stream_port=1)

The end of the objectfifo which is configured to use a stream connection will not generate any memory allocations or synchronization resources such as locks. The other end will be generated as before.

TODO:

  • end-to-end IRON example
  • documentation
  • test compatibility with other objectfifo features + error messaging

@jackl-xilinx jackl-xilinx changed the title Integrate half-objfifo concept to support stream port connection on one side of an objfifos Integrate "half-objfifo" concept to support stream port connection on one side of objfifos Nov 10, 2025
@AndraBisca AndraBisca changed the title Integrate "half-objfifo" concept to support stream port connection on one side of objfifos Integrate support for stream port connections on objectfifos Nov 24, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

Coverage Report

Created: 2025-11-25 18:34

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
IR/AIEDialect.cpp 93.57% 86.75% 87.71% 79.55%
Transforms/AIEObjectFifoStatefulTransform.cpp 100.00% 94.79% 92.45% 86.59%
Totals 95.24% 90.95% 89.70% 82.74%
Generated by llvm-cov -- llvm version 18.1.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants