Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: 310-267-2098 WWW: Copyright 2003.

Similar presentations


Presentation on theme: "Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: 310-267-2098 WWW: Copyright 2003."— Presentation transcript:

1 Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Email: mbs@ee.ucla.edu Tel: 310-267-2098 WWW: http://www.ee.ucla.edu/~mbs Copyright 2003  Mani Srivastava High-level Synthesis Transformations EE202A (Fall 2003): Lecture #9 Note: Several slides in this Lecture are from Prof. Miodrag Potkonjak, UCLA CS

2 Copyright 2003  Mani Srivastava 2 Overview n High Level Synthesis n Scheduling n Estimations n Transformations

3 Copyright 2003  Mani Srivastava 3 Transformations n Goals of High Level Synthesis u To translate the specification of the algorithm into efficient hardware implementation u The quality of the implementation depends on how the high level synthesis tasks are performed and on the computational structure of the algorithm n Purpose of Transformations u To improve flexibility of the computational structure for the high level synthesis

4 Copyright 2003  Mani Srivastava 4 Transformations

5 Copyright 2003  Mani Srivastava 5 Commutativity, Associativity, Distributivity

6 Copyright 2003  Mani Srivastava 6 Associativity n Associativity is frequently used for tree height reduction

7 Copyright 2003  Mani Srivastava 7 Temporal Transformations D (a) * D (b) = D (a * b)

8 Copyright 2003  Mani Srivastava 8 Retiming

9 Copyright 2003  Mani Srivastava 9 Retiming (contd.)

10 Copyright 2003  Mani Srivastava 10 How does Retiming help? beforeafter

11 Copyright 2003  Mani Srivastava 11 Example of Transformation (Cont’d) n Maximum number of operation that can be executed in a given cycle

12 Copyright 2003  Mani Srivastava 12 Clock Period Minimization n Example; 100 stage lattice filter n Assume add and multiply take 1 and 2 units of time respectively n Critical path in dotted line n Minimum sample period = 105

13 Copyright 2003  Mani Srivastava 13 Clock Period Minimization (contd.) n 2-slowdown version

14 Copyright 2003  Mani Srivastava 14 Clock Period Minimization (contd.) n Retimed version of the 2-slow down model n Critical path = 6 n Minimum sample period = 12

15 Copyright 2003  Mani Srivastava 15 Retiming for Register Minimization

16 Copyright 2003  Mani Srivastava 16 Example of Retiming for Register Minimization

17 Copyright 2003  Mani Srivastava 17 Unfolding

18 Copyright 2003  Mani Srivastava 18 Unfolding (contd.)

19 Copyright 2003  Mani Srivastava 19 How to do Unfolding?

20 Copyright 2003  Mani Srivastava 20 Another Example

21 Copyright 2003  Mani Srivastava 21 How does Unfolding help? n Unfolding a DFG with iteration bound T  results in a J-unfolded DFG with iteration bound JT  n Seems like no win, but can help with actual sample period in two scenarios u Case 1: sample period could not be made equal to iteration period because of some node with computation time greater than T  u Case 2: sample period could not be made equal to iteration period because T  is not an integer

22 Copyright 2003  Mani Srivastava 22 Example of Case 1 T  =3 Minimum sample period = 4 T  =6 Minimum sample period = 6/2=3

23 Copyright 2003  Mani Srivastava 23 Example of Case 2 T  =4/3 Minimum sample period = 2 T  =4 Minimum sample period = 4/3

24 Copyright 2003  Mani Srivastava 24 How To Measure Quality of Particular Solution? n A high resource utilization is proportional to a small design cost n The resource utilization of the particular solution can be measured much easily than the design cost n  r is proportional to the cost of the hardware resource r

25 Copyright 2003  Mani Srivastava 25 Objective Function n Should be easily computable, because it will require multiple evaluation n Should be correlated with hardware implementation

26 Copyright 2003  Mani Srivastava 26 Properties of Good Solution n Timing constraints are not strict n Resources are distributed over the time span n Shorter critical path n Number of variables smaller then the number of the registers

27 Copyright 2003  Mani Srivastava 27 Parts of Objective Function n SL A (the slack of a node) = ALAP A - ASAP A + 1 n O AB - overlap of A’s and B’s ASAP-ALAP intervals n IR AB - # of available resources of particular class n Total Scheduling Difficulty n Total Overlap Measure

28 Copyright 2003  Mani Srivastava 28 Objective Function n Parameters  1,  2 and  3 are large for part of the cost we want to avoid and in the next examples are 0.8, 0.1 and 0.1

29 Copyright 2003  Mani Srivastava 29 Correlation Between Objective Function and Solution Quality FIR filter (20 examples)

30 Copyright 2003  Mani Srivastava 30 Basic Moves n Retiming u Moving the delays from the inputs to the outputs or from the outputs to the inputs n Generalized associativity u Includes a - (b - c) = (a - b) + c a / (b * c) = (a / b) / c u Forward moves a + (b + c) = (a + b) + c u Reverse moves (a + b) + c = a + (b + c) n Transformations are not orthogonal n By using one of them, other transformations can be enabled or disabled

31 Copyright 2003  Mani Srivastava 31 Probabilistic Sample Algorithm (1st Phase) n The solution space will be traversed four times for every combinations of possible retiming and associativity moves n Objective function is evaluated every four steps n Moves that increase objective can be selected n Number of the solutions will be chosen as the starting points of the second phase

32 Copyright 2003  Mani Srivastava 32 Probabilistic Sample Algorithm (2nd Phase) n Objective function is evaluated every step n Only moves that decrease objective can be selected n The move offering the best decrease is automatically selected n For each starting point, the search is concluded when a local minimum is reached n The best minimum is the final solutions

33 Copyright 2003  Mani Srivastava 33 Experimental Results n Algorithm applied on 40 data flow graphs of different sizes n The ratio of the cost of the implementation after transformation over the cost of the implementation of initial graph

34 Copyright 2003  Mani Srivastava 34 Experimental Results (contd.) n An initial solution may be already transformed by the designer n The final solution is compared against the median cost of 20 random solutions for every benchmark

35 Copyright 2003  Mani Srivastava 35 Transformations: Bottleneck Identification

36 Copyright 2003  Mani Srivastava 36 Transformations:Enabling Principle

37 Copyright 2003  Mani Srivastava 37 Transformations:How to Improve Designs?

38 Copyright 2003  Mani Srivastava 38 Transformations for Area Optimization

39 Copyright 2003  Mani Srivastava 39 Transformations: Summary n Application Range u Filters are ideal targets for the transformation, since the delays are present in all filter structures u Any problem that includes loops using the previous samples n Side Effects u Transformations leading to a shorter critical path may or may not lead to the minimization of the implementation area u How can we deal with blocks in finding the minimal path or the minimal hardware implementation

40 Copyright 2003  Mani Srivastava 40 Conclusions n High Level Synthesis n Connects Behavioral Description and Structural Description n Scheduling, Estimations, Transformations n High Level of Abstraction, High Impact on the Final Design


Download ppt "Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: 310-267-2098 WWW: Copyright 2003."

Similar presentations


Ads by Google