Objective:
Design an FIR Filter to compute the output[] based on the delayed samples (₀, ₁, ₂, ₃) and the coefficients (₀, ₁, ₂, ₃) using the following equation:
Y[n]=S0⋅A0+S1⋅A1+S2⋅A2+S3⋅A3
Y[n] = S₀ ⋅ A₀ + S₁ ⋅ A₁ + S₂ ⋅A₂ + S₃ ⋅ A₃
Y[n]=S0⋅A0+S1⋅A1+S2⋅A2+S3⋅A3
The filter must adhere to the following hardware constraints:
Constraints:
- Single Multiplier:
All partial products ([] ⋅ []) must be computed sequentially. - Single Adder:
Partial products must be added to the accumulator in stages, reusing the same adder. - Sequential Processing:
The computation must be completed in 4 clock cycles, processing one stage ([] ⋅ []) per cycle. - Control Logic:
Control logic is required to sequentially load the samples [] and coefficients [] into the multiplier. Additionally, it must manage the accumulator and generate the output after the 4 cycles. - Shift Register:
The delayed samples (₀, ₁, ₂, ₃) must be managed using a Shift Register that automatically updates the values when a new sample [] is input.
System Design:
- Data Input:
A new sample () is input into the Shift Register, which updates the delayed samples (₀, ₁, ₂, ₃). - Partial Product Calculation:
The multiplier sequentially takes each delayed sample [] and coefficient [] to compute the partial product. - Accumulation:
The adder adds the partial product to the accumulator (). - Final Output:
After 4 cycles, the accumulator contains the output [].
I really need help with this project. I’ve been researching this topic for several days because in my course, we haven’t covered FIR filters, and I’ve been tasked with completing this assignment without having the necessary background knowledge. I’ve started working on a diagram, which they’ve asked to be “superficial,” meaning I don’t need to provide perfect details about the internal workings of each component. I’ll include an image of what I think should make up the system's diagram.
The constraint I have for designing my FIR filter is that I can only use a single multiplier. As it must consist of 4 stages, I need to design it to operate across 4 clock cycles.
This is the 4-stage FIR filter they told me about:
And this is what I’ve come up with so far, but I’m not entirely sure about it: