Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

Computer Interfacing and Protocols
Give qualifications of instructors: DAP
Input/Output Organization Asynchronous Bus
EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Digital Logic Design Lecture # 17 University of Tehran.
1 Review: Counters and Registers CS 231 Review October 26, 2007 By Joshua Smith Please note the NOTES in the PPT file for help with the examples.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
1 Project supervised by: Dr Michael Gandelsman Project performed by: Roman Paleria, Avi Yona 26/4/2004 Multi-channel Data Acquisition System Final_A Presentation.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Introduction Flip-flops are synchronous bistable devices. The term synchronous means the output changes state only when the clock input is triggered. That.
Counters and Registers
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
Hardware Interface Design Patterns Ahmet Selman Bozkır – Hacettepe Univ.
Generating Random Numbers in Hardware. Two types of random numbers used in computing: --”true” random numbers: ++generated from a physical source (e.g.,
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
Rabie A. Ramadan Lecture 3
Lecture Set 9 MCS-51 Serial Port.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Digital Encoding.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
 8251A is a USART (Universal Synchronous Asynchronous Receiver Transmitter) for serial data communication.  Programmable peripheral designed for synchronous.
British Computer Society (BCS)
Ch.5 Fixed-Point vs. Floating Point. 5.1 Q-format Number Representation on Fixed-Point DSPs 2’s Complement Number –B = b N-1 …b 1 b 0 –Decimal Value D.
ECE 448: Lab 6 DSP and FPGA Embedded Resources (Digital Downconverter)
Introduction to State Machine
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Lecture # 17 Computer Communication & Networks.
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
A Mini Stereo Digital Audio Processor Design DINESH GUNDU VIGNESH SABARINATH.
DIGITAL SYSTEMS Sequential Logic Design November 28, 2004 Rudolf Tracht and A.J. Han Vinck.
BTeV in PHENIX: Pixel Readout Chip Basics David Christian Fermilab December 5, 2005.
Finite Precision Numerical Effects
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Sequencers SQO,SQC,SQL.
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
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?
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
THEME 6: Frequency dividers. Digital counters with reduced counting modulus. Programmable digital counters. If the input pulses are more than K, the counter.
ELEC692 VLSI Signal Processing Architecture Lecture 12 Numerical Strength Reduction.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 18: More Complex Interfaces Spring 2009.
1 Registers A register is a group of n flip-flops each of them capable of storing one bit of information There are two types of registers: parallel and.
Memory Interface EEE 365 [FALL 2014] LECTURER 12 ATANU K SAHA BRAC UNIVERSITY.
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
1 Chapter 8 The Discrete Fourier Transform (cont.)
Serial Communications
Voice Manipulator Department of Electrical & Computer Engineering
DIGITAL SIGNAL PROCESSING ELECTRONICS
Clocks A clock is a free-running signal with a cycle time.
By: Mohammadreza Meidnai Urmia university, Urmia, Iran Fall 2014
Asynchronous Inputs of a Flip-Flop
Registers and Counters
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
Instructor: Alexander Stoytchev
Subject Name: Digital Signal Processing Algorithms & Architecture
Serial Communication Interface: Using 8251
Lect5 A framework for digital filter design
Quantization in Implementing Systems
Data Transmission Most digital messages are longer than just a few bits. It is neither practical nor economical to transfer all bits of a long message.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
CSC 220: Computer Organization
Register-Transfer Level Components in Verilog
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
EGR 2131 Unit 12 Synchronous Sequential Circuits
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Serial Communications
Clocks A clock is a free-running signal with a cycle time.
Presentation transcript:

Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)

 Though a lot of audio processing algorithms are in practice, the MSDAP uses the one which concentrates on FIR Digital filtering, which implements the following function: where, X(n) – input audio sequence Y(n) – output audio sequence H(k) – filter coefficients N - filter order (N=256) ALGORITHM APPROACH

 In order to reduce the hardware complexity, we use the method of doing linear convolution by doing 1-bit shift at a time and transforming the function into a series of addition and subtraction as shown below :  Eqn.1  Eqn.2 ALGORITHM APPROACH (CONTD.)

FRAMEWORK OF THE MSDAP – HOST INTERFACE

SIGNAL FORMATS AND PROTOCOLS  InputL/InputR This is the input data stream through which the input samples and the coefficients are transmitted serially to the MSDAP. All the input samples are 16 bit numbers in their two’s complement form, the MSB bit being the sign bit in our case. The input is read from this input data stream on every falling edge of the Dclk. The reason behind this is to avoid loss of data by giving it enough time to arrive at the MSDAP end

