Designing a CIC filter for an FPGA – Efficient Fixed-Point I

Data type optimization to find the optimal data types to convert fixed point CIC filter model
347 Downloads
Updated 18 Jul 2018

View License

In Simulink, you can design signal processing algorithms such as IIR filters, CIC filters etc. In this example, we show how you can take a CIC filter design in Fixed-point and convert it to an optimal fixed-point model that is efficient with respect to the resource utilization on an FPGA.
The data type optimization feature in Fixed Point Designer:
• Automatically iterates and chooses the smallest heterogeneous data types for your system under design while meeting behavioral constraints
• Optimizes bit width by choosing smallest data types that can meet the user specified tolerances for quantization noise
The download contains a CIC filter using 32 bit Fixed point data types and a script that uses data type optimization to convert it to an optimal fixed-point design. We have also included the optimal solution model which you get as the output of the optimization along with the resource utilization metrics from the Vivado toolchain.
Please refer to the following documentation link to learn more about this feature:
Data type optimization: http://www.mathworks.com/help/fixedpoint/ref/fxpopt.html
https://www.youtube.com/watch?v=nkZAB7LIRXI

Cite As

MathWorks Fixed Point Team (2024). Designing a CIC filter for an FPGA – Efficient Fixed-Point I (https://www.mathworks.com/matlabcentral/fileexchange/66679-designing-a-cic-filter-for-an-fpga-efficient-fixed-point-i), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.1

Updated thumbnail

1.0.0.0

Updated thumbnail
Added the video.