Setting FIR Frame Size - 2024.2 English

Vitis Libraries

Release Date
2025-05-14
Version
2024.2 English

FIR Frame size selection, through the FIR Graph’s TP_INPUT_WINDOW_VSIZE template parameter is limited by a variety of factors, including a FIR variant or input interface type. FIR kernels operate on the frame size provided using heavy pipelining and code repetition to schedule vector multiply-accumulate (VMAC) operations as frequently as possible. As a result, FIRs architectures can use a repetition_factor of up to 8 to achieve the best scheduling and therefore performance. Taking into account that each vector operation might calculate four or eight output samples at a time, the selection of TP_INPUT_WINDOW_VSIZE can be allowed in increments of, e.g., 64.

Furthermore, rate-changing FIRs require the frame size to be divisible by TP_DECIMATION_FACTOR to fully process input data samples within the optimized loop.

Additionally, in SSR mode (see Super Sample Rate - Operation Modes), the user provided frame size is distributed across all input phases of the graph.

Therefore, the FIR graph’s frame size TP_INPUT_WINDOW_VSIZE must be divisible by TP_SSR * TP_DECIMATION_FACTOR * Repetition_factor.

An invalid selection will report a message in a form of Metadata error or a static_assert() with rule violation details and a suggestion of how to fix it.