As the maximum filter order N = 256, the number of bits in r j is 8 bits. As the value is represented by 8 bits, the unused value other than 8 LSB bits is set to 0. For every Dclk, u j is loaded according to the given format, where the unused bits are set to 0: SIGNAL FORMATS AND PROTOCOLS (CONTD.)

 Frame Signal This is the signal that synchronizes the input and the output samples. The frame is set high for one Dclk cycle when the MSB of the input samples arrive and is then set low throughout the input data frame. As the frame rate is chosen as 48 KHz, the Dclk frequency is taken as 768 KHz (48 KHz x 16). The input stream timing diagram is as follows: SIGNAL FORMATS AND PROTOCOLS (CONTD.)

There are total number of 16 r j values and 512 coefficients which are sent to the MSDAP. For every input, MSB (sign-bit) is transmitted first and then the LSB. Each frame is of 16bit size and its start is denoted by a frame signal. Whenever the MSDAP is ready to receive any input data, it asserts the InReady signal as high. The input sample being 16-bits, occupies the entire frame length, unlike r j and coefficients where the unused MSB bits are padded by the controller with the zeroes in order to occupy the entire frame. The whole input data line transfer is done synchronously with the Dclk.  OutputL/OutputR OutReady is set high, when the MSDAP transmits output samples and is aligned to the Frame signal. The output data stream carries the output samples serially from the MSDAP to the Controller. The first but transmitted is the MSB (sign-bit) and the last one is LSB. The output stream timing diagram is as follows: SIGNAL FORMATS AND PROTOCOLS (CONTD.)

The output frame is of 40 bits as mentioned in the previously discussed sections. Whenever the output is being transmitted by the MSDAP, the OutReady signal is set high for the total duration of the output frame.

 Reading the data from the file  Transmitting the data to the MSDAP module  Issuing the required signals at the appropriate time  Computation of the data  Sending back the data to the testbench module  Checking for the Reset and Wait states MIDTERM APPROACH

 The first step is to read the inputs from the data.in file.  The entire data is read from the file and stored in an array ‘data’ of elements of size 16 bits. READING INPUT DATA Data.in [15:0]data[15055][15:0]data[0]

FINITE STATE MACHINE

 In order to begin the entire procedure, a ‘start’ signal is issued by the testbench to the MSDAP module.  This signal marks the STATE 0.  In this state, the chip begins the initialization process and clears all the memory contents. After this is completed, the chip enters into state 1. STATE 0

FINITE STATE MACHINE

 This is basically a waiting state, where we wait for the Rj coefficients. The InReady signal is set high,and when the Frame is detected high, chip enters State 2. STATE 1

FINITE STATE MACHINE

 In this state, the Rj coefficients are read, and InReady is kept high. Once all the Rj values are read, chip enters next state (State 3) STATE 2

FINITE STATE MACHINE

 Here we wait for the Coefficient values to be received. InReady still remains high, when Frame is asserted again, it moves into State 4. STATE 3

FINITE STATE MACHINE

 This is the reading state of the Coefficient values. InReady is kept high, in order to wait for the Coefficient values. Once all the values are loaded, chip enters State 5. STATE 4

FINITE STATE MACHINE

 This is wait state for the Data values, where InReady is again kept high. If Frame is detected to be high, there is a state transition to State 6, the computation State. But if Reset_n goes low, it transitions to State 7, the Reset State. STATE 5

FINITE STATE MACHINE

 This is working state, of the MSDAP, where the inputs samples, that are continuously read, are convoluted and transmits the corresponding outputs. Again, if incase the Reset_n signal is detected low, chip moves to State 7. Whereas, if there are 800 consecutive zero input samples, chip moves to the sleep state, the State 8. STATE 6

FINITE STATE MACHINE

 In this state, InReady is set low, and all the input (except Rj and Coefficient data) and output samples are cleared. If Reset_n is still low, chip remains in this state, else, it goes back to wait state, State 5. STATE 7

FINITE STATE MACHINE

 This state is the sleep mode of the MSDAP. In this state, InReady is high, waiting for any non-zero sample on any of the channels. On occurrence of such sample, chip goes back to state 6. However, if Reset_n is detected low, chip goes to state 7. STATE 8

 Understood the application of the Processor  Specification for the chip is built  System setting is specified  Finite State Machine for the Chip is designed in verilog  Implemented the operation mode of MSDAP in Verilog CONCLUSION