Download presentation
Presentation is loading. Please wait.
Published byByron Blewett Modified over 10 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.