FIR Tap Filter Optimization CE222 Final Project Spring 2003 S oleste H ilberg N icole S tarr.

Slides:



Advertisements
Similar presentations
Programmable FIR Filter Design
Advertisements

Final Project Overall Design Presented By: Akram Ahmed Date: 19 November 2014 CMPE 691: Digital Signal Processing Hardware Implementation.
Architecture-Specific Packing for Virtex-5 FPGAs
Intel Pentium 4 ENCM Jonathan Bienert Tyson Marchuk.
1 ECE734 VLSI Arrays for Digital Signal Processing Chapter 3 Parallel and Pipelined Processing.
EE 445S Real-Time Digital Signal Processing Lab Fall 2013 Lab #3.1 Digital Filters Chao Jia.
1 3-Tap FIR Filter Optimizations By: Jeff Rybczynski CMPE 222.
CS-447– Computer Architecture Lecture 12 Multiple Cycle Datapath
Register-Transfer Level (RTL) Design
Development of Final Year projects Group Members: Prof. Suman David, Prof. Mathivanan, Prof. S.N. Bhat, Kalpana Bhat, Prof.Manu T.M, Prof. Kishore Kumar.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
EE 141 Project 2May 8, Outstanding Features of Design Maximize speed of one 8-bit Division by: i. Observing loop-holes in 8-bit division ii. Taking.
Sampling, Reconstruction, and Elementary Digital Filters R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Sequential Logic 1  Combinational logic:  Compute a function all at one time  Fast/expensive  e.g. combinational multiplier  Sequential logic:  Compute.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
Digital Kommunikationselektronik TNE027 Lecture 4 1 Finite Impulse Response (FIR) Digital Filters Digital filters are rapidly replacing classic analog.
More Realistic 16-Tap FIR Presented By Lihua, DONG Deyan, LIU.
11/10/2004EE 42 fall 2004 lecture 301 Lecture #30 Finite State Machines Last lecture: –CMOS fabrication –Clocked and latched circuits This lecture: –Finite.
Implementation of Basic Digital Filter Structures R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Vector Multiplication & Color Convolution Team Members Vinay Chinta Sreenivas Patil EECC VLSI Design Projects Dr. Ken Hsu.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
GPGPU platforms GP - General Purpose computation using GPU
Digital Signals and Systems
ECE 448: Lab 4 FIR Filters.
Word-Size Optimization for Low Energy, Variable Workload Sub-threshold Systems Sudhanshu Khanna, Anurag Nigam ECE 632 – Fall 2008 University of Virginia.
By: Daniel BarskyNatalie Pistunovich Supervisors: Rolf HilgendorfInna Rivkin.
Registers CPE 49 RMUTI KOTAT.
High Speed, Low Power FIR Digital Filter Implementation Presented by, Praveen Dongara and Rahul Bhasin.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
EE3A1 Computer Hardware and Digital Design Lecture 6 supplement Common misunderstandings about VHDL processes.
Computer Architecture Lecture 4 Sequential Circuits Ralph Grishman September 2015 NYU.
ECE 448: Lab 6 DSP and FPGA Embedded Resources (Digital Downconverter)
DSP C5000 Chapter 16 Adaptive Filter Implementation Copyright © 2003 Texas Instruments. All rights reserved.
EE421, Fall 1998 Michigan Technological University Timothy J. Schulz 29-Sept, 1998EE421, Lecture 61 Lecture 6 - Sample Processing Methods l Basic building.
Pipeline Hazards. CS5513 Fall Pipeline Hazards Situations that prevent the next instructions in the instruction stream from executing during its.
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
ECE 448: Lab 5 DSP and FPGA Embedded Resources (Signal Filtering and Display)
EE204 L12-Single Cycle DP PerformanceHina Anwar Khan EE204 Computer Architecture Single Cycle Data path Performance.
Instructor: Evgeniy Kuksin Preformed by: Ziv Landesberg Duration: 1 semester.
ECE 448: Lab 7 Design and Testing of an FIR Filter.
Which one? You have a vector, a[ ], of random integers, which can modern CPUs do faster and why? //find max of vector of random ints max=0; for (inda=0;
CSIE30300 Computer Architecture Unit 04: Basic MIPS Pipelining Hsin-Chou Chi [Adapted from material by and
A Survey on Low Power Multiplication / Accumulation Speaker : Byoung-Woon Kim.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)
Pre-Processing Filter for Audio Applications By Nathan Shaw, Lerzan Celikkanat, and Xiangfeng Wang ELEC 422 VLSI Design 1 Fall 2005.
EE3A1 Computer Hardware and Digital Design Lecture 9 Pipelining.
Lecture 09b Finite Impulse Response (FIR) Filters
1 Lecture 3: Modeling Sequential Logic in Verilog HDL.
Multiplication
Signal Processing First
Chapter 16 Adaptive Filter Implementation
Lecture 11 FIR Filtering Intro
Part III: SYSTEM DESIGN
Discrete-Time Structure
By: Mohammadreza Meidnai Urmia university, Urmia, Iran Fall 2014
Multiplication
Subject Name: Digital Signal Processing Algorithms & Architecture
ECE 434 Advanced Digital System L13
Lecture 4: Discrete-Time Systems
ECE 448 Lecture 13 Multipliers Timing Parameters
VLSI Programming 2IMN35 Lab 1 Questionnaire
ECE 448: Lab 4 FIR Filters.
Digital Signal Processing
Assignment # 3 Chapter 4 End of Chapter questions P-4.6 Page 97
Lecture 22 IIR Filters: Feedback and H(z)
Little Man Computer.
Presentation transcript:

