Finite impulse response (FIR) filters are a basic building block of DSP systems and come in a variety of types and configurations. There are multiple FIR filter structures that are supported by the DSP primitives. The following lists them in order of performance from low to high.
- Single-multiplier MACC
- Symmetric MACC FIR Filter
- Semi-Parallel FIR Filter
- Systolic FIR Filter (includes direct and transpose form)
The easiest ways to design with fixed point FIR is using the FIR compiler IP (see the FIR Compiler LogiCORE IP Product Guide (PG149)). Quantizing coefficients is also discussed in this IP product guide. The following list of FIR filters are implemented in this IP tool. Coefficient symmetry is also supported for many of these filters.
- Single rate FIR
- Half-band FIR
- Hilbert transform
- Interpolated FIR
- Polyphase interpolator
- Polyphase decimator
- Half-band decimator
- Half-band interpolator
- Fixed fractional rate resampling filters
- Super sample-rate FIR filters
For the absolute maximum performance for a systolic single-rate FIR filter, consider using the SSR_FIR. This IP has limited features but provides the highest performance with multiple parallel paths (super sample rate) for single-rate FIR filters within UltraScale or Versal devices. Different filter types can also be built from this basic building block. This IP is provided as a black box Vitis tools model composer design, but the RTL files can imported and used in the Vivado tools.