VLSI Signal Processing
VLSI Signal Processing
VLSI Signal Processing
Presented by Suriya T. Skariah Assistant Professor, Department of ECE VLSI DSP, M.TECH, VLSI&ES, SSET SSET
Addresses the most important methodologies for designing custom or semi-custom VLSI systems for some typical digital signal processing applications. Learn how to map DSP algorithms into VLSI efficiently.
Several high-level algorithm and architecture design techniques will be introduced that enable joint optimization across the algorithmic, architectural, and circuit domains
VLSI DSP, M.TECH, VLSI&ES, SSET
TV
HDTV
27 MHz
144 MHz
81
81
4370 MOPS
23300 MOPS
Course Outline
Module 1
Introduction to VLSI implementations of DSP systems Pipelining & Parallel Processing Retiming, Unfolding & Folding Module 2 Systolic Architecture Design Module 3 Fast Convolution Algorithmic Strength Reduction in Filters & Transforms Pipelined & Parallel Recursive and Adaptive Filters Scaling & Round off Noise Module 4 Bit Level Arithmetic Architectures
VLSI DSP, M.TECH, VLSI&ES, SSET
Module 1 Overview
Introduction to VLSI Signal Processing Representation of DSP Algorithms Iteration Bound & Loop Bound Pipelining Parallel Processing
speech recognition sound synthesis echo cancellation noise cancellation image (de-)compression image composition spectral estimation
x(n)
h(n)
Where x is the input sequence y is the output sequence h is the impulse response (filter coefficients) N is the number of taps (coefficients) in the filter Output sequence depends only on input sequence and impulse response
VLSI DSP, M.TECH, VLSI&ES, SSET
feedback term Output sequence depends on input sequence, impulse response as well as previous outputs
WHY DIGITAL.??????
DSP Representations
DSP Algorithms are non-terminating and dataintensive Iteration period: the time for one iteration, one execution of
the loop within DSP algorithm
Sampling rate: number of samples processed / second Latency: time difference between output and corresponding
input (combinational logic = gate delays, sequential logic = number of clock cycles)
The clock rate (or frequency) of the DSP system is not the
same as its sampling rate
DSP Algorithm
Mathematical Formulation
x(n) c
Signal-Flow Graph
A collection of nodes and directed edges Nodes: represent computations and/or task, sum all incoming signals Directed edge (j, k): denotes a linear transformation from the input signal at node j to the output signal at node k Usually used for Linear Time Invariant DSP systems representation Multiplication
Source node
Adder node
VLSI DSP, M.TECH, VLSI&ES, SSET
Sink node
Transposed SFG preserves functionality of the system Applicable to single input-single output systems
Steps: 1) Reverse direction of all edges 2) Interchange input and output ports 3) Keep edge gain or delay unchanged
Direct form FIR x(n) y(n) z-1 z-1 c a b c x(n) z-1
VLSI DSP, M.TECH, VLSI&ES, SSET Transposed
Nodes represent computations, functions, or tasks & directed edges represents data flow with non-negative number of delays Consider the computation y(n)= a y(n-1) + x(n)
y(n) D
(2)
A - Addition B - Multiplication
(2) , (4) - Denotes execution time with each node
a Block diagram
B DFG
(4)
Fine-grain/ atomic DFG : if the nodes in DFG can be as simple as elementary operations like addition, multiplication etc. Coarse-grain DFG : if nodes represent signal processing subtask like filtering etc.
FFT
Adaptive filtering
IFFT
DFG captures the data-driven property of the DSP algorithm (a node can execute whenever all its input data are available) Each edge describes a precedence constraint between two nodes in DFG a node can execute whenever all its input data are available
Intra-iteration precedence constraint: if no delay b/w nodes
B A A B
(2) 1 1 A
Synchronous DFG (SFDG) the number of input and output samples are specified at each node in each execution Eg. Decimator, Expander
VLSI DSP, M.TECH, VLSI&ES, SSET
D
1
B
1 (4)
Examples of DFGs
DFGs and Block Diagrams can be used to describe both linear single-rate and nonlinear multi-rate DSP systems Synchronous DFG examples Decimator(down
sampling)
2Fb = 3Fc
A0
A2
A3
B2 A4
VLSI DSP, M.TECH, VLSI&ES, SSET
C1
Dependence Graph
Directed graph which shows the dependence of computations in an algorithm Consider a 3 tap FIR filter y(n) = w0x(n) + w1 x(1) + w2 x(2)
x
w
y
w
y = bx + y