Copyright 2003 Mani Srivastava High-level Synthesis of Embedded Hardware EE202A (Fall 2003): Lecture #9 Note: Several slides in this Lecture are from Prof. Miodrag Potkonjak, UCLA CS 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 2 Overview High Level Synthesis Allocation, Assignment and Scheduling Estimations Transformations Copyright 2003 Mani Srivastava 3 Synthesis Process IN k + + + + + c 1 c2 + + c 4 Am pl (db ) c5 + D D -40 .0 c3 c6 d -60 .0 IN k + D -80 .0 +c D 200.0 4 00.0 Freq 600. 0 OUT + GP signal processor ASIC c5 + + c7 6 c8 + D + +c c1 c3 2 c4 -100 .0 interconnect D D -20 .0 -120 .0 0.0 ARCHITECTURE ALGORITHM APPLICATION D MCM memory LOGIC AND PHYSICAL SYNTHESIS HIGH-LEVEL SYNTHESIS S1 S2 S3 S4 6 Copyright 2003 Mani Srivastava Typical High-Level Synthesis System Copyright 2003 Mani Srivastava 7 High Level Synthesis Resource Allocation - How Much? Scheduling - When? Assignment - Where? Module Selection Template Matching & Operation Chaining Clock Selection Partitioning Transformations Copyright 2003 Mani Srivastava 8 Allocation, Assignment, and Scheduling Allocation: How Much? 2 adders 1 shifter 24 registers D + D >> + >> + Assignment: Where? Shifter 1 + >> >> + >> - Schedule: When? - Time Slot 4 Techniques Well Understood and Mature Copyright 2003 Mani Srivastava 9 Scheduling and Assignment 4 control steps +3 3 +1 1 *2 4 +2 2 *1 3 *3 4 Schedule 1 Control Step + 1 +3 1 +1 2 +2 3 *2 2 *1 4 *3 3 Schedule 2 Control Step + +1 1 +3 2 +2 2 +1 *2 3 +3 3 +2 *3 4 * * *1 *2 *3 4 * *1 Copyright 2003 Mani Srivastava 10 High Level Synthesis C GRAPHICS func fir (In) : Out = begin Out = In@1 * a; end D * * Signal Flow Database D * * + + D * D * * + + 1 x x 2 x 3 x * + + Min Bounds: 2 adders 1 multiplier 16 registers TRANSFORMATIONS SCHEDULING Time Adder Mult * ESTIMATIONS TEMPLATE MATCHING D D 4 x x MAPPING * + r eg r eg + mu lt * D + * 11 Copyright 2003 Mani Srivastava Algorithm Description 12 Copyright 2003 Mani Srivastava Control Data Flow Graph (CDFG) Copyright 2003 Mani Srivastava 13 Precedence Graph 14 Copyright 2003 Mani Srivastava Sequence Graph: Start and End Nodes 15 Copyright 2003 Mani Srivastava Hierarchy in Sequence Graphs 16 Copyright 2003 Mani Srivastava Hierarchy in Sequence Graphs (contd.) 17 Copyright 2003 Mani Srivastava Hierarchy in Sequence Graphs (contd.) Copyright 2003 Mani Srivastava 18 Implementation Control/Data Flow Graph (CDFG) 2 3 2 ... 2 1 1 ... Implementation Reg Reg Multiplier 4 3 2 ... Reg 0 4 7 ... 4 7 9 ... Reg Adder Copyright 2003 Mani Srivastava 19 Timing Constraints Time measured in “cycles” or “control steps” problem? Max & min timing constraints Copyright 2003 Mani Srivastava 20 Constraint Graphs Copyright 2003 Mani Srivastava 21 Operations with Unknown Delays Unknown but bounded e.g. Conditionals loops Unknown and unbounded e.g. I/O operations synchronization Completion signal Called “anchor nodes” Need to schedule relative to these anchors Copyright 2003 Mani Srivastava 22 Scheduling Under Timing Constraints Feasible constraint graph Well-posed constraint graph Timing constraints satisfied when execution delays of all the anchors is zero Necessary for existence of schedule Timing constraints satisfied for all values of execution delays Implies feasibility Feasible constraint graph is well-posed or can be made well-posed iff no cycles with unbounded weight exist 23 Copyright 2003 Mani Srivastava Ill-posed (a, b) vs. Well-posed (c) Timing Constraints Copyright 2003 Mani Srivastava 24 Conclusions High Level Synthesis Connects Behavioral Description and Structural Description Scheduling, Estimations, Transformations High Level of Abstraction, High Impact on the Final Design