iteration bound - tuiasiscs.etc.tuiasi.ro/iciocoiu/courses/esl/course5/vlsidsp_chap2.pdf · vlsi...

22
VLSI Digital Signal Processing Systems Iteration Bound Lan-Da Van (范倫達), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2007 [email protected] http://www.cs.nctu.tw/~ldvan/

Upload: doankien

Post on 19-Jul-2018

222 views

Category:

Documents


1 download

TRANSCRIPT

  • VLSI Digital Signal Processing Systems

    Iteration Bound

    Lan-Da Van (), Ph. D.Department of Computer ScienceNational Chiao Tung University

    Taiwan, R.O.C.Spring, 2007

    [email protected]

    http://www.cs.nctu.tw/~ldvan/

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-2

    Outline

    IntroductionData Flow Graph (DFG) RepresentationsLoop Bound and Iteration BoundCompute the Iteration Bound

    Longest Path Matrix Algorithm (LPM)Minimum Cycle Mean Method (MCM)

    Conclusion

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-3

    Introduction

    Iteration bound = maximum loop bound OR maximum non-loop boundClock period = critical path period = cycle time = 1/clock rateSample rate = throughput rateImpossible to achieve an iteration bound less than the theoretical iteration bound with infinite processors

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-4

    Outline

    IntroductionData Flow Graph (DFG) RepresentationsLoop Bound and Iteration BoundCompute the Iteration Bound

    Longest Path Matrix Algorithm (LPM)Minimum Cycle Mean Method (MCM)

    Conclusion

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-5

    DSP Program: Example

    )()1()( nxnayny +== 0for ton

    kk BA : PeriodIteration-Intra1 : PeriodIteration-Inter + kk AB

    Data Flow Graph

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-6

    Loop Bounds in DFG

    Critical Path: The path with the longest computation time among all paths that contain zero delaysLoop: 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 loopCritical Loop: the loops in which has maximum loop bound.Iteration Bound: maximum loop bound / non-loop bound, i.e., a fundamental limit for recursive / non-recursive algorithms

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

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-7

    Iteration bound

    T

    }{maxl

    l

    Ll wtT

    =Definition:

    (a) Iteration bound= 6/2 = 3 u.t.(b) Iteration bound= Max { 6/2 , 11/1 } = 11 u.t.

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-8

    Outline

    IntroductionData Flow Graph (DFG) RepresentationsLoop Bound and Iteration BoundCompute the Iteration Bound

    Longest Path Matrix Algorithm (LPM)Minimum Cycle Mean Method (MCM)

    Conclusion

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-9

    Longest Path Matrix Algorithm (LPM)

    A series of matrix is constructed, and the iteration bound is found by examining the diagonal elements of the matrices.d : # of delaysCompute L1~Lm, m=1, 2, 3, , d

    :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 l equals -1.

    )(,mjil

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-10

    A DFG with Three Loops Using LPM (1/3)

    =

    1115011510141101

    )1(L

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-11

    A DFG with Three Loops Using LPM (2/3)

    ),1(max )( ,)1(

    ,)1(

    ,mjkkiKk

    mji lll += +

    =

    11511155

    01451014

    )2(L

    =

    1115011510141101

    1115011510141101

    )2(L

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-12

    A DFG with Three Loops Using LPM (3/3)

    =

    151915591458

    0145

    )3(L

    =

    519105591045891458

    )4(L

    }{max)(

    ,

    },...,2,1{, ml

    Tmii

    dmi =

    2}45,

    45,

    48,

    48,

    35,

    35,

    35,

    24,

    24{max

    },...,2,1{,==

    dmiT

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-13

    A Filter Using LPM

    =

    8844)1(L

    =

    16161212)2(L

    8}2

    16,2

    12,18,

    14max{ ==T

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-14

    Minimum Cycle Mean Method (MCM)

    1. Construct the new graph Gd (DFG G)transform from DFG decide the weight of each edge

    2. Compute the maximum cycle meanconstruct 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 max cycle mean

    3. Find the min cycle mean between each cycle

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-15

    A DFG with Three Loops Using MCM (1/5)

    delay => nodelongest 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.

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-16

    A DFG with Three Loops Using MCM (2/5)

    Longest path lengthpath which pass through no delayslongest : two loops that contain Da and Db

    max { 6,4 } = 6cycle mean = 6/2=3

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-17

    A DFG with Three Loops Using MCM(3/5)

    Cycle mean= Average length of the edge in c (Cycle = Loop )

    Compute the cycle mean

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-18

    A DFG with Three Loops Using MCM (4/5)

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

    =0

    4

    )2(f

    =

    0

    45

    )3(f

    =458

    )4(f

    =0)1(f

    =

    0

    )0(f

    )),()((min)( )1()( jiwifjf mIi

    m +=

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-19

    A DFG with Three Loops Using MCM (5/5)

    )))()((max(min)()(

    }1,...2,1,0{},...,2,1{ mdififT

    md

    dmdi

    =

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

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-20

    A Filter Using MCM

    8}6,8min{ ==T

    =1212)2(f

    =44)1(f

    =0)0(f

  • VLSI Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-21

    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 Digital Signal Processing Systems

    Lan-Da Van VLSI-DSP-2-22

    Self-Test Exercises

    STE1: For the DFG shown in Fig. 2.12, the computation times of the nodes are shown in parentheses. Compute the iteration bound of this DFG using (a) the LPM algorithm, and (b) the MCM algorithm. (Also see Problem 2.1 of the text book.)STE2: Repeat STE1 for the DFG shown in Fig. 2.15 assuming that addition and multiplication require 1 and 2 u.t., respectively. (Also see Problem 2.4 of the text book.)

    Iteration BoundOutlineIntroductionOutlineDSP Program: ExampleLoop Bounds in DFGIteration boundOutlineLongest Path Matrix Algorithm (LPM)ConclusionSelf-Test Exercises