CIC Filter - 2020.2 English

Vivado Design Suite Reference Guide: Model-Based DSP Design Using System Generator (UG958)

Document ID
Release Date
2020.2 English

Cascaded integrator-comb (CIC) filters are multirate filters used for realizing large sample rate changes in digital systems. Both decimation and interpolation structures are supported. CIC filters contain no multipliers; they consist only of adders, subtractors, and registers. They are typically employed in applications that have a large excess sample rate. That is, the system sample rate is much larger than the bandwidth occupied by the signal. CIC filters are frequently used in digital down-converters and digital up-converters.

Implementation details are provided in the filter design Subsystems. To read the annotations, place the block in a model, then right-click on the block and select Explore from the popup menu. Double click on one of the sub-blocks to open the sub-block model and read the annotations.

Block Interface

The CIC Block has a single data input port and a data output port:

  • xn: data input port, can be between 1 and 128 bits (inclusive)
  • yn: data output port

The two basic building blocks of a CIC filter are the integrator and the comb. A single integrator is a single-pole IIR filter with a transfer function of:

H(z) = (1 - z-1 )-1

The integrator's unity feedback coefficient is y[n] = y[n-1] + x[n].

A single comb filter is an odd-symmetric FIR filter described by:

y[n] = x[n] - x[n - RM]

M is the differential delay selected in the block dialog box, and R is the selected integer rate change factor. The transfer function for a single comb stage is

H(z) = 1 -z-RM

As seen in the two figures below, the CIC filter cascades N integrator sections together with N comb sections. To keep the integrator and comb structures independent of rate change, a rate change block (for example, an up-sampler, or down-sampler) is inserted between the sections. In the interpolator, the up-sampler causes a rate increase by a factor of R by inserting R-1 zero-valued samples between consecutive samples of the comb section output. In the decimator, the down-sampler reduces the sample rate by a factor of R by taking sub-samples of the output from the last integrator stage.

Figure 1. CIC Filter

Block Parameters

The block parameters dialog box can be invoked by double-clicking the icon in your Simulink® model.

Parameters specific to this reference block are as follows:

Input Bit Width
Width of input sample.
Input Binary Point
Binary point location of input.
Filter Type
Interpolator or Decimator
Sample Rate Change
8 to 16384 (inclusive)
Number of Stages
1 to 32 (inclusive)
Differential Delay
1 to 4 (inclusive)
Pipeline Differentiators
On or Off


E. B. Hogenauer. An economical class of digital filters for decimation and interpolation. IEEE Transactions on Acoustics, Speech and Signal Processing, ASSP- 29(2):155{162, 1981