Programmable FIR Filter Design

Slides:



Advertisements
Similar presentations
1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Advertisements

Give qualifications of instructors: DAP
Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.
COE 202: Digital Logic Design Signed Numbers
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
[M2] Traffic Control Group 2 Chun Han Chen Timothy Kwan Tom Bolds Shang Yi Lin Manager Randal Hong Wed. Oct. 22 Overall Project Objective : Dynamic Control.
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.
Team W3: Anthony Marchetta Derek Ritchea David Roderick Adam Stoler Milestone 3: Feb. 4 th Size Estimates/Floorplan Overall Project Objective: Design an.
Sampling, Reconstruction, and Elementary Digital Filters R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
[M2] Traffic Control Group 2 Chun Han Chen Timothy Kwan Tom Bolds Shang Yi Lin Manager Randal Hong Wed. Oct. 27 Overall Project Objective : Dynamic Control.
Farhan Mohamed Ali (W2-1) Jigar Vora (W2-2) Sonali Kapoor (W2-3) Avni Jhunjhunwala (W2-4) Presentation 4 MAD MAC th February, 2006 Gate Level Design.
[M2] Traffic Control Group 2 Chun Han Chen Timothy Kwan Tom Bolds Shang Yi Lin Manager Randal Hong Mon. Nov. 11 Overall Project Objective : Dynamic Control.
1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007.
Digital Design – Optimizations and Tradeoffs
Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H
Lecture 8 Arithmetic Logic Circuits
1 EECS Components and Design Techniques for Digital Systems Lec 21 – RTL Design Optimization 11/16/2004 David Culler Electrical Engineering and Computer.
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Distributed Arithmetic: Implementations and Applications
COE 308: Computer Architecture (T041) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (Appendix A, Computer Architecture: A Quantitative Approach,
Farhan Mohamed Ali (W2-1) Jigar Vora (W2-2) Sonali Kapoor (W2-3) Avni Jhunjhunwala (W2-4) Shiven Seth (W2-5) Presentation 1 MAD MAC st February,
Noise Canceling in 1-D Data: Presentation #4 Seri Rahayu Abd Rauf Fatima Boujarwah Juan Chen Liyana Mohd Sharipp Arti Thumar M2 Feb 14 th, 2005 Gate Level.
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
Lecture 18: Datapath Functional Units
Computer Arithmetic Nizamettin AYDIN
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
3-1 Chapter 3 - Arithmetic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles of Computer Architecture.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 3.
Machine Instruction Characteristics
FINITE word length effect in fixed point processing The Digital Signal Processors have finite width of the data bus. The word-length after mathematical.
ECE232: Hardware Organization and Design
Chapter # 5: Arithmetic Circuits
5-1 Programmable and Steering Logic Chapter # 5: Arithmetic Circuits.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
L/O/G/O CPU Arithmetic Chapter 7 CS.216 Computer Architecture and Organization.
A Reconfigurable Low-power High-Performance Matrix Multiplier Architecture With Borrow Parallel Counters Counters : Rong Lin SUNY at Geneseo
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Computer Architecture Lecture 32 Fasih ur Rehman.
ECE-C662 Lecture 2 Prawat Nagvajara
Graphical Design Environment for a Reconfigurable Processor IAmE Abstract The Field Programmable Processor Array (FPPA) is a new reconfigurable architecture.
DEPARTMENTT OF ECE TECHNICAL QUIZ-1 AY Sub Code/Name: EC6502/Principles of digital Signal Processing Topic: Unit 1 & Unit 3 Sem/year: V/III.
Negative Integers Unsigned binary representation can not be used to represent negative numbers. With paper and pencil arithmetic, a number is made negative.
Low Power IP Design Methodology for Rapid Development of DSP Intensive SOC Platforms T. Arslan A.T. Erdogan S. Masupe C. Chun-Fu D. Thompson.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
Chapter 8 Computer Arithmetic. 8.1 Unsigned Notation Non-negative notation  It treats every number as either zero or a positive value  Range: 0 to 2.
EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I.
1/8/ L25 Floating Point Adder Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point Adder Using the IEEE Floating Point Standard for an.
B0110 Fabric and Trust ENGR xD52 Eric VanWyk Fall 2013.
10/25/2005Comp 120 Fall October 25 Review for 2 nd Exam on Tuesday 27 October MUL not MULI Ask Questions!
FINITE word length effect in fixed point processing
Floating Point Representations
Unit IV Finite Word Length Effects
Computers’ Basic Organization
Array multiplier TU/e Processor Design 5Z032.
Negative Integers Unsigned binary representation can not be used to represent negative numbers. With paper and pencil arithmetic, a number is made negative.
FINITE word length effect in fixed point processing
Morgan Kaufmann Publishers
DESIGN AND IMPLEMENTATION OF DIGITAL FILTER
Digital Signal Processors
Arithmetic Circuits (Part I) Randy H
Lect5 A framework for digital filter design
Arithmetic Logical Unit
Multiplier-less Multiplication by Constants
ARM implementation the design is divided into a data path section that is described in register transfer level (RTL) notation control section that is viewed.
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
IEEE Floating Point Adder
Presentation transcript:

Programmable FIR Filter Design EE577b Fall2001 Final Project Programmable FIR Filter Design Draft #1 (10/25/2001) Prof. Peter A. Beerel

What is FIR Filter? FIR (Finite Impulse Response) Filter A generalization of the moving window on the flow of data Let the number of samples in the window be N Weighted sum of last N samples Weights given by N coefficients Output zero after N successive samples of zero input

FIR Filter Mathematical Representation It is convolution between input data and coefficients. Linear phase-shift FIR filter FIR filters with a symmetric set of coefficients Benefits of Linear phase-shift FIR filter The phase shift goes linearly with frequency In typical low-pass filters, overall distortion is limited Disadvantage of FIR filters Major disadvantage of FIR filter is that the width of window is larger than IIR filter for similar frequency response

Trojan FIR Filter Spec (Async) x0..x8,y0..y8 Dual-Rail Channels Signed magnitude fix-point representation x8, y8: sign x7, x6, y7, y6 integer field x0, x1, x2, x3, x4, x5, y0, y1, y2, y3, y4, y5 fraction field First 7 y outputs of each packet are garbage cmd 1’b01: read 8 coefficient on x, h0 through h7 1’b10: read packet of inputs [32 samples] & run Top Diagram

Trojan FIR Filter Spec (Sync) X[8:0], Y[8:0] Signed magnitude fix-point representation [8]: sign [7,6] integer field [5,0] fractional field First 7 y outputs of each packet are garbage Cmd (L and K user-defined) 1’b01: read 8 coeffs on x h0 through h7 Each input sample holds for L clocks 1’b10: read packet of inputs [32 samples] Each input sample holds for K clocks 1’b11: idle Top Diagram

Signed-Magnitude Fixed-Point Representation x = (-1)x[8]*(x[7]21+x[6] 20+x[5]2-1+…x[0]2-5) 111111111 = (-1)*(11.111111)b=(-3.984375)d Fixed-Point: Can maintain good precision with adequate rounding scheme Much simpler hardware than Floating-Point Signed-Magnitude Can use unsigned multiplier Adder (Accumulator) will be more complex Switching activity for synchronous single-rail design is smaller (-1 to 1) 2’s complement : 11111111 to 00000001 (7 bits flip) Signed-magnitude: 10000001 to 00000001 (1 bit flips) Quantitative study shows that many subsequent values are changing around zero Attractive characteristic for low-power single-rail logic No advantage for asynchronous dual-rail adder

Signed-Magnitude Arithmetic Addition/Subtraction Need absolute value generation 0,01.00000 + 1,01.11111 (-1.96875+1=-0.96875) We want to get 1,00.11111 as a result But conventional 2’s complement adder don’t 01.00000 – 01.11111 = 11.00001 (oops!) So, calculate both A-B,B-A and choose the positive number if two operands differ the sign bit. If two operands differ the sign bit, addition becomes subtraction in signed-magnitude arithmetic. If both operands have the same sign, operation will be addition not subtraction. (Choose any of them, it’s ok.)

Signed-Magnitude Arithmetic Multiplication In 2’s complement representation, multiplication is a bit complex than you think. -1 x 1 1111 x 0001 1111 0000 00001111 = 15 (not -1) Therefore array multiplier will not work!

Signed-Magnitude Arithmetic Multiplication (continued) Solution for 2’s complement Sign extension for each partial product: will make multiplier array much bigger Use Baugh-Wooley multiplier: can reduce sign-extension bits significantly – very popular algorithm for DSP hardware Good news for signed-magnitude is that integer and fraction parts are unsigned. Can use unsigned multiplier (array multiplier) Sign bit manipulation is easy (+) x (-) = (-), etc.

Fixed-Point Arithmetic Range of coefficient -1.0000000 =< h[k] <= 1.0000000 One bit is integer and seven bits are fraction (MSB is sign bit) Range of input and output -11.111111b < x/y[n] < 11.111111b Need 8x8 multiplier (3 integer, 13 fraction field) Need 16-bit accumulator (3 integer, 13 fraction) Keep full 16-bit precision for intermediate results Watch out overflow! We will use saturated arithmetic. Saturated arithmetic: overflow sets output to maximum value (1,11.111111 or 0,11.111111) For final value, rounding is required (make even if tie)

Fixed-Point Arithmetic “Make even if tie” rounding Out of 16-bit intermediate result, we pick two integer field and 6 fraction field with sign bit. S I I I . F F F F F F X X X X X X X If XXXXXXX = 1000000, round up or truncate have the same round-off error. In this case, round up only if the final result after rounding becomes even number. 0 001.111111 1000000=>round up=>0 010.000000 (even) 0 001.000000 1000000=>truncate=>0 001.000000 (even) If XXXXXXX = 0xxxxxx, truncate If XXXXXXX = 1xxxxxx (at least one of x’s is 1), round up

Front-End Deliverables 2 weeks (Nov 14th) Async Teams (1-4 people) Cell-based design Structural down to cells Behavioral verilog for each cell Simple estimated delay model Slack matching not necessary Testbench complete Initial correct streams (given to you next week) Final input streams to be given in last week

Front-End Deliverables 2 weeks (Nov 14th) Sync Teams (1-4 people) RTL design Separate FSM Verilog and Datapath components Routing logic (mux), pipeline registers, counters explicit FSM design Separate next-state, output logic, and state memory verilog processes Explicit control signals Behavioral verilog for each datapath component Simple estimated delay model Testbench complete Initial correct streams (given to you next week) Final input streams to be given in last week

Front-End Deliverables 2 weeks (Nov 14th) Common Deliverables Cadence schematics Verilog code for all blocks Verilog sims Report Architectural description and all assumptions Performance estimation Breakdown of work within team members

Back-End Deliverables Common Deliverables (Dec 10th) Critical path analysis Justification of critical path / cycle Wire load estimation Transistor sizing of critical path (or critical cycle) Hspice of critical path Magic layout of critical path (or critical cycle) Size estimation HSPICE of extracted layout (no resistance extracted) Floorplan Size estimation of key blocks and of entire core Report Architecture update / revisions Description of back-end efforts

Presentation 5 minutes + 5 * # of team members Overview of front and back-end designs Same time as would be final exam Grading 30% Front-End Report 40% Final Report 30% Presentation