Voicu Groza, 2008 SITE, 2008 - HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
MotoHawk Training Model-Based Design of Embedded Systems.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
The Design Process Outline Goal Reading Design Domain Design Flow
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
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.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Ritu Varma Roshanak Roshandel Manu Prasanna
Models of Computation for Embedded System Design Alvise Bonivento.
Copyright  1999 Daniel D. Gajski IP – Based Design Methodology Daniel D. Gajski University of California
Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning.
Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
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 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.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
System Synthesis for Multiprocessor Embedded Applications Flávio R. Wagner Marcio Oyamada Luigi Carro Marcio Kreutz Universidade Federal do Rio Grande.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
University of Ottawa, SITE, 2008 VOICU GROZA - HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems TOPICS IN.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
Computer-Aided Co-design Methods and Tools
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology.
Extreme Makeover for EDA Industry
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
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.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Configurable, reconfigurable, and run-time reconfigurable computing.
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #21 – HW/SW.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Hardware-software Interface Xiaofeng Fan
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems CONCURRENT ENGINEERING Voicu.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
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.
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.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2012.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Systems Architectures System Integration & Architecture.
Embedded Real-Time Systems
System-on-Chip Design
An Overview of Requirements Engineering Tools and Methodologies*
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
IP – Based Design Methodology
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
HIGH LEVEL SYNTHESIS.
Presentation transcript:

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu Groza SITE Hall, Room ext

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 2 DESIGN METHODOLOGIES Embedded system design process Design Methodology Introduction to Hardware/Software CoDesign

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 3 Challenges in the design of embedded systems increasing application complexity even in standard and large volume products –large systems with legacy functions –mixture of event driven and data flow tasks –flexibility requirements –examples: multimedia, automotive, mobile communication increasing target system complexity –mixture of different technologies, processor types, and design styles –large systems­on­a­chip combining components from different sources (IP market) numerous constraints and design objectives; examples: cost, power consumption, timing constraints, dependability reduced and overlapping design cycles

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 4 Embedded System Requirements Reactive systems. ­ The system never stops. ­ The system responds to signals produced by the environment. Real­time systems. ­ Timing constraints on task execution. ­ Hard and soft constraints.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 5 Task: control the torque produced by the engine by the timing fuel injection and spark. Major constraints: –Low fuel consumption –Low exhaust emission Example: Engine Control Unit (ECU)

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 6 ECU Control injection time (3 sub-tasks) Throttle position Engine speed Air temperature Air pressure Engine temperature compute air flow air flow injection time Compute injection time Look-up table signals drive actuators

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 7 ECU option 1 CPU has to: Process input data Compute outputs Control actuators A/D 32 bit CPU Digital inputs Analog inputs Actuations May not meet timing requirements

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 8 ECU option 2 CPU has to Process input data Compute outputs FPGA Control actuators A/D 16 bit CPU Digital inputs Analog inputs Actuations FPGA

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 9 ECU option 3 DSP Process input data CPU Computes outputs FPGA Control actuators DSP 8 bit CPU Digital inputs Analog inputs Actuations FPGA A/D

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 10 Embedded system design process Requirements definition Specification System architecture development SW development. application SW. compilers etc.. operating syst. Interface design. SW driver dev.. HW interface synthesis HW design. HW architecture design. HW synthesis. Physical design Integration and test customer/ marketing system architect support (CAD, test,...) Reused components SW developer HW developer

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 11 Observations in the design process Increasingly concurrent design of hardware and software with partially incomplete or variable specification => tight and permanent cooperation of hardware and software designers, system architects and customer/marketing required Narrow time­to­market windows require a safe ``first­time­ right'' design process –early detection of systematic design flaws is crucial –reliable design times and precisely predictable product data are more important than design time minimization prerequisite: reliable estimations => designer experience Increased productivity through reuse of components and functions –function and component libraries required –problem: function migration between different technologies, between hardware and software

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 12 Definition of Design Methodology * A design methodology defines the models, methods, and tools and their relations employed in the design process * Design models are used to represent design entities * Design languages are used to express design models * Modeling frames define modeling concepts and classes of modeling languages * Methods define the design transformations * Tools support the designer in modeling, analyzing, and transforming the design entities

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 13 Abstraction of Design Transformations Methodology Method AMethod BMethod DMethod F Method EMethod C Tool 1 Tool 2 Tool 3

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 14 Modeling Frames in a Methodology Specification Frame FSM OO model Architecture Frames Architecture model HWSW interconnection model Design Frames Algorithms Interconnection model

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 15 Items a Design Methodology Usually Specifies * Syntax and semantics of inputs and outputs of design steps * Methods for transforming input to output * Kind of components to be used in the design implementation * Definition and ranges of constraints * Mechanism for selection of architectural styles * Control strategies (scenarios or scripts) * A methodology must make a conscious tradeoff between an authoritarian and a liberal style

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 16 Design methodology ­ Components Input description style Synthesis tools (and algorithms) at each abstraction level Design libraries and components to be used in design implementation Specification and propagation of constraints User Interaction mechanisms (knobs and gadgets) Conceptualization environment Verification methodology at each abstraction level Reiteration hints if constraints are not satisfied

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 17 History Languages and tools Structured programming Compilers Pascal Smalltalk Ada Harel Statechart Specification frameworks Methodology frameworks Methodologies Structured Design Structured Analysis (Jackson diagram) Structured design with Ada Statemate OOD, OOA OMT UML by OMG Concurrent Engineering Total Quality Management

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 18 Design Methodology – Past Capture-and-Simulate System specification (natural language) Informal exploration ASIC 1 Informal spec. ASIC 2 Informal spec. SW designHW design Processor C code ASIC 1 RTL struct ASIC 2 RTL struct Processor Informal spec. Implement, Integrate & Test Very costly iterations

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 19 Problems with Past Design Method Lack of unified hardware­software representation Partitions are defined a priori - Can't verify the entire system - Hard to find incompatibilities across HW­SW boundary Lack of well­defined design flow - Time­to­market problems - Specification revision becomes difficult => Need Hardware­Software Co­Design

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 20 Hardware/Software CoDesign Hardware/software CoDesign: Combined design of HW & SW Why Codesign? Design process optimization  Increased design productivity Design optimization  More design alternatives can be explored  A good solution can be found by balancing HW/SW  Improved product quality To meet strict design constraints  power dissipation.  physical constraints, such as size, weight,  safety and reliability constraints. To design systems on a chip. HW SW Classic design CoDesign

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 21 Tasks & Requirements Tasks (… automatic!?) Co-specification & Co-modeling Co-design process integration & optimization Co-verification Design optimization & co-synthesis Requirements : Implementation Independent  Stress system design issues  Allow different hardware and software styles Unified design approach  Facilitates system specification  Easy HW­SW trade­off evaluation  Flexible HW­SW partitioning All co-design problems require computer support  Computer aided hardware/software co-design is the new challenge

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 22 Design Methodology - Present Informal exploration System specification (natural language) ASIC 1 functional spec. ASIC 2 functional spec. SW SynthesisHW Synthesis Processor C code ASIC 1 RTL ASIC 2 RTL Processor functional spec. Compilation, Logic synthesis, Physical design COSIMULATION Insufficient exploration non-optimized design spec. errors System level description HW & SW design HW & SW implementation

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 23 Another View of CoDesign: Specification HW design & verification Integration and test SW design Specification HW design & verification Integration and test SW design Interaction and Co-verification time SAVED TIME Design of HW & SW using the same methods/tools the same people

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 24 Design Methodology – Future Describe-and-Synthesis System functional specification System level description HW & SW design HW & SW implementation Exploration Specification refinement ASIC 1 functional spec. ASIC 2 functional spec. SW SynthesisHW Synthesis Processor C code ASIC 1 RTL ASIC 2 RTL. Processor functional spec. Compilation, Logic synthesis, Physical design COSIMULATION Memory Interfacing Arbitration Generation Transformation Allocation Partitioning Estimation Behavior 1Behavior 2Behavior 3

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 25 Codesign Terminology Specification Design Methodology Synthesis Partitioning CoSimulation Describing the functionality of the design Assigning sub-behaviors to the system component Sequence of steps from specification to implementation Simultaneously simulating custom software and hardware parts of the design Converting the functionality to an architecture

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 26 Computer­Aided Codesign Modeling, validation and verification ­ Co­specification. ­ Co­simulation. ­ Co­verification. Architecture selection: ­ Allocation of system components (processing elements, storing elements, and communication elements) ­ Hardware/software partitioning. Cosynthesis: ­ Hardware synthesis. ­ Software compilation and code generation. ­ Interface synthesis. ­ Modification of hardware/software boundary.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 27 Modeling of Embedded Systems Heterogeneous nature of embedded systems. No global system models, except for restricted domains. –Finite­state machines –Petri nets. –Flow graphs. Functional simulation models (software programs) vs. specification models (e.g., SDL, VHDL, Statecharts).

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 28 HW/SW Partitioning Speed­up software execution. ­ By migrating software functions to dedicated hardware. Reduce cost of hardware implementation. ­ By migrating hardware functions to software. Guarantee real­time constraints. ­ By migrating the timing­critical portion to ASIC.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 29 Code Synthesis after Partitioning Software functions identified by program threads. A single processor requires thread serialization or interleave. Scheduling of threads and instructions. ­ To satisfy performance or timing constraints. System­level run­time scheduler to synchronize software and hardware functions.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 30 Codesign of General­Purpose Processors Architectural support for operating systems. Software design for multiprocessors. Cache design and tuning: ­ Cache size selection. ­ Control schemes. Pipeline control design: –Hardware control mechanisms. –Compiler design.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 31 NEXT…. State-oriented models Finite-state machines ++

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 32 Specify - Explore - Refine Three step design methodology growing –Specify desired functionality –Explore alternative design options –Refine specification for next level of design Applicable at system, behavioral and RT levels –Hierarchical modeling methodology One level’s implementation is the next level’s specification