FIR Tap Filter Optimization CE222 Final Project Spring 2003 S oleste H ilberg N icole S tarr

FIR Tap Filter Finite Impulse Response Filter  FIR filters are one of the two primary types of digital filters used in Digital Signal Processing (DSP) applications  To implement the filter:  1. Put the input sample into the delay line  2. Multiply each sample in delay line by corresponding coefficient & accumulate result  3. Shift the delay line by one sample to make room for the next input sample

FIR Tap Filter  A FIR filter produces an output, y(n), that is the weighted sum of the current and past inputs, x(n)  A 3-tap filter is based on 3 previous inputs y n = b 0 x n + b 1 x n-1 + b 2 x n-2 =  b i x n-i i = 0 3

FIR Tap Filter Input: Sample [23:0] Output: Result [47:0] Clock frequency: 20 MHz 24 Sample Result Input_valid output_ready rst clk 48

FIR Tap Filter Executes processes in the following order: (Load) Load input data to rin (Calc1) Multiply rin with coefficient c0, store to acc (Calc2) Multiply rs0 with coefficient c1, add to acc, store in acc (Calc3) Multiply rs1 with coefficient c2, add to acc, store in acc (Shift) Store acc in result, move rs0 to rs1, move rin to rs0

Testbench Input / Output INPUT OUTPUT a f a054af e0546e d ec a053ab e0536a a a 00000b6052e8 INPUT OUTPUT bbffdb b1fa dfa8c fa fa fa98a dfa9cb faa0c faa4d faa8e

First Attempt: 5 cycle latency 3 calculation states wait load calc1 calc2 calc3 shift Input_valid = 1 Input_valid = 0 output_ready = 0

Results: 5 cycle latency Verilog Simulation Results: Testbench simulation complete Required time to complete: Number of inputs processed: 20 Cycles to complete: Time-to-input ratio: 5.125

Second Attempt: 3 cycle latency Condense 3 calculation states into 1 state wait load calc1 shift Input_valid = 1 Input_valid = 0 output_ready = 0 load

Results: 3 cycle latency Verilog Simulation Results: Testbench simulation complete Required time to complete: 6450 Number of inputs processed: 20 Cycles to complete: 64.5 Time-to-input ratio: 3.225

Third Attempt: 2 stage pipeline Stage 1: Shift registers, load new input value Stage 2: Calculate results time Instruction STAGE 1STAGE 2 STAGE 1 STAGE 2

Results: 2 stage pipeline Verilog Simulation Results: Testbench simulation complete Required time to complete: 2150 Number of inputs processed: 20 Cycles to complete: 21.5 Time-to-input ratio: 1.075

Speedup: Pipeline over State Machine  3 stage state machine:  37% faster than 5 stage state machine  2 stage pipeline machine:  67% faster than 3 stage state machine  79% faster than 5 stage state machine

Results Comparison: Area  5 state machine  Combinational area:  Noncombinational area:  Total cell area:  2 stage pipeline  Combinational area:  Noncombinational area:  Total cell area:

Results Comparison: Timing  5 state machine  data required time 9.77  data arrival time  slack (MET) 0.00  2 stage pipeline  data required time 9.00  data arrival time  slack (MET) 0.84