1 / 28

Design Space Exploration

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

joey
Télécharger la présentation

Design Space Exploration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Embedded System Design • Design Space Exploration • System Characterization • Estimation of Design Properties • Multi-objective Optimization • Summary

  3. Embedded System Design Flow • Design flow • Specification model • Refinement • Implementation model • Increased design complexity • Design flow problems • Design productivity gap • Verification gap

  4. 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

  5. Motivation • Up to 90% of final development costs are determined in the first phase of the development

  6. 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

  7. 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

  8. 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

  9. 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

  10. System Representation

  11. 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

  12. Degree of Parallelism High γ high parallelism DFG: faster computation CFG: reuse capabilities

  13. UMTS Slot Synchronization • Statistics • Operations • Control operations • Variables • Linguistic metric • Vocabulary • Structural metric • Parallelism • Tree height • Visualization • E.g. Kiviat chart

  14. Execution Time Estimation • Metrics • Number of operations • Parallelism • Available resources

  15. 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

  16. Area Time Trade-off (1)

  17. Area Time Trade-off (2)

  18. 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

  19. cycle count Evolutionary Optimisation area complexity

  20. 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

  21. Early design decision have high cost impact System characterization with static properties Estimation of implementation properties Generation of design alternatives Summary

  22. Thank you for your attention.

  23. Embedded System Design Flow

  24. 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

  25. 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

  26. 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

  27. 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

  28. VP Generation

More Related