0% found this document useful (0 votes)
2 views

VLSI Digital Signal Processing Systems

The document discusses VLSI Digital Signal Processing Systems, focusing on design and implementation principles. It covers various topics including real-time operations, area-speed-power tradeoffs, and different graphical representation methods for DSP algorithms. Additionally, it explains iteration bounds, loop bounds, and techniques for computing these bounds in DSP systems.

Uploaded by

4008 Sainath.B
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

VLSI Digital Signal Processing Systems

The document discusses VLSI Digital Signal Processing Systems, focusing on design and implementation principles. It covers various topics including real-time operations, area-speed-power tradeoffs, and different graphical representation methods for DSP algorithms. Additionally, it explains iteration bounds, loop bounds, and techniques for computing these bounds in DSP systems.

Uploaded by

4008 Sainath.B
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

VLSI Digital Signal Processing Systems

Keshab K. Parhi
VLSI Digital Signal Processing Systems

• Textbook:
– K.K. Parhi, VLSI Digital Signal Processing Systems: Design and
Implementation, John Wiley, 1999

• Buy Textbook:
– http://www.bn.com
– http://www.amazon.com
– http://www.bestbookbuys.com

Chap. 2 2
Chapter 1. Introduction to DSP Systems
• Introduction (Read Sec. 1.1, 1.3)
• Non-Terminating Programs Require Real-Time
Operations
• Applications dictate different speed constraints
(e.g., voice, audio, cable modem, settop box,
Gigabit ethernet, 3-D Graphics)
• Need to design Families of Architectures for
specified algorithm complexity and speed
constraints
• Representations of DSP Algorithms (Sec. 1.4)
Chap. 2 3
Typical DSP Programs
• Usually highly real-time, design hardware and/or software to meet the
application speed constraint
samples in DSP System out

• Non-terminating
– Example:
for n = 1 to ∞
y ( n ) = a ⋅ x ( n ) + b ⋅ x ( n − 1) + c ⋅ x ( n − 2 )
end

nT 3T 2T T 0 Algorithms out
.…
signals

Chap. 2 4
Area-Speed-Power Tradeoffs
• 3-Dimensional Optimization (Area, Speed, Power)
• Achieve Required Speed, Area-Power Tradeoffs
• Power Consumption

P = C ⋅V 2 ⋅ f
• Latency reduction Techniques => Increase in speed or
power reduction through lower supply voltage operation
• Since the capacitance of the multiplier is usually dominant,
reduction of the number of multiplications is important
(this is possible through strength reduction)

Chap. 2 5
Representation Methods of DSP systems
Example: y(n)=a*x(n)+b*x(n-1)+c*x(n-2)

• Graphical Representation Method 1: Block Diagram


– Consists of functional blocks connected with directed edges, which
represent data flow from its input block to its output block

x(n) x(n-1) x(n-2)


D D

a b c

y(n)

Chap. 2 6
• Graphical Representation Method 2: Signal-Flow Graph
– SFG: 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
– Linear SFGs can be transformed into different forms without changing the
system functions. For example, Flow graph reversal or transposition is
one of these transformations (Note: only applicable to single-input-single-
output systems)
– Usually used for linear time-invariant DSP systems representation

x(n) z−1 z−1


a b c
y(n)

Chap. 2 7
• Graphical Representation Method 3: Data-Flow Graph
– DFG: nodes represent computations (or functions or subtasks), while the
directed edges represent data paths (data communications between nodes),
each edge has a nonnegative number of delays associated with it.
– DFG captures the data-driven property of DSP algorithm: any node can
perform its computation whenever all its input data are available.
– Each edge describes a precedence constraint between two nodes in DFG:
• Intra-iteration precedence constraint: if the edge has zero delays
• Inter-iteration precedence constraint: if the edge has one or more delays
• DFGs and Block Diagrams can be used to describe both linear single-rate and
nonlinear multi-rate DSP systems
• Fine-Grain DFG
x(n) D D

a b c

y(n)

Chap. 2 8
Examples of DFG

– Nodes are complex blocks (in Coarse-Grain DFGs)

Adaptive
FFT IFFT
filtering

– Nodes can describe expanders/decimators in Multi-Rate DFGs

Decimator N samples
↓2 N/2 samples
≡ 2 1

Expander N/2 samples


↑2 N samples
≡ 1 2
Chap. 2 9
Chapter 2: Iteration Bound

• Introduction
• Loop Bound
– Important Definitions and Examples
• Iteration Bound
– Important Definitions and Examples
– Techniques to Compute Iteration Bound

Chap. 2 10
Introduction
• Iteration: execution of all computations (or functions) in an algorithm
once
– Example 1: A B C
1 2 2 3 2 1
• For 1 iteration, computations are: A B C
2 times 2 times 3 times

• Iteration period: the time required for execution of one iteration of


