Download presentation
Presentation is loading. Please wait.
1
EECE **** Embedded System Design
Chapter 5A: Hardware/Software Codesign
2
Hardware/Software Codesign
3
Design productivity gap
4
Marketing Vice President
Emulation & Verification Engineering (EVE) © Lauro Rizzatti
5
Platform-based design
Top-Down: Map an instance of the upper platform onto an lower platform considering appropriate constrains. Bottom-Up: Find the appropriate platform levels. Define platform level parameters Platform instances Platform abstraction levels
6
Platform-based design
Few design areas suitable for PBD: System Platform Stack The main application area. The primary notion of PBD originates here. Network Platforms Equivalent to protocol stacks. Analog Platform Performance models, behavioral models and interconnection models. Decouples the application development process from the architectural implementation process.
7
Iterative approach (1) Guided by performance evaluation
8
Essentially the same with our flow …
System architecture Implementation Refine System behavior Mapping Performance simulation
9
Overview of design activities
Task level concurrency management Which tasks in the final system? High level transformations Transformation that are outside the scope of traditional compilers Hardware/software partitioning Which operation mapped to hardware, which to software? Compilation Hardware-aware compilation Scheduling Performed several times, with varying precision Design space exploration Set of possible designs, not just one.
10
Merging of tasks Reduced overhead of context switches,
More global optimization of machine code, Reduced overhead for inter-process/task communication.
11
Splitting of tasks No blocking of resources while waiting for input,
more flexibility for scheduling, possibly improved result.
12
Example of a mixed TCM Deadline Deadline Deadline
Static (compile-time) methods can ensure WCET feasible schedules, but waste energy in the average case. t E Deadline Task1 …or they can define a probability for violating the deadline. t Deadline Task2 Task3 Mixed methods use compile-time analysis to define a set of possible execution parameters for each task. Runtime scheduler selects the most energy saving, deadline preserving combination. t Deadline
13
Example of an mixed TCM „Gray-box“: Extract only the information needed for scheduling. Transformations: Merge and/or split task. (Functionality comparable to Cortadella’s approach.) Find Pareto-curves for each task. Runtime scheduler: uses an heuristic to combine the Pareto-curves.
14
Fundamental considerations of tradeoffs by Brodersen (Berkeley)
Bild zeigt das Ergebnis der Simulation eines 12-punkte LMS adapt. Filters. MSE = Mean-Square-Error (Unterschied in der produzierten Ausgabe eins Floating-Point und eines Fix-Point Systems.
15
Fridge Fixed-Point Programming and Design Environment
RWTH Aachen, commercialized by Synopsys as part of the CoCentric tool suite. Uses type definition features of C++ to define abstract data types (i.e. ‘fixed’) Incorporated into SystemC. (It’s used for bit-true simulation.) Needs architecture dependent back-end optimizations.
16
Fridge Fixed-Point Programming and Design Environment
Workflow overview: Input: floating-point algorithm + designer supplied annotations. Conversion. Iterative, feedback through simulation. Back-end exploits architectural features. (i.e. mulh, sat, round) Output: Target optimized integer C code.
17
Fridge Fixed-Point Programming and Design Environment
Conversion steps: Designer annotates some operands (with WL, IWL, …) Hybrid code: Partially converted to fixed-point. Interpolation: Automatic annotate of remaining operands, transfer each operand into fixed-point type. Code Gen.: Generates pure C code. Back End: Optimize for target. Bit-true simulation. DSP Back End
18
Today’s summary Design-Productivity-Gap: No final remedy available, but step-by-step improvements keep costs in a reasonable range. Platform based design: Reuse is the key. PBD is the systematic approach to it. Task-Concurrency-Management: Optimize the task set. Goals: Non-blocking job execution / Increased energy efficiency. Float-point to Fixed-point: Fixed-point arithmetic uses integer operations Simpler and faster hardware than for float-point operations.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.