Europe/Paris
Posts

CIC + FIR Decimation on FPGA: Alias Control Without Wasting DSP Slices

March 14, 2026
CIC filters are attractive because they use adders and delay lines instead of multipliers. For large integer decimation factors, they are resource efficient. Magnitude response of an N-stage CIC decimator: |H(f)| = | sin(pi * R * f) / sin(pi * f) |^N with decimation factor R. The downside is passband droop and limited stopband shape. A common architecture:
  • Stage 1: CIC decimator for bulk rate reduction
  • Stage 2: Small FIR compensation filter to flatten passband
  • Stage 3: Optional channel-select FIR for sharper skirts
This gives near-optimal power/resource behavior when front-end rates are high.
  • Use sufficient accumulator width in integrator stages (guard bits matter).
  • Place truncation points intentionally; random truncation degrades EVM.
  • Schedule FIR at lower post-decimation rate to save DSP blocks.
  • Validate alias rejection with swept multitone stimuli, not just single tones.
If your required transition band is very tight and decimation is modest, a polyphase FIR might outperform CIC+FIR in spectral quality. But for aggressive first-stage decimation, CIC remains hard to beat for efficiency.
On this page