A C version of Rick Lyon's Matlab implementation of Hogenauer's CIC filter register pruning algorithm
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Makefile
README.md
cic_comb.v
cic_gen.c
cic_integrator.v
kiwi.gen.h

README.md

A C version of Rick Lyon's Matlab implementation of Hogenauer's CIC filter register pruning algorithm.

A Verilog file is generated containing unrolled calls to the integrator and comb sections at the pruned bit widths. Assumes you have a Verilog wrapper that looks like this:

	wire signed [IN_WIDTH-1:0] in = ...;
	wire signed [OUT_WIDTH-1:0] out;
	`include "cic_test.vh"

And the modules "cic_integrator" and "cic_comb" called by the generated code that implement the actual CIC filter (examples included in package). Variables "in" and "out" connect to the generated code.

See Rick's original article at: http://www.dsprelated.com/showcode/269.php

More info at: http://jks.com/cic/cic.html