algorithm (same as sample period)
– Example: a
+ −1 b
x(n) y(n-1)
y ( n ) = a ⋅ y ( n − 1) + x ( n ) Z
+
1
i .e . H (z) =
1 − a ⋅ z −1
c a

Chap. 2 11
Introduction (cont’d)
– Assume the execution times of multiplier and adder are Tm & Ta, then the
iteration period for this example is Tm+ Ta (assume 10ns, see the red-color
box). so for the signal, the sample period (Ts ) must satisfy:

Ts ≥ Tm + Ta
• Definitions:
– Iteration rate: the number of iterations executed per second
– Sample rate: the number of samples processed in the DSP system per
second (also called throughput)

Chap. 2 12
Iteration Bound
• Definitions:
– Loop: a directed path that begins and ends at the same node
– Loop bound of the j-th loop: defined as Tj/Wj, where Tj is the loop
computation time & Wj is the number of delays in the loop
– Example 1: a→ b→ c→ a is a loop (see the same example in Note 2,
Tloopbound = Tm + Ta = 10 ns
PP2), its loop bound:

– Example 2: y(n) = a*y(n-2) + x(n), we have:

+ y(n-2)
x(n) 2D Tm + Ta
+ Tloopbound = = 5 ns
2
a

Chap. 2 13
Iteration Bound (cont’d)
– Example 3: compute the loop_bounds of the following loops:

L3: 2D TL1 = (10 + 2) 1 = 12ns


2ns 3ns 5ns TL 2 = (2 + 3 + 5) 2 = 5ns
10ns A B C D
TL 3 = (10 + 2 + 3) 2 = 7.5ns
L1: D L2: 2D
• Definitions (Important):
– Critical Loop: the loop with the maximum loop bound
– Iteration bound of a DSP program: the loop bound of the critical loop, it is
defined as
 T  where L is the set of loops in the DSP system,
T ∞ = max  j  Tj is the computation time of the loop j and
j∈ L  W 
 j Wj is the number of delays in the loop j
– Example 4: compute the iteration bound of the example 3:
T∞ = max{12, 5, 7.5}
l∈L

Chap. 2 14
Iteration bound (cont’d)
• If no delay element in the loop, then T∞ = TL 0 = ∞
– Delay-free loops are non-computable, see the example: A B
• Non-causal systems cannot be implemented
Z  B = A ⋅ Z non− causal
A B  −1 
A = B ⋅ Z causal 
• Speed of the DSP system: depends on the “critical path comp. time”
– Paths: do not contain delay elements (4 possible path locations)
• (1) input node →delay element
• (2) delay element’s output → output node
• (3) input node → output node
• (4) delay element → delay element
– Critical path of a DFG: the path with the longest computation time among
all paths that contain zero delays
– Clock period is lower bounded by the critical path computation time

Chap. 2 15
Iteration Bound (cont’d)
– Example: Assume Tm = 10ns, Ta = 4ns, then the length of the critical
path is 26ns (see the red lines in the following figure)

x(n)
D D D D
a b c d e
26 26 22 18 14
y(n)

– Critical path: the lower bound on clock period


– To achieve high-speed, the length of the critical path can be reduced by
pipelining and parallel processing (Chapter 3).

Chap. 2 16
Pr ecedence Const r aint s

• Each edge of DFG def ines a pr ecedence const r aint


• Pr ecedence Const r aint s:
– I nt r a-it er at ion ⇒ edges wit h no delay element s
– I nt er -it er at ion ⇒ edges wit h non-zer o delay
element s
• Acyclic Pr ecedence Gr aph(APG) : Gr aph obt ained
by delet ing all edges wit h delay element s.

Chap. 2 17
y(n)=ay(n-1) + x(n)
+
int er -it er at ion pr ecedence const r aint
x(n) A D A 1àB2
A 2 àB3

B B1àA 1=> B2àA 2 => B3 àA 3 =>…..


int r a-it er at ion pr ecedence const r aint ×a

D Cr it ical Pat h = 27ut


13 3 6 21 T clk >= 27ut
10 D
A B C D
APG of t his gr aph is
19 10
A B C D
2D
Chap. 2 18
• Achieving Loop Bound

D
T loop= 13ut A 1à B1=> A 2 à B2 => A 3 ….
A B
(10) (3)

(3) (6) (21)


D B1 => C2 à D2 => B4 => C5 à D5 => B7
B C D B2 => C3 à D3 => B5 => C6 à D6 => B8
C1 à D1 => B3 => C4 à D4 => B6
2D
Loop cont ains t hr ee delay element s

