Multirate Examples - Multirate Examples - 2025.2 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2026-03-27
Version
2025.2 English

All examples use three kernels:

  • UpConv_7_5: Up-conversion 7/5, which is a passthrough filter with data extrapolation at the end.

  • DownConv_5_7: Down-conversion which is a data truncation.

  • Subtract: This kernel takes two inputs and subtracts them. This is a merge show case.

All kernels have the same input frame length (InputSize). The compiler decides on the number of calls for each kernel to harmonize the number of data produced and consumed on the whole system. You can view the frame length in the system_settings.h file:

#define BaseSize (5*7)
// 8 int32 --> 256 bits
#define VECTOR_LENGTH 8
#define InputSize (2*VECTOR_LENGTH*BaseSize)
#define NIterations 4

Various parameters appear here:

  • BaseSize: As the input size must divide by 5 or 7, depending on whether it is an up-conversion or a down-conversion, this BaseSize is necessary to handle only integer results.

  • VECTOR_LENGTH: Kernels optimize to use only vectors that are 256 bits in size.

  • InputSize: Size of the input frame.

  • NIterations: Number of iterations of the entire system.

No image!