Iteration Bound ( 范倫達 ) Ph. D. Department of Computer Science National Chiao Tung University Taiwan R.O.C. Fall 2 ldvan@cs.nctu.edu.tw http://www.cs.nctu.tw/~ldvan/
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 VLSI-DSP-2-2
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 = /clock rate Sample rate = throughput rate Impossible to achieve an iteration bound less than the theoretical iteration bound with infinite processors VLSI-DSP-2-3
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 VLSI-DSP-2-
for n DSP Program: Example to y( n) ay( n ) x( n) Intra- Iteration Period : A Inter - Iteration Period : B k A k B k k Data Flow Graph VLSI-DSP-2-
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=t l /w l where t l is the loop computation time and w l 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 in DFG Loop bounds : /2 u.t. (max) /3 u.t. / u.t. VLSI-DSP-2-6
Definition: T Iteration bound t max{ l ll w l } T (a) Iteration bound= 6/2 = 3 u.t. (b) Iteration bound= Max { 6/2 / } = u.t. VLSI-DSP-2-7
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 VLSI-DSP-2-8
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 () ~L (m) m= 2 3 d ( m) l :The longest computation time of all paths from delay i j element d i to delay element d j that pass through exactly m- delays where the delay d i and delay d j are not included for m- delays. If no path exists then the value of l ij (m) equals -. VLSI-DSP-2-9
VLSI-DSP-2- A DFG with Three Loops Using LPM (/3) () L
VLSI-DSP-2- A DFG with Three Loops Using LPM (2/3) ) max( ) ( () ) ( m j k k i K k m j i l l l (2) L (2) L
VLSI-DSP-2-2 A DFG with Three Loops Using LPM (3/3) } { max ) ( } {2... m l T m i i d m i 2 } 8 8 3 3 3 2 2 { max } {2... d m i T 9 9 8 (3) L 9 9 8 9 8 () L
A Filter Using LPM () L T 8 8 (2) L 2 6 8 2 6 max{ } 2 2 2 6 8 VLSI-DSP-2-3
Minimum Cycle Mean (MCM) Method. Construct the new graph G d 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+ vectors f (m) m= 2 d An arbitrary reference node is chosen in Gd (called this node s). The initial vector f () is formed by setting f () (s)= and setting the remaining nodes of f () to infinity. find the min cycle mean VLSI-DSP-2-
A DFG with Three Loops Using MCM (/) VLSI Digital Signal Processing Systems 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 D a and D b max { 6 } = 6 cycle mean = 6/2=3 VLSI-DSP-2-
A DFG with Three Loops Using MCM (2/) VLSI Digital Signal Processing Systems delay => node longest path length (computation time) =>weight w(ij) If no zero-delay path exists from delay d i to delay d j then the edge i -> j does not exist in Gd. VLSI-DSP-2-6
VLSI-DSP-2-7 we will find d+ vectors f (m) m= d A DFG with Three Loops Using MCM (3/) () f () f (2) f (3) f 8 () f )) ( ) ( min( ) ( ) ( ) ( j w i i f j f m I i m
A DFG with Three Loops Using MCM (/) T min ( max ( ( d ) ( i) f i{ 2... d} m{2... d } d m f ( m) ( i) )) T min{ 2 2 } 2 VLSI-DSP-2-8
A Filter Using MCM T min{ 8 6} f () 8 f () f (2) VLSI-DSP-2-9 2 2
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. VLSI-DSP-2-2