High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.

Slides:



Advertisements
Similar presentations
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Advertisements

1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
CS4101 嵌入式系統概論 Design and Development 金仲達教授 國立清華大學資訊工程學系 Slides from Computers as Components: Principles of Embedded Computing System Design, Wayne Wolf,
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.
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.
Define Embedded Systems Small (?) Application Specific Computer Systems.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
1 Platform-Based Design A paper by Alberto Sangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Co-Synthesis Algorithms Part of HW/SW Codesign of Embedded Systems Course (CE )
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Chapter 1- Introduction
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system design 1 what is systems design? preparation of the system’s specifications with.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
The Engineering Design Process
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
EENG 1920 Chapter 1 The Engineering Design Process 1.
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,
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Intent Specification Intent Specification is used in SpecTRM
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
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.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Introduction to Software Engineering Lecture 1.
Hardware-software Interface Xiaofeng Fan
Encapsule Systems Reducing Software Development Costs.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
ICS 216 Embedded Systems Validation and Test Instructor: Professor Ian G. Harris Department of Computer Science University of California Irvine.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Embedded Real-Time Systems
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
System-on-Chip Design
System Design, Implementation and Review
Dynamo: A Runtime Codesign Environment
Chapter 1- Introduction
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
Quality Management Perfectqaservices.
Chapter 1: Introduction
CHAPTER 2 Testing Throughout the Software Life Cycle
Digital Processing Platform
Subject Name: Embedded system Design Subject Code: 10EC74
Introduction to Embedded Systems
HIGH LEVEL SYNTHESIS.
Presentation transcript:

High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf

© 2006 Elsevier Topics Design methodologies. Methodologies and standards.

© 2006 Elsevier Design goals Functional requirements: input/output relations. Non-functional requirements: cost, performance, power, etc. Some project goals may be difficult to measure.

© 2006 Elsevier Aspects of performance Embedded system performance can be measured in many ways:  Average vs. worst/best-case.  Throughput vs. latency.  Peak vs. sustained.

© 2006 Elsevier Energy/power Energy consumption is important for battery life. Power consumption is important for heat generation or for generator-powered systems (vehicles).

© 2006 Elsevier Cost Manufacturing cost must be paid off across all the systems.  Hardest in small-volume applications. Manufacturing cost is incurred for each device. Lifetime costs include software and hardware maintenance and upgrades.

© 2006 Elsevier Other design attributes Design time must be reasonable. May need to finish by a certain date. System must be reliability; reliability requirements differ widely. Quality includes reliability and other aspects: usability, durability, etc.

© 2006 Elsevier Design methodology Design methodology: a procedure for creating an implementation from a set of requirements. Methodology is important in embedded computing:  Must design many different systems.  We may use same/similar components in many different designs.  Design time, results must be predictable.

© 2006 Elsevier Embedded system design challenges Design space is large and irregular. We don’t have synthesis tools for many steps. Can’t simulate everything. May need to build special-purpose simulators quickly. Often need to start software development before hardware is finished.

© 2006 Elsevier Design complexity vs. designer productivity

© 2006 Elsevier Basic design methodologies Figure out flow of decision-making. Determine when bottom-up information is generated. Determine when top-down decisions are made.

© 2006 Elsevier Waterfall and spiral models

© 2006 Elsevier Hardware design flow

© 2006 Elsevier Modeling in hardware Technology databases capture manufacturing process information. Cell libraries describe the cells used to compose designs. Logic synthesis systems use routability and timing models.

© 2006 Elsevier Hardware/software co-design flow

© 2006 Elsevier Platform-based design Platform includes hardware, supporting software. Two stage process:  Design the platform.  Use the platform. Platform can be reused to host many different systems.

© 2006 Elsevier Platform design Turn system requirements and software models into detailed requirements.  Use profiling and analysis tools to measure existing executable specifications. Explore the design space manually or automatically. Optimize the system architecture based on the results of simulation and other steps. Develop hardware abstraction layers and other software.

© 2006 Elsevier Programming platforms Programming environment must be customized to the platform:  Multiple CPUs.  Specialized memory.  Specialized I/O devices. Libraries are often used to glue together processors on platforms. Debugging environments are a particular challenge.

© 2006 Elsevier Standards-based design methodologies Standards enable large markets. Standards generally allow products to be differentiated.  Different implementations of operations, so long as I/O behavior is maintained.  User interface is often not standardized. Standard may dictate certain non-functional requirements (power consumption), implementation techniques.

© 2006 Elsevier Reference implementations Executable program that complies with the I/O behavior of the standard.  May be written in a variety of language. In some cases, the reference implementation is the most complete description of the standard. Reference implementation is often not well-suited to embedded system implementation:  Single process.  Infinite memory.  Non-real-time behavior.

© 2006 Elsevier Designing standards-based systems Design and implement system components that are not part of the standard. Perform platform-independent optimizations. Analyze optimized version of reference implementation. Design hardware platform. Optimize system software based on platform. Further optimize platform. Test for conformity to standard.

© 2006 Elsevier H/264/AVC Implements video coding for a wide range of applications:  Broadcast and videoconferencing.  Cell phone-sized screens to HDTV. Video codec reference implementation contains 120,000 lines of C code.

© 2006 Elsevier Design verification and validation Testing exercises an implementation by supplying inputs and testing outputs. Validation compares the implementation to a specification or requirements. Verification may be performed at any design stage; compares design at one level of abstraction to another.

© 2006 Elsevier Design verification techniques Simulation uses an executable model, relies on inputs. Formal methods generate a (possibly specialized) proof. Manual methods, such as design reviews, catch design errors informally.

© 2006 Elsevier A methodology of methodologies Embedded systems include both hardware and software.  HW, SW have their own design methodologies. Embedded system methodologies control the overall process, HW/SW integration, etc.  Must take into account the good and bad points of hardware and software design methodologies used.

© 2006 Elsevier Useful methodologies Software performance analysis. Architectural optimization. Hardware/software co-design. Network design. Software verification. Software tool generation.

© 2006 Elsevier Joint algorithm and architecture development Some algorithm design is necessarily performed before platform design. Algorithm development can be informed by platform architecture design.  Performance/power/cost trade-offs.  Design trends over several generations.