Presentation is loading. Please wait.

Presentation is loading. Please wait.

- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”

Similar presentations


Presentation on theme: "- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”"— Presentation transcript:

1 - 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”

2 - 2 - EE898-HW/SW co-design Design productivity gap

3 - 3 - EE898-HW/SW co-design © Lauro Rizzatti Marketing Vice President Emulation & Verification Engineering (EVE) lauro@eve-usa.com

4 - 4 - EE898-HW/SW co-design Reuse as a way out - Plus: Increasing ES complexity, time-to-market requirements - Pre-designed standard components to be used. Standard software components Standard hardware components  Platform-based design - Plus: Increasing ES complexity, time-to-market requirements - Pre-designed standard components to be used. Standard software components Standard hardware components  Platform-based design

5 - 5 - EE898-HW/SW co-design Platform-based design A platform is a family of architectures satisfying a set of constraints imposed to allow the reuse of hardware and software components. However, a hardware platform is not enough. Quick, reliable, derivative design requires using a platform application programming interface (API) to extend the platform toward application software. In general, a platform is an abstraction layer that covers many possible refinements to a lower level. Platform-based design is a meet-in-the-middle approach: In the top-down design flow, designers map an instance of the upper platform to an instance of the lower, and propagate design constraints [Sangiovanni-Vincentelli, 2002].

6 - 6 - EE898-HW/SW co-design Iterative approach (1) Guided by performance evaluation

7 - 7 - EE898-HW/SW co-design Essentially the same with our flow … Mapping

8 - 8 - EE898-HW/SW co-design Iterative approach: SpecC model - Allocation: selecting components - Partitioning: mapping parts of system spec to components - Scheduling: serialize execution

9 - 9 - EE898-HW/SW co-design 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 (fixed-point arithmetic  floating-point arithmetic) Hardware/software partitioning Which operation mapped to hardware, which to software? Compilation (software) Hardware- aware compilation (efficient improved if knowing the hardware) Scheduling Performed several times, with varying precision Design space exploration Set of possible designs meeting specifications, chose one. Task level concurrency management Which tasks in the final system? High level transformations Transformation that are outside the scope of traditional compilers (fixed-point arithmetic  floating-point arithmetic) Hardware/software partitioning Which operation mapped to hardware, which to software? Compilation (software) Hardware- aware compilation (efficient improved if knowing the hardware) Scheduling Performed several times, with varying precision Design space exploration Set of possible designs meeting specifications, chose one.

10 - 10 - EE898-HW/SW co-design Task-level concurrency management Break into small tasks. Granularity: size of tasks (e.g. in instructions) Readable specifications and efficient implementations can possibly require different task structures.  Granularity changes  Task partitioning does not necessary aim to maximize implementation efficiency.  Not one-to-one corresponding between task and spec.  Merging or splitting tasks. Break into small tasks. Granularity: size of tasks (e.g. in instructions) Readable specifications and efficient implementations can possibly require different task structures.  Granularity changes  Task partitioning does not necessary aim to maximize implementation efficiency.  Not one-to-one corresponding between task and spec.  Merging or splitting tasks.

11 - 11 - EE898-HW/SW co-design Merging of tasks Reduced overhead of context switches, More global optimization of machine code, Reduced overhead for inter-process/task communication. Reduced overhead of context switches, More global optimization of machine code, Reduced overhead for inter-process/task communication.

12 - 12 - EE898-HW/SW co-design Splitting of tasks No blocking of resources while waiting for input, more flexibility for scheduling, possibly improved result. No blocking of resources while waiting for input, more flexibility for scheduling, possibly improved result.

13 - 13 - EE898-HW/SW co-design Merging and splitting of tasks The most appropriate task graph granularity depends upon the context  merging and splitting may be required. Merging and splitting of tasks should be done automatically, depending upon the context. The most appropriate task graph granularity depends upon the context  merging and splitting may be required. Merging and splitting of tasks should be done automatically, depending upon the context.

14 - 14 - EE898-HW/SW co-design Automated rewriting of the task system - Example - T2 ** T2 *

15 - 15 - EE898-HW/SW co-design Attributes of a system that needs rewriting Tasks blocking after they have already started running

16 - 16 - EE898-HW/SW co-design High-level optimization: Floating-point to fixed point conversion Pros –Lower cost –Faster (75%) –Lower power consumption (76%??) –Sufficient SQNR, if properly scaled –Suitable for portable applications Cons –Decreased dynamic range –Finite word-length effect, unless properly scaled Overflow and excessive quantization noise –Extra programming effort Pros –Lower cost –Faster (75%) –Lower power consumption (76%??) –Sufficient SQNR, if properly scaled –Suitable for portable applications Cons –Decreased dynamic range –Finite word-length effect, unless properly scaled Overflow and excessive quantization noise –Extra programming effort © Ki-Il Kum, et al. (Seoul National University): A Floating- point To Fixed-point C Converter For Fixed- point Digital Signal Processors, 2nd SUIF Workshop, 1996


Download ppt "- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”"

Similar presentations


Ads by Google