The programmable filter engine (PFE) is a configurable and expandable IP that implements FIR, decimation, interpolation and IIR filtering functions. The user is afforded the ability to allocate and configure the resources of a set of instantiated filtering element functions to satisfy the project requirements. A micro-code program is developed, using the engine's instruction set, to configure the connectivity of the engine filter elements and then to control the engine execution of the required filtering functions.