Lab Task UTCN
Lab Task UTCN
The Task
Within signal processing systems there is often the need to calculate the
numerical average value for an input data stream. This implements a
simple low pass filter - smoothing out rapid changes in value in the data
stream but maintaining any overall trend. The greater the number of
samples used to calculate the average the more smoothing will occur.
The filter system will be required to run in "real time" and output the
average value at the same rate as the original input data.
The task is to develop a VHDL based model for the "Digital Filter / Rolling Average" system
combined with a data stream generator. Switches, Buttons and the Seven Segment Display
located on the Diligent S3 board will need to be included to demonstrate correct operation.
Control Settings:
Off - Off - Off
Off - Off - On
Off - On - Off
Off - On - On
On - On - Off
On - On - On
/Continued.
1
Sequence
A1 - 15,14,12,8,1,2,4,9,3,6,13,10,5,11,7...
4-bit LFSR - Tap Points 0,1,4
8-bit LFSR - Tap Points 0,1,5,6,8
9-bit LFSR - Tap Points 0,4,9
/Continued.
Method of Working
As with any systems design task reaching a solution may seem
at first complex, difficult and overwhelming. The answer is to
apply a methodical approach and break the task down into a set
of simpler building blocks that are far easier to understand and
model using VHDL i.e. "Divide and Conquer" - The systems
integration phase then combines these building blocks together,
again in a methodical way, to form the completed system.
There is no specific order that building blocks need to be
implemented but each block MUST be independently verified
and tested before it is integrated into a system. It is also
expected that the process of integration will also be a staged
process (incremental) and that there will be verification and
testing at each stage. Trying to implement and test a complete system in "one step" normally
ends in disaster and is not an acceptable approach.
The design process therefore is a repeated cycle of: "Plan Do Test Review (modify... Next Task "