Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Co-Synthesis Algorithms Part of HW/SW Codesign of Embedded Systems Course (CE 40-226)

Slides:



Advertisements
Similar presentations
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Advertisements

Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 1: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Efficient Software Performance Estimation Methods for Hardware/Software Codesign Kei Suzuki Alberto Sangiovanni-Vincentelli Present: Yanmei Li.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Chapter 7 Hardware Accelerators 金仲達教授 清華大學資訊工程學系 (Slides are taken from the textbook slides)
Define Embedded Systems Small (?) Application Specific Computer Systems.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning.
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Codesign Part of HW/SW Codesign of Embedded Systems Course (CE )
Evolution of Digital-Design: Past, Present, and Future Design & Co-design of Embedded Systems Maziar Goudarzi.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
May 2004 Department of Electrical and Computer Engineering 1 ANEW GRAPH STRUCTURE FOR HARDWARE- SOFTWARE PARTITIONING OF HETEROGENEOUS SYSTEMS A NEW GRAPH.
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: HW/SW Partitioning Part of HW/SW Codesign of Embedded Systems Course (CE )
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
Design & Co-design of Embedded Systems Introduction to Co-synthesis Algorithms + HW/SW Partitioning Algorithms Maziar Goudarzi.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #21 – HW/SW.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 2: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
High Performance Embedded Computing © 2007 Elsevier Lecture 18: Hardware/Software Codesign Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Winter-Spring 2001Codesign of Embedded Systems1 Methodology for HW/SW Co-verification in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Power and Control in Networked Sensors E. Jason Riedy and Robert Szewczyk Presenter: Fayun Luo.
A Hybrid Design Space Exploration Approach for a Coarse-Grained Reconfigurable Accelerator Farhad Mehdipour, Hamid Noori, Hiroaki Honda, Koji Inoue, Kazuaki.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Dec 1, 2005 Part 2.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: Distributed System Co- Synthesis Part of HW/SW Codesign of Embedded Systems Course.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
System-on-Chip Design Homework Solutions
Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Architectures Part of HW/SW Codesign of Embedded Systems Course (CE )
1 of 14 Lab 2: Design-Space Exploration with MPARM.
Embedded Real-Time Systems
Pradeep Konduri Static Process Scheduling:  Proceedance process model  Communication system model  Application  Dicussion.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Models Part of HW/SW Codesign of Embedded Systems Course (CE )
System-on-Chip Design
Dynamo: A Runtime Codesign Environment
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
The Hardware / Software Tradeoff -John Burnette-
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Introduction to cosynthesis Rabi Mahapatra CSCE617
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
Introduction to Embedded Systems
Department of Electrical Engineering Joint work with Jiong Luo
Essential Issues in Codesign: Models
Presentation transcript:

Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Co-Synthesis Algorithms Part of HW/SW Codesign of Embedded Systems Course (CE )

Winter-Spring 2001Codesign of Embedded Systems2 Topics Introduction Preliminaries Hardware/Software Partitioning Distributed System Co-Synthesis Conclusions

Winter-Spring 2001Codesign of Embedded Systems3 Introduction to HW/SW Co-Synthesis Algorithms Introduction

Winter-Spring 2001Codesign of Embedded Systems4 Introduction Implementing a system? Why use CPU? Easier implementation Easier (and cheaper) to change and debug Why use hardware modules? Meeting other constraints performance, power consumption, etc Found a CPU meeting all non-functional constraints? Yes! What could be better? Use the CPU. No! Design custom logic, or a combination of both

Winter-Spring 2001Codesign of Embedded Systems5 Introduction (cont’d) Why more than one CPU or custom logic? Why not use the fastest available CPU?

Winter-Spring 2001Codesign of Embedded Systems6 Introduction (cont’d) Reason 1: Exponential cost per CPU performance Figure: late-1996 retail prices of Pentium Processor Pentium processor prices Clock speed (MHz)

Winter-Spring 2001Codesign of Embedded Systems7 Introduction (cont’d) Exponential price/performance implies Paying for performance in a uni-processor is very expensive Using multiple small CPUs is cheaper Communication overhead is added, but still an economic choice Processors need not be CPUs. But special-function units. Special-purpose PEs can be even cheaper than dedicated CPU! Measured in system manufacturing cost, not necessarily in design cost

Winter-Spring 2001Codesign of Embedded Systems8 Introduction (cont’d) Reason 2: Scheduling overhead More than 31% overhead, under reasonable assumptions, when executing multiple processes Reason: uncertainty in the times at which the processes will need to execute Result: we have to reserve extra CPU horsepower, which comes at exponential cost

Winter-Spring 2001Codesign of Embedded Systems9 Introduction (cont’d) Still (1997) not quite possible to declare an authoritative taxonomy of co-synthesis models and methods Definition HW/SW co-synthesis: process of simultaneously design the SW architecture of an application and the HW architecture on which that SW is executed.

Winter-Spring 2001Codesign of Embedded Systems10 Introduction (cont’d) Problem Specification SW (app.) Arch. HW Engine PE Mem Communication Channels CoSynthesis

Winter-Spring 2001Codesign of Embedded Systems11 Introduction (cont’d) Problem specification includes Functionality Non-functional requirements Performance goals, physical constraints, etc

Winter-Spring 2001Codesign of Embedded Systems12 Introduction (cont’d) Hardware Architecture One or more Processing-Elements (PEs) Software (Application) Architecture includes Process structure Each process executes sequentially Allocation of the processes onto PEs in the HW engine Communication channels Hardware elements Software primitives

Winter-Spring 2001Codesign of Embedded Systems13 Introduction (cont’d) HW/SW Co-synthesis Allows trade-offs between SW architecutre and HW on which it executes Where is such trade-off important? Everyday processing applications vs. Embedded applications Different co-synthesis styles depending on The Specification The System Components System Elements to synthesize

Winter-Spring 2001Codesign of Embedded Systems14 Introduction (cont’d) Two broad implementation styles HW/SW partitioning Target HW architecture: a CPU and multiple ASICs Distributed System Co-synthesis Target HW architecture: arbitrary hardware topologies

Winter-Spring 2001Codesign of Embedded Systems15 Introduction to HW/SW Co-Synthesis Algorithms Preliminaries

Winter-Spring 2001Codesign of Embedded Systems16 Preliminaries Rate (execution rate) Maximum frequency at which a processing must be done Single-rate vs. Multi-rate Example of multi-rate system audio/video decoder

Winter-Spring 2001Codesign of Embedded Systems17 Preliminaries (cont’d) Latency Required maximum time between starting and finishing a processing task

Winter-Spring 2001Codesign of Embedded Systems18 Preliminaries (cont’d) Single-rate systems Standard model: Control-Data Flow Graph (CDFG) Implies a program-counter or system-state Software Control-Unit + Data path Not suitable to model multi-rate tasks unified system state

Winter-Spring 2001Codesign of Embedded Systems19 Preliminaries (cont’d) Multi-rate systems Common model: Task Graph Task Graph Each Node: Process Each Edge: Communication Each Set of connected nodes: sub-task P1 P2P3 P4P5 P6

Winter-Spring 2001Codesign of Embedded Systems20 What we learned today What’s co-synthesis Various keywords used in classification of co- synthesis algorithms

Winter-Spring 2001Codesign of Embedded Systems21 Complementary notes: Assignments Take Assignment 9 Due Date: Wednesday, Khordad 23th