Organize Computation for a 2.5 Gsps Data Stream in 2 Phases - 2025.1 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2025-08-25
Version
2025.1 English

For a single-rate filter, a 2.5 Gsps input sample rate also means a 2.5 Gsps output sample rate. Because the input stream is separated into two (even, odd) streams, the output stream must be split the same way.

Take a look at how y0 is computed:

Y0Compute

If the data stream is split into two phases, it can be seen that the coefficients also have to be split into two phases.

Y0Compute2Phases

Also take a look at how y2 is computed:

Y2Compute

Y2Compute2Phases

For the even output stream, the data and coefficient phases should match:

  • Even data phase sent through a filter built with the even phase coefficients

  • Odd data phase sent through a filter built with the odd phase coefficients

Take a look at how this is modified for the odd outputs:

YoddCompute

In this case, the phases of the data and coefficients should be mixed:

  • Even data phase sent through a filter built with the odd phase coefficients

  • Odd data phase sent through a filter built with the even phase coefficients

There is a further difference between the two. In the odd output case, they (even data, odd coefficients) should discard one data at the beginning of the stream.

In the previous section, the balance between data transfer and compute performance of the AI Engine was obtained for a 1.25 Gsps data stream going through an eight tap filter. The balance is identical here. As we have eight different filters, we can process 4x 1.25 Gsps streams in parallel.

The data stream and the coefficients must be split into four phases and then recombined. In the following figures, the various colors correspond to a different phase for the data (blue) and the coefficients(red):

  • Output phase 0, will be split and recombined as follows: Phase0Out Phase0OutDetail

  • Output phase 1, will be split and recombined as follows: Phase1Out Phase1OutDetail

  • Output phase 2, will be split and recombined as follows: Phase2Out Phase2OutDetail

  • Output phase 3, will be split and recombined as follows: Phase3Out Phase3OutDetail

The Data and the Coefficients being split into N Phases (four in this case), the resulting architecture requires NPhases x NPhases (4x4 = 16) to be implemented.