310 likes | 496 Views
Hardware/Software Codesign Martin Holzer Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms June 6th, 2008. Design Space Exploration. Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms. Outline. Embedded System Design
E N D
Hardware/Software Codesign Martin Holzer Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms June 6th, 2008 Design Space Exploration Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms
Outline • Embedded System Design • Design Space Exploration • System Characterization • Estimation of Design Properties • Multi-objective Optimization • Summary
Embedded System Design Flow • Design flow • Specification model • Refinement • Implementation model • Increased design complexity • Design flow problems • Design productivity gap • Verification gap
Embedded System Design Flow • Design flow • Specification model • Refinement • Implementation model • Increased design complexity • Design flow problems • Design productivity gap • Verification gap • Optimization objectives • Execution cycles • Silicon area • Power consumption 4
Motivation • Up to 90% of final development costs are determined in the first phase of the development
Design Space Exploration • Design space exploration is the process of investigating optimal implementation variants • Currently manual exploration • Design space not completely covered • Suboptimal solutions • Time consuming
Design Space Exploration Characterization and analysis of algorithms • Estimation of implementation properties of the next level • execution cycles • area consumption • power consumption Exploration of equally acceptable solutions
Metrics • A software metric is defined as numeric rating with the purpose to measure properties like • Complexity • Reliability • Length • Quality • Performance • Measurement procedure numerical rating • Interpretation e.g. complexity • Methods • Dynamic • Static
Prediction of Implementation Effort • COCOMO • Lines of Code (LoC) dependent • Problem: prediction of source lines at the beginning of the project is hard • Function points • Based on • Number of inputs • Number of outputs • Internal functions • This measure can be derived from the specification itself
Cyclomatic Complexity (V) • Minimal set of paths, where each edge is at least covered once. • Number of needed test cases in order to achieve full path coverage. • e = 8 • v = 7 • V = 8 – 7 + 2 = 3
Degree of Parallelism High γ high parallelism DFG: faster computation CFG: reuse capabilities
UMTS Slot Synchronization • Statistics • Operations • Control operations • Variables • Linguistic metric • Vocabulary • Structural metric • Parallelism • Tree height • Visualization • E.g. Kiviat chart
Execution Time Estimation • Metrics • Number of operations • Parallelism • Available resources
Execution Time Profile • Path analysis • Best Case Execution Time (BCET) • Worst Case Execution Time (WCET) • Infeasible paths • Condition (A < 1) && (A >= 1) cannot be fulfilled BCET WCET • Narrow bounds for the execution time interval
Multi-objective Optimization • Minimization of a set of conflicting functions • A decision x is Pareto optimal if there is no other decision that dominates x • Set of Pareto optimal points is called Pareto front • Evolutionary algorithm approach to compute Pareto front
cycle count Evolutionary Optimisation area complexity
Pareto Front Examples • Control flow graph • 10 basic blocks • No loops • 1010 design points • 14 Pareto optimal design points • Control flow graph • 15 basic blocks • 2 loops • 1020 design points • 29 Pareto optimal design points
Early design decision have high cost impact System characterization with static properties Estimation of implementation properties Generation of design alternatives Summary
Metrics • Linguistic Metrics • Program Vocabularye.g. S={ADD, SUB} • Memory Oriented Metrics • Control Oriented Metrics • Structural Metrics • Cyclomatic Complexity • Degree of Parallelism • Object Oriented Metrics • Depth of hierarchy
Parallelism of a DFG • Nop : Total number of operations • Nopl : Number of operations in the longest path • Nop = 8 • Nopl = 5 • γ = 8/5 = 1,6 High γ high parallelism faster computation reuse capabilities • Nop : Total number of operations of type j • Noplj : Number of operations of type j in the longest path
Memory Orientation Metrics (MOM) • Nop : Number of operations • Nmac : Number of memory accesses • Ncop : Number of control operations • MOM 1 function is dominated by memory access • Nop = 8 • Nmop = 4 • MOM = 4/12 = 1/3
Control Orientation Metrics (COM) • Nop : Total number of operations • Ncop : Number of control statements • Nmac : Number of memory accesses • COM 1 function is dominated by control • Nop = 9 • Ncop = 1 • COM = 1/10 = 0,1