1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Alternate Software Development Methodologies
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Thammanoon Kawinfruangfukul CSSE MS, ID:
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli.
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.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
1 Platform-Based Design A paper by Alberto Sangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
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 Codesign Part of HW/SW Codesign of Embedded Systems Course (CE )
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Software Engineering CSE470: Systems Engineering 35 Computer System Engineering Computer System Engineering is a problem-solving activity. Itemize desired.
Hardware-Software Codesign Elvira Kitsis Hermawan Ho Alex Papadimoulis.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
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.
EENG 1920 Chapter 1 The Engineering Design Process 1.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Knowledge representation
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 {
COMP3221/9221: Microprocessors and Embedded Systems COMP3221: Microprocessors and Embedded Systems Lecture 31: Embedded Systems
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
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.
COE 405 Design and Modeling of Digital Systems
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
© 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.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
An Introduction to Software Engineering
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
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.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Embedded Real-Time Systems
System-on-Chip Design
Andreas Hoffmann Andreas Ropers Tim Kogel Stefan Pees Prof
Chapter 1: Introduction
HIGH LEVEL SYNTHESIS.
CS310 Software Engineering Lecturer Dr.Doaa Sami
NetPerL Seminar Hardware/Software Co-Design
Presentation transcript:

1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology Taipei 106, Taiwan, R.O.C.

2 SW HW Course Grading l Assignments and Paper Reading: 30% l Mid-Term Test: 35% l Final Exam: 35%

3 SW HW Rapid Prototyping Design Process SYSTEM DEF. SW DESIGN VIRTUAL PROTOTYPE REUSE DESIGN LIBRARIES AND DATABASE Primarily software Primarily hardware SW CODE FUNCTION DESIGN HW & SW PART. HW DESIGN HW FAB INTEG. & TEST HW & SW CODESIGN HW & SW Partitioning & Codesign

4 SW HW Hardware-Software Codesign  Man-Woman Marriage ?

5 SW HW Course Goals l Introduce the fundamentals of HW/SW codesign and partitioning concepts in designing embedded systems m Discuss the current trends in the codesign of embedded systems m Provide information on the goals of and methodology for partitioning hardware/software in systems l Show benefits of the codesign approach over current design process m Provide information on how to incorporate these techniques into a general digital design methodology for embedded systems l Illustrate how codesign concepts are being introduced into design methodologies m Several example codesign systems are discussed

6 SW HW Course Outline l Introduction to Embedded Systems and Hardware-Software Codesign l Models and Architectures for System Specification l Specification Languages for System Design l A Specification Example: Telephone Answering Machine l Translation to VHDL l System Partitioning l Design Quality Estimation l Specification Refinement l System-Design Methodology l Codesign Examples

7 SW HW Outline l Introduction to Hardware-Software Codesign l System Modeling, Architectures, Languages l Partitioning Methods l Design Quality Estimation l Specification Refinement l Co-synthesis Techniques l Function-Architecture Codesign Paradigm l Coverification Methodology & Tools l Codesign Case Studies m ATM Virtual Private Network m Digital Camera and JPEG

8 SW HW Introduction to Embedded Systems and Hardware-Software Codesign l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW Modeling Methodologies l HW and SW Synthesis Methodologies l Industry Approaches to HW/SW Codesign l Hardware/Software Codesign Research l Summary

9 SW HW Codesign Definition and Key Concepts l Codesign m The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design l Key concepts m Concurrent: hardware and software developed at the same time on parallel paths m Integrated: interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications

10 SW HW Motivations for Codesign l Factors driving codesign (hardware/software systems): m Instruction Set Processors (ISPs) available as cores in many design kits (386s, DSPs, microcontrollers,etc.) m Systems on Silicon - many transistors available in typical processes (> 10 million transistors available in IBM ASIC process, etc.) m Increasing capacity of field programmable devices - some devices even able to be reprogrammed on-the-fly (FPGAs, CPLDs, etc.) m Efficient C compilers for embedded processors m Hardware synthesis capabilities

11 SW HW Motivations for Codesign (cont.) l The importance of codesign in designing hardware/software systems: m Improves design quality, design cycle time, and cost q Reduces integration and test time m Supports growing complexity of embedded systems m Takes advantage of advances in tools and technologies q Processor cores q High-level hardware synthesis capabilities q ASIC development

12 SW HW Categorizing Hardware/Software Systems l Application Domain m Embedded systems q Manufacturing control q Consumer electronics q Vehicles q Telecommunications q Defense Systems m Instruction Set Architectures m Reconfigurable Systems l Degree of programmability m Access to programming m Levels of programming l Implementation Features m Discrete vs. integrated components m Fabrication technologies

13 SW HW Categories of Codesign Problems l Codesign of embedded systems m Usually consist of sensors, controller, and actuators m Are reactive systems m Usually have real-time constraints m Usually have dependability constraints l Codesign of ISAs m Application-specific instruction set processors (ASIPs) m Compiler and hardware optimization and trade-offs l Codesign of Reconfigurable Systems m Systems that can be personalized after manufacture for a specific application m Reconfiguration can be accomplished before execution or concurrent with execution (called evolvable systems)

14 SW HW Components of the Codesign Problem l Specification of the system l Hardware/Software Partitioning m Architectural assumptions - type of processor, interface style between hardware and software, etc. m Partitioning objectives - maximize speedup, latency requirements, minimize size, cost, etc. m Partitioning strategies - high level partitioning by hand, automated partitioning using various techniques, etc. l Scheduling m Operation scheduling in hardware m Instruction scheduling in compilers m Process scheduling in operating systems l Modeling the hardware/software system during the design process

15 SW HW Embedded Systems Application-specific systems which contain hardware and software tailored for a particular task and are generally part of a larger system (e.g., industrial controllers) l Characteristics m Are dedicated to a particular application m Include processors dedicated to specific functions m Represent a subset of reactive (responsive to external inputs) systems m Contain real-time constraints m Include requirements that span: q Performance q Reliability q Form factor

16 SW HW Embedded Systems: Specific Trends l Use of microprocessors only one or two generations behind state-of-the-art for desktops m E.g. N/2 bit width where N is the bit width of current desktop systems l Contain limited amount of memory l Must satisfy strict real-time and/or performance constraints l Must optimize additional design objectives: m Cost m Reliability m Design time l Increased use of hardware/software codesign principles to meet constraints

17 SW HW Embedded Systems: Examples l Banking and transaction processing applications l Automobile engine control units l Signal processing applications l Home appliances (microwave ovens) l Industrial controllers in factories l Cellular communications

18 SW HW Embedded Systems: Complexity Issues l Complexity of embedded systems is continually increasing l Number of states in these systems (especially in the software) is very large l Description of a system can be complex, making system analysis extremely hard l Complexity management techniques are necessary to model and analyze these systems l Systems becoming too complex to achieve accurate “first pass” design using conventional techniques l New issues rapidly emerging from new implementation technologies

19 SW HW Techniques to Support Complexity Management l Delayed HW/SW partitioning m Postpone as many decisions as possible that place constraints on the design l Abstractions and decomposition techniques l Incremental development m “Growing” software m Requiring top-down design l Description languages l Simulation l Standards l Design methodology management framework

20 SW HW A Model of the Current Hardware/Software Design Process System Concepts Sys/HW Require. Analysis Sys/SW Require. Analysis Operation. Testing and Eval. Software Require. Analysis Prelim. Design Detailed Design Coding, Unit test., Integ. test SW Development HWCI Testing CSCI Testing System Integ. and test [Franke91] Hardware Require. Analysis Prelim. Design Detailed Design Fabric. HW Development DOD-STD-2167A © IEEE 1991

21 SW HW Current Hardware/Software Design Process l Basic features of current process: m System immediately partitioned into hardware and software components m Hardware and software developed separately m “Hardware first” approach often adopted l Implications of these features: m HW/SW trade-offs restricted q Impact of HW and SW on each other cannot be assessed easily m Late system integration l Consequences these features: m Poor quality designs m Costly modifications m Schedule slippages

22 SW HW Incorrect Assumptions in Current Hardware/Software Design Process l Hardware and software can be acquired separately and independently, with successful and easy integration of the two later l Hardware problems can be fixed with simple software modifications l Once operational, software rarely needs modification or maintenance l Valid and complete software requirements are easy to state and implement in code

23 SW HW Directions of the HW/SW Design Process System Concepts Sys/HW Require. Analysis Sys/SW Require. Analysis Hardware Require. Analysis Software Require. Analysis Operation. Testing and Evaluation SW Development HW Development System Integ. and test HWCI Testing CSCI Testing [Franke91] Integrated Modeling Substrate Prelim. Design Prelim. Design Detailed Design Detailed Design Fabric. Coding, Unit test., Integ. test © IEEE 1991

24 SW HW Requirements for the Ideal Codesign Environment l Unified, unbiased hardware/software representation m Supports uniform design and analysis techniques for hardware and software m Permits system evaluation in an integrated design environment m Allows easy migration of system tasks to either hardware or software l Iterative partitioning techniques m Allow several different designs (HW/SW partitions) to be evaluated m Aid in determining best implementation for a system m Partitioning applied to modules to best meet design criteria (functionality and performance goals)

25 SW HW Requirements for the Ideal Codesign Environment (cont.) l Integrated modeling substrate m Supports evaluation at several stages of the design process m Supports step-wise development and integration of hardware and software l Validation Methodology m Insures that system implemented meets initial system requirements

26 SW HW Cross-fertilization Between Hardware and Software Design l Fast growth in both VLSI design and software engineering has raised awareness of similarities between the two m Hardware synthesis m Programmable logic m Description languages l Explicit attempts have been made to “transfer technology” between the domains

27 SW HW Cross-fertilization Between Hardware and Software Design (cont.) l EDA tool technology has been transferred to SW CAD systems m Designer support (not automation) m Graphics-driven design m Central database for design information m Tools to check design behavior early in process VLSI DESIGN SOFTWARE ENGINEERING

28 SW HW Cross-fertilization Between Hardware and Software Design (cont.) l Software technology has been transferred to EDA tools m Single-language design q Use of 1 common language for architecture spec. and implementation of a chip m Compiler-like transformations and techniques q Dead code elimination q Loop unrolling m Design change management q Information hiding q Design families SOFTWARE ENGINEERING VLSI DESIGN

29 SW HW Typical Codesign Process System Integration Instruction set level HW/SW evaluation Unified representation (Data/control flow) HW/SW Partitioning Interface Synthesis Software Synthesis SW Hardware Synthesis HW System Description (Functional) Concurrent processes Programming languages FSM- directed graphs Another HW/SW partition

30 SW HW Conventional Codesign Methodology Analysis of Constraints and Requirements System Specs.. HW/SW Partitioning Hardware Descript.Software Descript. HW Synth. and Configuration Interface Synthesis Software Gen. & Parameterization Configuration Modules Hardware Components HW/SW Interfaces Software Modules HW/SW Integration and Cosimulation Integrated System System EvaluationDesign Verification [Rozenblit94] © IEEE 1994

31 SW HW Codesign Features Basic features of a codesign process l Enables mutual influence of both HW and SW early in the design cycle m Provides continual verification throughout the design cycle m Separate HW/SW development paths can lead to costly modifications and schedule slippages l Enables evaluation of larger design space through tool interoperability and automation of codesign at abstract design levels l Advances in key enabling technologies (e.g., logic synthesis and formal methods) make it easier to explore design tradeoffs

32 SW HW State of Codesign Technology l Current use limited by: m Lack of a standardized representation m Lack of good validation and evaluation methods l Possible solutions: m Extend existing hardware/software languages to the use of heterogeneous paradigms m Extend formal verification techniques to the HW/SW domain

33 SW HW Issues and Problems: Integration l Errors in hardware and software design become much more costly as more commitments are made l “Hardware first” approach often compounds software cost because software must compensate for hardware inadequacies Relative Prog. Cost / Instr. % Util. of speed and mem capacity Experience Folklore Software Cost Impact of Inadequate Hardware Resources