Simple FIR VHDL example code.

Written by Tom on Monday 09/04/07

This is a simple 4 tap FIR. This is a dedicated filter. A general purpose filter will be worked on later.

I don’t know a lot about DSP so just got the example from "Circuit Design with VHDL" by Volnei A. Pedroni, working with GHDL.

The basic formula is below.

y(n) = c0x(n) + c1x(n-1)+...+ckx(n-k)

And can be expressed as

y(n) = m(sigma)k=0 ckx(n-k)


y(n) is the output for n

m is the number of coef/Taps in this case it should be m-1 as the arrays are index from 0

k is the index to start from

c is the array of coef

x(n-k) is the input for n

The above formula was implemented in this project.

Download the project from here.

GTKWaveSignals.jpg contains the simulated signals.

Use the go.bat to compile and run GTKWave.