You are on page 1of 19

VLSI Signal Processing

Presented by Suriya T. Skariah Assistant Professor, Department of ECE VLSI DSP, M.TECH, VLSI&ES, SSET SSET

WHY VLSI SIGNAL PROCESSING ?????

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

Computational Rates for FIR Filtering


Signal type Speech Music Video Phone Frequency 8 KHz 48 KHz 6.75 KHz Length of h(n) [No. of taps, N] 128 256 81 Performance 2 MOPS 24 MOPS 1090 MOPS

TV
HDTV

27 MHz
144 MHz

81
81

4370 MOPS
23300 MOPS

Processor CISC RISC Signal Processor Supercomputer

Type MC 68040 i 860 MC 56100 CRAY 2

Performance 1.5 MOPS 80 MFLOPS 80 MOPS 1200 MFLOPS

VLSI DSP, M.TECH, VLSI&ES, SSET

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

VLSI DSP, M.TECH, VLSI&ES, SSET

Typical DSP algorithms

speech recognition sound synthesis echo cancellation noise cancellation image (de-)compression image composition spectral estimation
x(n)

Convolution Correlation Digital Filters FIR IIR

h(n)

y(n) = x(n) * h(n)

VLSI DSP, M.TECH, VLSI&ES, SSET

Typical DSP algorithms - FIR Filters

Finite Impulse Response (FIR) filters compute y(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

Typical DSP algorithms - IIR Filters

Infinite Impulse Response (FIR) filters compute y(n) :

feedback term Output sequence depends on input sequence, impulse response as well as previous outputs

VLSI DSP, M.TECH, VLSI&ES, SSET

WHY DIGITAL.??????

VLSI DSP, M.TECH, VLSI&ES, SSET

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

Critical path: longest path without delay


- sets bound on clock frequency, i.e. Tclk Tcritical
VLSI DSP, M.TECH, VLSI&ES, SSET

DSP Algorithm

Mathematical Formulation

Graphical Representations Block Diagrams Signal Flow graphs

Behavioral Description Languages


Applicative languages eg. Silage Prescriptive languages eg. C, Pascal, Fortan Descriptive languages eg. VHDL , Verilog

Data Flow Graphs


Dependence Graphs

VLSI DSP, M.TECH, VLSI&ES, SSET

Graphical DSP Representations


Exhibit all the parallelism (concurrence) and data driven properties (dependence) of the system, as well as provide insight into space and time tradeoffs. Consider a 3-tap FIR filter y(n) = a*x(n) +b*x(n-1) + c*x(n-2) Block Diagram Method Consists of functional blocks connected with
Delay element Multiplier directed edges, which represent data flow from its input block to its output block Data Broadcast Structure a y(n) Adder
VLSI DSP, M.TECH, VLSI&ES, SSET

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

z-k = k units delay edge labeled n means multiplication by n

Source node

Adder node
VLSI DSP, M.TECH, VLSI&ES, SSET

Sink node

Flow Graph Reversal/ Transposition


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

a y(n) z-1 form FIR

Data Flow Graph


x(n)

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)

Iteration period of DFG = 6 units of time

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

VLSI DSP, M.TECH, VLSI&ES, SSET

Data Flow Graph

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

Inter-iteration precedence constraint: if existing one or more delays b/w nodes

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)

Expander (up sampling)

SDFG for multirate systems


1 A 3 5 B 2 3 C 2

VLSI DSP, M.TECH, VLSI&ES, SSET

Conversion of Multi rate DFG to Single rate DFG


3Fa = 5Fb 1 A 3 5 B 2 3 C 2 3Fa = 5Fb 2Fb = 3Fc Fc = 2/5Fa One execution of node A consumes 1 sample & produces 3 output samples
B0 A1 C0 B1

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

VLSI DSP, M.TECH, VLSI&ES, SSET

You might also like