310 likes | 335 Views
High-level Synthesis Transformations. EE202A (Fall 2003): Lecture #9. Note: Several slides in this Lecture are from Prof. Miodrag Potkonjak, UCLA CS. Overview. High Level Synthesis Scheduling Estimations Transformations. Transformations. Goals of High Level Synthesis
E N D
High-level SynthesisTransformations EE202A (Fall 2003): Lecture #9 Note: Several slides in this Lecture are fromProf. Miodrag Potkonjak, UCLA CS
Overview • High Level Synthesis • Scheduling • Estimations • Transformations
Transformations • Goals of High Level Synthesis • To translate the specification of the algorithm into efficient hardware implementation • The quality of the implementation depends on how the high level synthesis tasks are performed and on the computational structure of the algorithm • Purpose of Transformations • To improve flexibility of the computational structure for the high level synthesis
Associativity • Associativity is frequently used for tree height reduction
Temporal Transformations D (a) * D (b) = D (a * b)
How does Retiming help? before after
Example of Transformation (Cont’d) • Maximum number of operation that can be executed in a given cycle
Clock Period Minimization • Example; 100 stage lattice filter • Assume add and multiply take 1 and 2 units of time respectively • Critical path in dotted line • Minimum sample period = 105
Clock Period Minimization (contd.) • 2-slowdown version
Clock Period Minimization (contd.) • Retimed version of the 2-slow down model • Critical path = 6 • Minimum sample period = 12
How does Unfolding help? • Unfolding a DFG with iteration bound T results in a J-unfolded DFG with iteration bound JT • Seems like no win, but can help with actual sample period in two scenarios • Case 1: sample period could not be made equal to iteration period because of some node with computation time greater than T • Case 2: sample period could not be made equal to iteration period because T is not an integer
Example of Case 1 T=3 Minimum sample period = 4 T=6 Minimum sample period = 6/2=3
Example of Case 2 T=4/3 Minimum sample period = 2 T=4 Minimum sample period = 4/3
Transformations: Summary • Application Range • Filters are ideal targets for the transformation, since the delays are present in all filter structures • Any problem that includes loops using the previous samples • Side Effects • Transformations leading to a shorter critical path may or may not lead to the minimization of the implementation area • How can we deal with blocks in finding the minimal path or the minimal hardware implementation
Conclusions • High Level Synthesis • Connects Behavioral Description and Structural Description • Scheduling, Estimations, Transformations • High Level of Abstraction, High Impact on the Final Design