loop bound = 30 / 3 =10ut = (loop comput at ion t ime) / (# of delay element s)

Chap. 2 19
• Algor it hms t o comput e it er at ion bound
– Longest Pat h Mat r ix (LPM)
– Minimum Cycle Mean (MCM)

Chap. 2 20
• Longest Pat h Mat r ix Algor it hm
Ø Let ‘d’ be t he number of delays in t he DFG.
Ø A ser ies of mat r ices L(m), m = 1, 2, …, d, ar e const r uct ed
such t hat li,j(m) is t he longest comput at ion t ime of all pat hs
f r om delay element di t o dj t hat passes t hr ough exact ly
(m-1) delays. I f such a pat h does not exist li,j(m) = -1.
Ø The longest pat h bet ween any t wo nodes can be
comput ed using eit her Bellman-For d algor it hm or Floyd-
War shall algor it hm (Appendix A).
Ø Usually, L(1)is comput ed using t he DFG. The higher or der
mat r ices ar e comput ed r ecur sively as f ollows :
li,j(m+1) = max(-1, li,k(1) + lk,j(m) ) f or k∈K
wher e K is t he set of int eger s k in t he int er val [1,d] such
t hat neit her li,k(1) = -1 nor lk,j(m) = -1 holds.
Ø The it er at ion bound is given by,
T ∞ = max{li,i(m) /m} , f or i, m ∈ {1, 2, …, d}

Chap. 2 21
• Example : -1 0 -1 -1

(1) 1 4 -1 0 -1
D d1 L(1) =
5 -1 -1 0
(2) D d2 5 -1 -1 -1
(1) 2 4 4 -1 0 -1
(2) D d3 5 4 -1 0
(1) 3 5 L(2) =
5 5 -1 -1
(2) D d4
6 -1 5 -1 -1

5 4 -1 0 8 5 4 -1
8 5 4 -1 9 8 5 4
L(3) = L(4) =
9 5 5 -1 10 9 5 5
9 -1 5 -1 10 9 -1 5

T ∞ = max{4/ 2,4/ 2,5/ 3,5/ 3,5/ 3,8/ 4,8/ 4,5/ 4,5/ 4} = 2.


Chap. 2 22
• Minimum Cycle Mean :
Ø The cycle mean m(c) of a cycle c is t he aver age lengt h of t he
edges in c, which can be f ound by simply t aking t he sum of t he
edge lengt hs and dividing by t he number of edges in t he cycle.
Ø Minimum cycle mean is t he min{m(c)} f or all c.
Ø The cycle means of a new gr aph Gd ar e used t o comput e t he
it er at ion bound. Gd is obt ained f r om t he or iginal DFG f or which
it er at ion bound is being comput ed. This is done as f ollows:
Ø # of nodes in Gd is equal t o t he # of delay element s in G.
Ø The weight w(i,j ) of t he edge f r om node i t o j in Gd is t he
longest pat h among all pat hs in G f r om delay di t o dj t hat do
not pass t hr ough any delay element s.
Ø The const r uct ion of Gd is t hus t he const r uct ion of mat r ix
L(1) in LPM.
Ø The cycle mean of Gd is obt ained by t he usual def init ion
of cycle mean and t his gives t he maximum cycle bound of
t he cycles in G t hat cont ain t he delays in c.
Ø The maximum cycle mean of Gd is t he max cycle bound of
all cycles in G, which is t he it er at ion bound.

Chap. 2 23
Ø To comput e t he maximum cycle mean of Gd t he MCM of Gd ’
is comput ed and mult iplied wit h –1. Gd’ is similar t o Gd
except t hat it s weight s negat ive of t hat of Gd.
Algor it hm f or MCM :
Ø Const r uct a ser ies of d+1 vect or s, f (m), m=0, 1, …, d, which
ar e each of dimension d×1.
Ø An ar bit r ar y r ef er ence node s is chosen and f (0)is f or med
by set t ing f (0) (s)=0 and r emaining ent r ies of f (0) t o ∞.
Ø The r emaining vect or s f (m) , m = 1, 2, …, d ar e r ecur sively
comput ed accor ding t o
f (m) (j ) = min(f (m- 1) (i) + w’(i,j )) f or i ∈ I
wher e, I is t he set of nodes in Gd’ such t hat t her e exist s
an edge f r om node i t o node j .
Ø The it er at ion bound is given by :
T ∞ = -mini ∈{1,2,…,d} (max m ∈ {0,1, …, d-1}((f (d)(i) - f (m)(i))/ (d-m)))

Chap. 2 24
• Example :
4 -4
0 1 0 2
1 2

0 Gd t o Gd’ 0
5 -5
0 0 4
3 4 3

5 -5

m=0 m=1 m=2 m=3 max m ∈ {0,1, …, d-1}((f (d)(i) - f (m)(i))/ (d-m))
i=1 -2 -∞ -2 -3 -2
i=2 -∞ -5/ 3 -∞ -1 -1
i=3 -∞ -∞ -2 -∞ -2
i=4 ∞-∞ ∞-∞ ∞-∞ ∞ ∞

T∞ = -min{-2, -1, -2, ∞} = 2


Chap. 2 25

You might also like