DSP Systems Implementation Course Seminar Tehran University Electrical And Computer Engineering Department Spring 2004.

Slides:



Advertisements
Similar presentations
FINITE WORD LENGTH EFFECTS
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Programmable FIR Filter Design
Microcomputer Systems 1
Commercial FPGAs: Altera Stratix Family Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 2: Data types and addressing modes dr.ir. A.C. Verschueren.
2009 Spring Errors & Source of Errors SpringBIL108E Errors in Computing Several causes for malfunction in computer systems. –Hardware fails –Critical.
Fixed Point Numbers The binary integer arithmetic you are used to is known by the more general term of Fixed Point arithmetic. Fixed Point means that we.
Topics covered: Floating point arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
© 2003 Xilinx, Inc. All Rights Reserved Looking Under the Hood.
CENG536 Computer Engineering Department Çankaya University.
Fixed-Point Arithmetics: Part I
2-1 Computer Organization Part Fixed Point Numbers Using only two digits of precision for signed base 10 numbers, the range (interval between lowest.
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
IIR Filters and Equalizers R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Computer ArchitectureFall 2007 © August 29, 2007 Karem Sakallah CS 447 – Computer Architecture.
Prepared by: Hind J. Zourob Heba M. Matter Supervisor: Dr. Hatem El-Aydi Faculty Of Engineering Communications & Control Engineering.
Simple Data Type Representation and conversion of numbers
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
ELEN 5346/4304 DSP and Filter Design Fall Lecture 12: Number representation and Quantization effects Instructor: Dr. Gleb V. Tcheslavski Contact:
Computer Arithmetic Nizamettin AYDIN
A Bit-Serial Method of Improving Computational Efficiency of Dot-Products 1.
Student : Andrey Kuyel Supervised by Mony Orbach Spring 2011 Final Presentation High speed digital systems laboratory High-Throughput FFT Technion - Israel.
Fixed-Point Arithmetics: Part II
IT253: Computer Organization
FINITE word length effect in fixed point processing The Digital Signal Processors have finite width of the data bus. The word-length after mathematical.
Simulink ® Interface Course 13 Active-HDL Interfaces.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
CSC 221 Computer Organization and Assembly Language
VADA Lab.SungKyunKwan Univ. 1 L40: Lower Power Equalizer J. W. Kim and J.D.Cho 성균관대학교
Implementation of DSP Systems Course Seminar ECE Department Tehran University Spring 2005.
ESPL 1 Wordlength Optimization with Complexity-and-Distortion Measure and Its Application to Broadband Wireless Demodulator Design Kyungtae Han and Brian.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Under-Graduate Project Case Study: Single-path Delay Feedback FFT Speaker: Yu-Min.
Fixed & Floating Number Format Dr. Hugh Blanton ENTC 4337/5337.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
Digital Logic Lecture 3 Binary Arithmetic By Zyad Dwekat The Hashemite University Computer Engineering Department.
Implementing algorithms for advanced communication systems -- My bag of tricks Sridhar Rajagopal Electrical and Computer Engineering This work is supported.
Speaker: Darcy Tsai Advisor: Prof. An-Yeu Wu Date: 2013/10/31
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.
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.
1 Post Processing Procedures for Channel Estimation Younglok Kim Dept. of Electrical Engineering Sogang University.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
Application of digital filter in engineering
FINITE word length effect in fixed point processing
MATH Lesson 2 Binary arithmetic.
Addition and Subtraction
Real time DSP Professors: Eng. Diego Barral Mr. Jerónimo Acencio
Integer Division.
Fixed-pointed FFT model
FINITE word length effect in fixed point processing
J. W. Kim and J.D.Cho 성균관대학교 Lower Power Equalizer J. W. Kim and J.D.Cho 성균관대학교 SungKyunKwan Univ.
Computer Organization and ASSEMBLY LANGUAGE
EXPLOITING SYMMETRY IN TIME-DOMAIN EQUALIZERS
EE 445S Real-Time Digital Signal Processing Lab Spring 2014
Multiplier-less Multiplication by Constants
On-line arithmetic for detection in digital communication receivers
Digital Systems and Binary Numbers
Finite Wordlength Effects
DEPARTMENT OF INFORMATION TECHNOLOGY DIGITAL SIGNAL PROCESSING UNIT 4
Data Wordlength Reduction for Low-Power Signal Processing Software
C Model Sim (Fixed-Point) -A New Approach to Pipeline FFT Processor
DEPARTMENT OF INFORMATION TECHNOLOGY DIGITAL SIGNAL PROCESSING UNIT 4
Fixed-point Analysis of Digital Filters
Speaker: Chris Chen Advisor: Prof. An-Yeu Wu Date: 2014/10/28
On-line arithmetic for detection in digital communication receivers
EXPLOITING SYMMETRY IN TIME-DOMAIN EQUALIZERS
Presentation transcript:

DSP Systems Implementation Course Seminar Tehran University Electrical And Computer Engineering Department Spring 2004

DSP Systems Implementation2 A Practical Example Of DSP System Design, ADSL Modem DMT Engine

DSP Systems Implementation3 Outline  A Glance At ADSL Modems Structure  Digital System Design Methodology  Design Flow  Finite Precision Arithmetic Libraries  ADSL Modulator/Demodulator Design  ADSL Time Equalizer Design

DSP Systems Implementation4 A Glance At ADSL Modems Structure ADSL Modem Modulation  Discrete Multi Tone (DMT) Modulation  Simple Digital Implementation By FFT, IFFT  Uses FDM  256 Sub-Channels  QAM In All Channels  Simultaneous Voice Transmission

DSP Systems Implementation5 A Glance At ADSL Modems Structure ADSL Modem Block Diagram  ADSL DMT Engine Block Diagram

DSP Systems Implementation6 Digital System Design Methodology Design Flow- All Steps Together  General Methodology  Much Human Brain Work  Less Automatic Procedures  Test & Verification Importance

DSP Systems Implementation7 Digital System Design Methodology Design Flow Step One: Simulation  High Precision Modeling  Using C Or MATLAB  Converting High Level Protocol Or Standard To A Software Model  System Environment Modeling  Engineering Modeling  Quantization Noise And Other Finite Precision Effects Modeling  Parametric Modeling To Find Noise-Parameter(s) relations  Wide Simulation And Parameter Extraction

DSP Systems Implementation8 Digital System Design Methodology Design Flow Step One: Simulation- Important Notes  For High Precision Modeling:  “MATLAB” Is Preferred Because Of Its Friendly Interfaces, Ready Modules And Visual Capabilities  “C” Is Preferred Because Of Its High Simulation Speed  For None-Ideal Engineering Modeling  Finite-Precision-Arithmetic Libraries  Fixed-Floating Point Support  Different Round-Off, Saturation, … Strategies Support

DSP Systems Implementation9 Digital System Design Methodology Design Flow Step One: Simulation- Important Notes  Common Parameter Extraction Method  Finding (Output Error- Parameter(s)) Curves Using The Below Scheme  Common Output Error Criterions: BER, SNR And MSE  Finding Optimal Point On The Curve(s) To Satisfy Defined Error Conditions With The Lowest Possible Cost

DSP Systems Implementation10 Digital System Design Methodology Design Flow Step Two: Hardware Modeling  Golden Model Creation  For Test Purpose  Behavioral Modeling  Component Modeling  Interfacing Considerations  Model Synthesizability  Structural Modeling  System Modeling  Components Wiring

DSP Systems Implementation11 Digital System Design Methodology Design Flow Step Two: Hardware Modeling- Important Notes  Golden Model Creation  Simplifies Test Of The Final Model  Functionally Same As C Or MATLAB Model  Not Necessarily Synthesizable Or Efficient  Component Modeling  Common Design Strategy: Top-Down Design, Bottom- Up wiring  Extracted Parameters From Simulation Step, Inserted Into Components

DSP Systems Implementation12 Digital System Design Methodology Design Flow Step Three: Implementation  FPGA Implementation  FPGA Specific HDL Languages Such As AHDL  Usually Better Performance When Lower Level Components RTL Level  Hardware Emulation Systems  ASIC Implementation

DSP Systems Implementation13 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  C Does Not Have Sufficient Capabilities Needed For Bit- True Modeling  Special Libraries Need To Be Developed That Support  Different Finite-Length Number Representations (Fixed, Float,…)  Different Finite-Length Sign Representations (2’s Complement, Sign And Magnitude, …)  Basic Arithmetic Operations With Finite Precision (Sum, Sub,…)  Different Round-Off Strategies (Truncation, Rounding,…)  Different Overflow Strategies (Maximum Saturation, Zero Saturation, Wrap Around,…)

DSP Systems Implementation14 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Using The Libraries, The System Should Be Modeled And Simulated With Different Library Options  All Trade-Offs And Strategies Are Extracted  Number Representation Method (Fixed, Float, …)  Sign Representation  Round-Off Strategy  Overflow Strategy  Each Trade-Off Or Strategy Corresponds To A Different Hardware Implementation

DSP Systems Implementation15 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  “ACOLADE” Library  C Language  Parameters  Word_width (Fixed Or Float Selection)  Precision (Precision Selection)  RND_CHR (Round-Off Strategy)  OVL_CHR (Overflow Strategy)

DSP Systems Implementation16 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  C Finite Length Arithmetic Modeling Extension, C_FLAME Library  Developed In UT VLSI Lab  Support Truncation And Rounding Round-Off Strategies  Library Interface Functions: Dec2bin, Bin2dec  Negation Function: Negate

DSP Systems Implementation17 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  C Finite Length Arithmetic Modeling Extension (C_FLAME) Library  Arithmetic Functions  Fixed Point  Scaling Functions: Sum, Sub, Sum_wa, Multiply  Saturation Functions: Sum_sat, Sub_sat, Sub_wa  Block Floating Point  Sum_bfp, Sub_bfp  Special Purpose Function: Multiply_ideal

DSP Systems Implementation18 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  C_FLAME Library Data Structure  High precision input data for library must be scaled, -1≤ Inputs < 1  Fixed point is aligned after the most significant bit of the numbers (MSB of each number, represents sign)  High precision scaled input data should be converted to finite precision data for C_FLAME functions by library interface functions

DSP Systems Implementation19 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  C_FLAME Library Data Structure (Cntd.)  Inside C_FLAME, all binary finite precision numbers treated as integer numbers  Numbers representation inside C_FLAME struct binary{ long int number; int length;}

DSP Systems Implementation20 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Example of input preparation for C_FLAME library  r1=0.625; r2=0.9999; r3=-1; //Real Input Data To Library  Int Wordlength=8; //Determining Finite Precision  Struct binary b1,b2,b3; //Library Internal Data Structures  //void dec2bin(double a, int wordlength, binary *num)  Dec2bin(r1,wordlength,&b1); //b1={ 80, 8 } 80=(0101,0000)  Dec2bin(r2,wordlength,&b2); //b2={ 127, 8 } 127=(0111,1111)  Dec2bin(r3,wordlength,&b3); //b3={ 128, 8 } 128=(1000,0000)

DSP Systems Implementation21 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Another example of data manipulation by C_FLAME library functions  r1= ; //Real Input Data  Int Wordlength=8; //Determining Finite Precision  Struct Binary b; //library Internal data structure  Dec2bin(r1,wordlength,b); // b= { 84, 8 } 84 =(0101,0100)  Negate(&b) // b= { 172, 8 } 172=(1010,1100)

DSP Systems Implementation22 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Different C_FLAME Summation Functions  Saturated Fixed Point Summation  Void Sum_Sat (binary a, binary b, binary *k)  Scaling Fixed Point Summation  Void Sum (int round_truncate, binary a, binary b, int resultlength, binary *k)  Block Floating Point Summation  void Sum_bfp(int round_truncate, binary a, binary b, int resultlength, binary *k)  Wrap Around Summation  Void Sum_wa(binary a, binary b, binary *k);

DSP Systems Implementation23 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Illustration of functionality of different Add functions in C_FLAME library  Sum_sat Function  Output length=input length  No round-off strategy needed  When Not Overflow The function returns Result(N-1,0)  When Overflow The function saturates and returns Maximum and minimum representable numbers

DSP Systems Implementation24 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Illustration of functionality of different Add functions in C_FLAME library  Sum Function  If Output length=input length +1 function returns (C & Result(N-1,0)) Round-off strategy not needed  If output length= input length function returns (C & Result(N-1,1)) considering round-off strategy

DSP Systems Implementation25 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Illustration of functionality of different Add functions in C_FLAME library  Sum_bfp Function  If Output length=input length +1 function returns (C & Result(N-1,0)) Round-off strategy not needed  If output length= input length  When Not Overflow function returns (Result(N-1,0))  When Overflow function returns (C & Result(N-1,1))

DSP Systems Implementation26 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Illustration of functionality of different Add functions in C_FLAME library  Sum_wa Function  Output length=input length  No round-off strategy needed  No Saturation Strategy

DSP Systems Implementation27 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  A finite precision complex multiply Finite_precision_complex_multiply (double: Ra,Ia,Rb,Ib, int r_t) { Struct Binary: Rab,Iab,Rbb,Ibb,partialmul1,partialmul2; dec2bin(Ra,8,Rab); dec2bin(Ia,8,Iab); dec2bin(Rb,8,Rbb); dec2bin(Ib,8,Ibb); Multiply(r_t, Rab, Rbb, 8, &Partialmul1); Multiply(r_t, Iab, Ibb, 8, &Partialmul2); sub(r_t, partialmul1, partialmul2, 9, &resultreal); Multiply(r_t, Rab, Ibb, 8, &Partialmul1); Multiply(r_t, Iab, Rbb, 8, &Partialmul2); sum(r_t, partialmul1, partialmul2, 9, &resultimag); realpart=bin2dec(resultreal); imagpart=bin2dec(resultimag);}

DSP Systems Implementation28 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Block Floating Point  Extra Hardware  A Solution Between Fixed And Floating Point  Wide range Representation Capability  Simple Hardware Implementation  Low Quantization Noise Sensitivity  Low Delay

DSP Systems Implementation29 Digital System Design Methodology Finite-Precision-Arithmetic Libraries  Example Of C Finite Length Arithmetic Modeling Extension (C_FLAME) Library Functions  Block Floating Point Illustration

DSP Systems Implementation30 Digital System Design Methodology ADSL Modulator/Demodulator Design  IFFT/FFT Used For Modulation/Demodulation  The Most Complicated And Most Important Block Of An ADSL Modem  Hardware Structure  Operation Count  Quantization Noise  Design Constraints (Speed, Area, Power)

DSP Systems Implementation31 Digital System Design Methodology ADSL Mo/Dem- Implementation Method Selection Space  A Multi-Dimensional Space  Different Algorithms  Radix 2, Radix 4, Radix 8, Split Radix, Mixed Radix  Different Algorithm Versions  Decimation In Time (DIT), Decimation In Frequency (DIF)  Different Butterfly Structures  Symmetric Structures, Asymmetric Structures  Different Implementations  Full Parallel Structure, Column Structure, FFT Processor Structure, Pipeline Structure

DSP Systems Implementation32 Digital System Design Methodology ADSL Mo/Dem- Choosing Suitable Structure  Selection Criteria  Maximum Delay Constraint (250 µs)  Hardware Cost (# of Adders, Multipliers,…)  Maximum Quantization Noise Acceptable  Implementation Complexity (VLSI Layout,…)

DSP Systems Implementation33 Digital System Design Methodology ADSL Mo/Dem- Choosing Suitable Structure  So Many Trade-Offs Must Be Considered And Resolved  # Of Operations (~Quantization Noise Error)  Register Word Lengths  Butterfly Hardware Complexity  Symmetric Or Asymmetric Butterfly Hardware  Delay  Hardware Component Count  Hardware Utilization  Input Output Sequence  Final Chip Size

DSP Systems Implementation34 Digital System Design Methodology ADSL Mo/Dem- Choosing Suitable Structure  Important Results Of Browsing Selection Space  Result#1: Hardware Complexity Decreases as the Radix Increases !  Result#2: Operations Count Decreases as the Radix Increases!  Result#3: Mixed-Radix Algorithms are Hardware Optimized Solutions!  Result#4: Implementation Complexity Increases as the Radix Increases (More Than 4 or 8)!  Result#5: Hardware Utilization Decreases as the Radix Increases (Generally)!

DSP Systems Implementation35 Digital System Design Methodology ADSL Mo/Dem- The Chosen Algorithm  Mixed-Radix 2^2 +2 Algorithm  Hardware Complexity of Radix-4 Algorithms!  Operation Count of Radix-4 Algorithms!  Mixed-Radix Hardware Optimized With a Very Simple Controller!  Implementation Complexity of Radix-2 Algorithms!  Hardware Utilization of Radix-2 Algorithms!

DSP Systems Implementation36 Digital System Design Methodology ADSL Mo/Dem- The Chosen Algorithm  Mixed-Radix 2^2 +2 Algorithm DFG

DSP Systems Implementation37 Digital System Design Methodology ADSL Mo/Dem- The Selected Implementation Method  Different Implementations  Fully Parallel FFTs  Column FFTs  Pipeline FFTs  FFT Processors  The Selected Implementation Method  Pipeline FFT Implementation

DSP Systems Implementation38 Digital System Design Methodology ADSL Mo/Dem- FFT Block C Simulation Results  Change Of “Output Error” Due To Increase Of “Constant Length” Word Length=16 Constant Length Error Word Length=12 Constant Length Error

DSP Systems Implementation39 Digital System Design Methodology ADSL Mo/Dem- FFT Block C Simulation Results  Change Of “Output Error” Due To Increase Of “Word Length” Constant Length=12 Word Length Error Constant Length=16 Word Length Error

DSP Systems Implementation40 Digital System Design Methodology ADSL Mo/Dem- FFT Block C Simulation Results  Change Of “Output Error” Due To Using “Rounding” Instead Of “Truncation” Constant Length=16 Word Length Error Truncation Rounding

DSP Systems Implementation41 Digital System Design Methodology ADSL Mo/Dem- Components Implementation  Butterfly Structures Of The Algorithm BF IBF II

DSP Systems Implementation42 Digital System Design Methodology ADSL Mo/Dem- Components Implementation  Design Multipliers Enhancement To Do Rounding Instead Of Truncation On Output

DSP Systems Implementation43 Digital System Design Methodology ADSL Mo/Dem- Components Implementation  Design Adders/Subtractors Enhancement To Do Unbiased Rounding Instead Of Truncation On Output

DSP Systems Implementation44 Digital System Design Methodology ADSL Time Equalizer Design  A Digital Filter To Cancel Line Distortion  Implemented As A 16 Tap Adaptive FIR Filter (Changeable Coefficients)

DSP Systems Implementation45 Digital System Design Methodology ADSL Time Equalizer - Choosing A Suitable Structure  Constant Length = Filter Word Length  Selection Criteria  Maximum Delay Constraint  Hardware Cost (# Of Adders, Multipliers, …)

DSP Systems Implementation46 Digital System Design Methodology ADSL Time Equalizer – TEq C Simulation Results  Change Of “Output Error” Due To Increase Of “Word Length”  Output Error Is Negligible With Respect To FFT

DSP Systems Implementation47 Digital System Design Methodology ADSL Time Equalizer – TEq C Simulation Results  Change Of “Output Error” Due To Using “Rounding” Instead Of “Truncation”

DSP Systems Implementation48 Digital System Design Methodology ADSL Time Equalizer – Implementation  Block Floating Point Method