You are on page 1of 20

VLSI Digital Signal Processing Systems

Iteration Bound
Lan-Da Van (), Ph. D.
Department of Computer Science
National Chiao Tung University
Taiwan, R.O.C.
Fall, 2010
ldvan@cs.nctu.edu.tw
http://www.cs.nctu.tw/~ldvan/

VLSI Digital Signal Processing Systems

Outline
Introduction
Data Flow Graph (DFG) Representations
Loop Bound and Iteration Bound
Compute the Iteration Bound

Longest Path Matrix Algorithm (LPM)


Minimum Cycle Mean Method (MCM)

Conclusion

Lan-Da Van

VLSI-DSP-2-2

VLSI Digital Signal Processing Systems

Introduction
Many DSP algorithms such as recursive and
adaptive digital filters contain feedback loops,
which impose an inherent fundamental lower
bound on the achievable iteration or sample period.
Iteration bound = maximum loop bound
Clock period = critical path period = cycle time =
1/clock rate
Sample rate = throughput rate
Impossible to achieve an iteration bound less than
the theoretical iteration bound with infinite
processors
Lan-Da Van

VLSI-DSP-2-3

VLSI Digital Signal Processing Systems

Outline
Introduction
Data Flow Graph (DFG) Representations
Loop Bound and Iteration Bound
Compute the Iteration Bound

Longest Path Matrix Algorithm (LPM)


Minimum Cycle Mean Method (MCM)

Conclusion

Lan-Da Van

VLSI-DSP-2-4

VLSI Digital Signal Processing Systems

DSP Program: Example

for n 0 to

y(n) ay(n 1) x(n)

Intra - Iteration Period : Ak Bk


Inter - Iteration Period : Bk Ak 1
Lan-Da Van

Data Flow Graph

VLSI-DSP-2-5

VLSI Digital Signal Processing Systems

Loop Bounds in DFG


Critical Path: The path with the
longest computation time among
all paths that contain zero delays
Loop: Directed path that begins
and ends at the same node
Loop Bound=tl/wl, where tl is the
loop computation time and wl is the
number of delays in the loop
Critical Loop: the loops in which
has maximum loop bound.
Iteration Bound: maximum loop
bound, i.e., a fundamental limit for
recursive algorithms

Loop bounds : 4/2 u.t. (max), 5/3 u.t. , 5/4 u.t.


Lan-Da Van

VLSI-DSP-2-6

VLSI Digital Signal Processing Systems

Iteration bound
Definition:

tl
T max{ }
lL
wl
T

(a) Iteration bound= 6/2 = 3 u.t.


(b) Iteration bound= Max { 6/2 , 11/1 }
= 11 u.t.
Lan-Da Van

VLSI-DSP-2-7

VLSI Digital Signal Processing Systems

Outline
Introduction
Data Flow Graph (DFG) Representations
Loop Bound and Iteration Bound
Compute the Iteration Bound

Longest Path Matrix Algorithm (LPM)


Minimum Cycle Mean Method (MCM)

Conclusion

Lan-Da Van

VLSI-DSP-2-8

VLSI Digital Signal Processing Systems

Longest Path Matrix (LPM) Algorithm


A series of matrix is constructed, and the iteration
bound is found by examining the diagonal elements
of the matrices.
d : # of delays
Compute L(1)~L(m), m=1, 2, 3, , d
li(,mj ) :The longest computation time of all paths from delay
element di to delay element dj that pass through exactly m-1
delays, where the delay di and delay dj are not included for m-1
delays.

If no path exists, then the value of li,j (m) equals -1.

Lan-Da Van

VLSI-DSP-2-9

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using LPM


(1/3)

1 0 1 1
4 1 0 1
(1)

L
5 1 1 0

5 1 1 1

Lan-Da Van

VLSI-DSP-2-10

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using LPM


(2/3)

( m 1)
i, j

l
L( 2)

max ( 1, l

(1)
i ,k

kK

(m)
k, j

1 0 1 1 1 0 1 1
4 1 0 1 4 1 0 1

5 1 1 0 5 1 1 0

1
5

4 1 0 1
5

1
0

L( 2 )
5 1 1
5

1 5 1 1
Lan-Da Van

VLSI-DSP-2-11

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using LPM


(3/3)

5 4 1 0
8 5

1
( 3)

L
5 1
9 5

9 1 5 1

max

i , m{1, 2,...,d }

( m)
li , i

8
9
L( 4 )
10

10

9 5
5

9 1 5
5
8

4
5

4 4 5 5 5 8 8 5 5
T max { , , , , , , , , } 2
i ,m{1, 2,...,d } 2 2 3 3 3 4 4 4 4
Lan-Da Van

VLSI-DSP-2-12

VLSI Digital Signal Processing Systems

A Filter Using LPM

4 4
L

8
8

(1)

( 2)

12 12

16
16

4 8 12 16
T max{ , , , } 8
1 1 2 2
Lan-Da Van

VLSI-DSP-2-13

VLSI Digital Signal Processing Systems

Minimum Cycle Mean (MCM) Method


1. Construct the new graph Gd and Gd

Transform from original DFG G


Decide the # of nodes from the # of delays in G.
Decide the weight of each edge

2. Compute the minimum cycle mean

Construct the series of d+1 vectors f(m), m=0, 1, 2, ,d


An arbitrary reference node is chosen in Gd (called this
node s). The initial vector f(0) is formed by setting f(0)(s)=0
and setting the remaining nodes of f(0) to infinity.

find the min cycle mean

Lan-Da Van

VLSI-DSP-2-14

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using MCM


(1/4)

Cycle mean= Average length of the edge in c


(Cycle = Loop )
Longest path length
path that passes through no delays
longest : two loops that contain Da and Db
max { 6,4 } = 6
cycle mean = 6/2=3

Lan-Da Van

VLSI-DSP-2-15

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using MCM


(2/4)

delay => node


longest path length (computation time) =>weight
w(i,j)

If no zero-delay path exists from delay di to delay dj,


then the edge i -> j does not exist in Gd.

Lan-Da Van

VLSI-DSP-2-16

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using MCM


(3/4)

we will find d+1 vectors , f(m) m=0,1,, d


4
5
8
0

4
5
f (1) f ( 2 ) f ( 3) f ( 4 )

0

0

f ( 0 )


( m)

( j ) min ( f

( m 1)

iI

Lan-Da Van

(i) w(i, j ))
VLSI-DSP-2-17

VLSI Digital Signal Processing Systems

A DFG with Three Loops Using MCM


(4/4)

min (

max

i{1, 2,...,d } m{0,1, 2,...d 1}

(d )

(i ) f
d m

( m)

(i )

))

T min{2,1,2, } 2
Lan-Da Van

VLSI-DSP-2-18

VLSI Digital Signal Processing Systems

A Filter Using MCM

( 0)

0 (1) 4 ( 2) 12
f f
12
4

T min{8,6} 8
Lan-Da Van

VLSI-DSP-2-19

VLSI Digital Signal Processing Systems

Conclusion
When the DFG is recursive, the iteration bound is
the fundamental limit on the minimum sample
period of a hardware implementation of the DSP
program.
Two algorithms to compute iteration bound, LPM
and MCM, were explored.

Lan-Da Van

VLSI-DSP-2-20

You might also like