Pre-Processing Filter for Audio Applications By Nathan Shaw, Lerzan Celikkanat, and Xiangfeng Wang ELEC 422 VLSI Design 1 Fall 2005.

Slides:



Advertisements
Similar presentations
1 The 2-to-4 decoder is a block which decodes the 2-bit binary inputs and produces four output All but one outputs are zero One output corresponding to.
Advertisements

Programmable FIR Filter Design
Microprocessors.
1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Reconfigurable Computing (EN2911X, Fall07) Lecture 04: Programmable Logic Technology (2/3) Prof. Sherief Reda Division of Engineering, Brown University.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
DATAPATHS 3) Shifters. 4) Comparators 5) Counters.
The Control Unit: Sequencing the Processor Control Unit: –provides control signals that activate the various microoperations in the datapath the select.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
FIR Tap Filter Optimization CE222 Final Project Spring 2003 S oleste H ilberg N icole S tarr.
Fall 2007 L15: Combinational Circuits Lecture 15: Combinational Circuits Complete logic functions Some combinational logic functions –Half adders –Adders.
Overview Recall Combinational Logic Sequential Logic Storage Devices
Spring 2006EE VLSI Design II - © Kia Bazargan 187 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part IV: Control Path and Busses.
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
CSE 140 Lecture 15 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
Registers and Counters
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Using building blocks to make bigger circuits
Power Point Presentation Donald Bearden CS 147 September 13, 2001.
Arithmetic Building Blocks
1 DIGITAL ELECTRONICS. 2 OVERVIEW –electronic circuits capable of carrying out logical (boolean) and arithmetic operations on information stored as binary.
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 5 Digital Building Blocks.
EE421, Fall 1998 Michigan Technological University Timothy J. Schulz 29-Sept, 1998EE421, Lecture 61 Lecture 6 - Sample Processing Methods l Basic building.
2.2 Product Laws of Exponents. 2.2 Objectives O To model behavior of exponents using function machines O To understand and apply the product laws of exponents.
ECE 448: Lab 7 Design and Testing of an FIR Filter.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
CS 151: Digital Design Chapter 4: Arithmetic Functions and Circuits
Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
CSE477 L21 Multiplier Design.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
REGISTER TRANSFER AND MICROOPERATIONS
Sequential Logic Design
EKT 221 : DIGITAL 2.
Combinational Circuits
Class Exercise 1B.
Multiplication
CSE 140 Lecture 14 System Designs
CSE 140 Lecture 14 System Designs
REGISTER TRANSFER AND MICROOPERATIONS
Swamynathan.S.M AP/ECE/SNSCT
Multiplication
Lecture 16 Arithmetic Circuits
Arithmetic and Logic Units
Reference: Moris Mano 4th Edition Chapter 4
Digital System Design Review.
KU College of Engineering Elec 204: Digital Systems Design
Combinatorial Logic Design Practices
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2002 Lecture 22: Shifters, Decoders, Muxes Mary Jane.
ECE 434 Advanced Digital System L13
Digital Building Blocks
CSE 140 Lecture 15 System Designs
8086 Ahad.
Multiplier-less Multiplication by Constants
CS 140 Lecture 16 Professor CK Cheng 11/21/02.
FIGURE 10.1 Rectangular‐shape graphic symbols for gates
Number Systems and Circuits for Addition
VLSI Programming 2IMN35 Lab 1 Questionnaire
FIGURE 1: SERIAL ADDER BLOCK DIAGRAM
Combinational Circuits
Switching Theory and Logic Design Chapter 5:
14 Digital Systems.
Christian Hackmann and Evert Nord
Arithmetic Building Blocks
CSE140: System Design Xinyuan Wang 05/31/2019.
CSE 140 Lecture 16 System Designs
Computer Architecture
Presentation transcript:

Pre-Processing Filter for Audio Applications By Nathan Shaw, Lerzan Celikkanat, and Xiangfeng Wang ELEC 422 VLSI Design 1 Fall 2005

Overview  Implementing a low pass FIR filter 4 taps 4 taps  8-bit I/O, Two’s Complement  Major Components: FIFO FIFO 8-bit multiplier 8-bit multiplier 16-bit adder 16-bit adder PLA: control unit/ROM PLA: control unit/ROM

Filter Block Diagram

ROM  6 words x 8-bits  Coefficient determined by Control Unit by way of decoder

Control Unit  INPUTS: Restart FailSafe NewInput;  OUTPUTS: S1 S2 S3 C0 C1 C2 Shift LoadI LoadC LoadMul LoadX LoadSum LoadFinal Clr1 Clr2

WAIT Select coeff α3 GOTSIGNAL Load signal S2=0 IDLE Clear registers Load RAM with zeros SHIFT 3 times MUL LoadI=1 LoadC=1 ADD LoadMul=1 LoadX=1 SUM LoadSum=1 STORE LoadX=1 Clr1=1 State Machine Shift Select next coeff X 4 FINAL LoadFinal=1 BYPASS S3=1 LoadI=1 (0,d) (1,d) (d,1)

16-bit Carry Ripple Adder  Composed of four 4-bit carry ripple adders  Two 16-bit inputs and one 16-bit output

Multiplier  8 bit x 8 bit  16 bit output

Multiplier

FIFO  8 elements deep  8 bits wide

Output => α 3 *x 0 + α 2 *x 1 + α 1 *x 2 + α 0 *x 3 + x 4 x4x4x4x4 x3x3x3x3 x2x2x2x2 x1x1x1x1 x0x0x0x0 x0x0x0x0 X4X4X4X4 X3X3X3X3 X2X2X2X2 x1x1x1x1 x4x4x4x4 x3x3x3x3 x2x2x2x2 x1x1x1x1 x0x0x0x0 x1x1x1x1 x0x0x0x0 x4x4x4x4 x3x3x3x3 x2x2x2x2 x4x4x4x4 x3x3x3x3 x2x2x2x2 x1x1x1x1 x0x0x0x0 x3x3x3x3 x2x2x2x2 x1x1x1x1 x0x0x0x0 x4x4x4x4 x4x4x4x4 x3x3x3x3 x2x2x2x2 x1x1x1x1 x0x0x0x0 x2x2x2x2 x1x1x1x1 x0x0x0x0 x4x4x4x4 x3x3x3x3 shift1shift2shift6shift4shift5 * α 3 shift7shift3 * α 2 * α 1 * α 0 * 1

Outputs  T0 => x 0  T1 => α 0 *x 0 + x 1  T2 => α 1 *x 0 + α 0 *x 1 + x 2  T3 => α 2 *x 0 + α 1 *x 1 + α 0 *x 2 + x 3  T3 => α 3 *x 0 + α 2 *x 1 + α 1 *x 2 + α 0 *x 3 + x 4  Tn => α 3 *x n-3 + α 2 *x n-2 + α 1 *x n-1 + x n