Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
VLSI Algorithm & Computing Structures Chapter 1. Introduction to DSP Systems Younglok Kim Dept. of Electrical Engineering Sogang University Spring 2007 1 What will be covered in this course? DSP architectures & structures for high performance VLSI design Methodologies needed to design custom or semicustom VLSI circuits NOT actual VLSI circuit or layout design Focus on design of efficient architectures for Less area for smaller chip size Less power consumption for longer battery lifetime Higher speed for real time processing Lower round-off noise Dept. of Electrical Engineering, Sogang University 2 DSP Applications Video compression Digital set-top box Cable modems Portable video systems/computers Digital audio/radio Wireless communication Digital still camera Speech processing GPS (global positioning systems) Radar imaging Acoustic beamformer Biomedical signal processing Etc Dept. of Electrical Engineering, Sogang University 3 DSP Architecture Examples For a speech applications, Low sampling rate Low speed requirement Prefer time-multiplexed architecture For a video applications, 10~100 giga operations per second One-to-one mapping of algorithm operations and processors Dept. of Electrical Engineering, Sogang University 4 What to do for this class? Understanding the topics covered in the classroom Read book, papers or other material if needed. Solve the problems at the end of each chapter. Verify the DSP algorithm MatLab/C simulations DSP HDL etc Dept. of Electrical Engineering, Sogang University 5 Class Materials Main Textbook VLSI Digital Signal Processing Systems, Keshab K. Parhi, John Wiley & Sons, Inc. 1999 Lecture notes Papers and Materials will be recommended in the class Dept. of Electrical Engineering, Sogang University 6 Organization of Textbook Part I: High-level architectural transformations Part II: High-level algorithm transformations Part III: VLSI architecture of arithmetic operations Dept. of Electrical Engineering, Sogang University 7 High-level architectural transformations Iteration bound (ch.2) Pipelining and Parallel Processing (ch.3) Retiming techniques (ch4) Unfolding (ch.5) Folding (ch.6) Systolic array design methodology (ch.7) Dept. of Electrical Engineering, Sogang University 8 High-level algorithm transformations Fast Convolution (ch.8) Strength reduction (ch.9) Look ahead and Relaxed look ahead (ch.10) Scaling and round-off noise (ch.11) Digital Lattice filter structures (ch.12) Dept. of Electrical Engineering, Sogang University 9 VLSI architecture of arithmetic operations Addition, multiplication and digital filters (ch.13) Redundant arithmetic (ch.14) Numerical strength reduction (ch.15) Synchronous and Asynchronous pipelines (ch.16) Low-power design (ch.17) Architectures for programmable digital signal processors (ch.18) Dept. of Electrical Engineering, Sogang University 10 Chapter 1 Introduction to DSP Systems 11 What is Digital Signal? A sequence of numbers having finite precision Sampler Analog signal Quantizer Discrete-Time signal Dept. of Electrical Engineering, Sogang University Coder Binary digital signal Quantized signal Discrete-time Discrete-valued signal 12 Performance Measurements of Digital Design Amount of hardware circuitry and resources Execution speed Space or area Depends on both throughput and clock rate Amount of power dissipation Finite word length performance for fixed-point DSP systems Quantization error or round-off noise Dept. of Electrical Engineering, Sogang University 13 Features of Digital Signal Processing over General Computations Real time throughput requirement Throughput needs to meet sample rate requirement Data driven property Enable the use of asynchronous systems Dept. of Electrical Engineering, Sogang University 14 Overview of Typical DSP algorithms Convolution Correlation Digital Filters Adaptive Filters LMS adaptive filters Stochastic-Gradient adaptive lattice filter Motion Estimation Discrete Cosine Transform (DCT) Vector Quantization Viterbi Algorithm and Dynamic Programming Decimator and Expander Wavelets and Filter Banks Dept. of Electrical Engineering, Sogang University 15 Some Definitions For DSP Algorithms Non-terminating programs Iteration Execution of all the computations in the algorithm once Iteration period Execute repetitively Execution time of one iteration Iteration rate Reciprocal of the iteration period Dept. of Electrical Engineering, Sogang University 16 Some Definitions For DSP Systems Sampling rate Path Proportional to the computation time Critical path for combinational logic circuit Number of samples processed per second Longest path between inputs and outputs Critical path for sequential circuits Longest path between any two storage (delay) elements Dept. of Electrical Engineering, Sogang University 17 Some Definitions For DSP Systems … Critical path computation time determines Minimum feasible clock period of DSP systems Latency Difference between the time an output generated and the time at which its corresponding input was received by the system Latency representations Absolute time units, or the number of gate delays, for combinational logic circuit systems. Number of clock cycle for the sequential systems. Dept. of Electrical Engineering, Sogang University 18 3-Tap FIR Filter Example y(n) b0 x(n) b1 x(n 1) b2 x(n 2) for Each iteration generates one output sample with n 1 One input signal 3 multiplication operations (in parallel or serial) 2 addition operations Latency dependent on the architectures Dept. of Electrical Engineering, Sogang University 19 Various Representations of DSP Systems DSP Algorithm Descriptions Behavioral Descriptions Graphical Representations Dept. of Electrical Engineering, Sogang University 20 DSP algorithm descriptions Mathematical formulations Specify functionality of DSP algorithm Does not specify the order & structure of the internal operations Behavioral description languages or graphical representations for architectural design Dept. of Electrical Engineering, Sogang University 21 Behavioral Descriptions Applicative languages Prescriptive languages A set of equations Silage language Specify the order of the assignment statements Pascal, C or Fortran Descriptive languages Represents the structure of DSP system Verilog HDL or VHDL Dept. of Electrical Engineering, Sogang University 22 Graphical Representations Efficient for investigating and analyzing data flow properties Efficient for exploiting the inherent parallelism among different subtasks Easy mapping DSP algorithm descriptions to hardware structural implementations Provide technology-independent architecture Dept. of Electrical Engineering, Sogang University 23 Various graphical representations Block Diagram Signal Flow Graph Data Flow Graph Dependence Graph Dept. of Electrical Engineering, Sogang University 24 Block Diagram Captures the exact functionality of a system Consist of Functional block Directed edges Represents data flow from its input block to output block Contains non-negative delay element Various block diagrams can be derived for the same system with different realizations of the same functionality Dept. of Electrical Engineering, Sogang University 25 Block Diagram of 3-Tap FIR Filter y(n) b0 x(n) b1 x(n 1) b2 x(n 2) x(n) D Unit Delay D x(n) b0 b1 D x(n-1) b2 y(n) Dept. of Electrical Engineering, Sogang University 26 Data-broadcast FIR filter x(n) b2 b1 D Dept. of Electrical Engineering, Sogang University b0 D y(n) 27 Signal Flow Graph Node Directed edge Computations of tasks, ex: multipliers or adders Source node: node with no entering node Sink node: node with only entering node Denotes the linear transformation from the signal at originating node to the signal at terminating node Cannot be used to describe multi-rate DSP systems Dept. of Electrical Engineering, Sogang University 28 SFG of 3-Tap FIR Filter y(n) b0 x(n) b1 x(n 1) b2 x(n 2) z-1 x(n) source node b0 z-1 b1 b2 y(n) sink node Dept. of Electrical Engineering, Sogang University 29 Transposition of SFG z-1 z-1 y(n) b0 b1 b2 x(n) SFG reversal (transposition) is only applicable to Linear networks Single input single output (SISO) systems Multi-input multi-output (MIMO) systems described by symmetric transformation matrices Dept. of Electrical Engineering, Sogang University 30 Data-flow graphs (DFG) Generally used for high-level synthesis to derive concurrent implementations of DSP applications onto parallel hardware Node Computation or Function Directed edge Data path, communication between nodes Contains non-negative number of delays Dept. of Electrical Engineering, Sogang University 31 BD & DFG Of Recursive Algorithm y (n) ay (n 1) x(n) x(n) y(n) D a 1 (2) D A 1 1 B 1 A: addition B: multiplication (n): execution time in terms of normalized time unit (u.t.; units of time) (4) Dept. of Electrical Engineering, Sogang University 32 Data-Driven Property of DFG Precedence constraint Intra-precedence constraint The edge has zero delay Inter-precedence constraint Node fires whenever all the input data are available A node with multiple input edges can only fire after all its precedent nodes have fired The edge has one or more delays Major concerns Subtask scheduling Resource allocation Dept. of Electrical Engineering, Sogang University 33 Synchronous DFG (SDFG) The number of data samples produced or consumed by each node in each execution is specified a priori Single-rate SDFG example 1 (2) D A 1 1 B 1 Dept. of Electrical Engineering, Sogang University (4) 34 SDFG of multi-rate DFGs A0 B0 A1 A2 C0 Multi-rate Non-Synchronous DFG B1 C1 A3 B2 A4 Multi-rate DFG 1 A 3 Dept. of Electrical Engineering, Sogang University 5 B 2 3 C 2 35 Processing Rate of Multi-Rate SDFG 1 A 3 5 B 2 3 C 2 Frequency of each node = number of invocations of each node per iteration A, B, C are operated at different frequencies A processes fA input samples per time unit Produce 3fA output samples per time unit 3 f A 5 fB fB 3 f A / 5 fC 2 f B / 3 2 f A / 5 Dept. of Electrical Engineering, Sogang University 36 Dependence Graph (DG) Shows the dependence of the computations Used for systolic array design Node Computation Edge Precedence constraint among nodes Dept. of Electrical Engineering, Sogang University 37 2D DG OF FIR Filter 0 0 0 0 b2 0 Processing Element (PE) b1 y 0 b0 x' b y0 x0 y1 x1 y2 x2 b' b'=b x'=x y'=y+bx y3 x3 Dept. of Electrical Engineering, Sogang University x y' 38 Differences between DFG & DG DFG Shows only one iteration Contains delay elements Iterations are executed repetitively DG Shows all iterations No delay elements A node is NEVER reused Dept. of Electrical Engineering, Sogang University 39