Streaming Interface - 2025.1 English

Vitis Libraries

Release Date
2025-06-04
Version
2025.1 English

The Convolution/Correlation operation via streaming is supported only on AIE devices. Streaming support is not available on AIE-ML and AIE-MLv2 devices.

TP_API - 1 indicates STREAM interface.
  • The input F signal is assumed to be streaming on the AXI-Stream interface. As F is consumed on streams, the selection of Length(F) can be higher to achieve higher throughput.

  • The input G signal is assumed to be a window on the I/O buffer interface.

  • TP_COMPUTE_MODE is fixed to VALID since padding is not required for the F signal, as F is always a continuous stream for both convolution and correlation.

  • Typical use cases that can benefit from the stream interface kernel involve having a continuous stream of F, for which a convolution or correlation with a known pattern (e.g., G) must be computed.

    Cascaded Kernels
    • Number of kernels to be cascaded together to distribute the computation of convolution or corrleation is controlled by TP_CASC_LEN template parmaeter. The library provides access functions to determine the value of TP_CASC_LEN that gives you the optimum performance, i.e., the minimum number of kernels that can provide the maximum performance. More details can be found in API Reference Overview.

    Parallel Input/Output paths - Input/Output samples are distributed over multiple parallel computation paths, which is controlled by TP_PHASES template parameter.

Stream Processing: Num of Phases TP_PHASES can be increased only when each cascade stream has maximum data rate i.e with maximum cascade length (4)
To achieve data rate less than 1GSPS, Cascade length parameter can be decreased in a single phase design.
To achieve data rate more than 1GSPS, NUM_PHASES parameter should be increased by keeping
the TP_CASC_LEN parameter to its maximum possible value (i.e. the value required to achieve 1GSPS when TP_PHASES is equal to 1)

STREAM OUTPUT:
  • When the user wants to compare the output with reference data, please ensure to discard M samples, where M is an integer that can be computed as described below based on the user’s configuration. This discarding of M samples is due to the transpose form of the implementation of Convolution and Correlation, which causes the initial M samples to not match until the steady state is achieved.