1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,

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.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Hardware/Software System Design and Validation Dr. Xiaoyu Song Networked Sensors Architecture Platform based on Component-based.
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.
Hardware Software Codesign of Embedded System CPSC Rabi Mahapatra.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
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.
Hardware-Software Codesign Elvira Kitsis Hermawan Ho Alex Papadimoulis.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Lecture Nine Database Planning, Design, and Administration
UML for Embedded Systems Development--Revisited. table_05_00 * * * * *
UML for Embedded Systems Development— Extensions; Hardware-Software CoDesign.
Mahapatra - Texas A&M - Fall 001 Hardware Software Codesign of Embedded System CPSC Rabi Mahapatra.
University of Ottawa, SITE, 2008 VOICU GROZA - HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems TOPICS IN.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
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,
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
1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Configuration Management (CM)
Automated Design of Custom Architecture Tulika Mitra
PROGRAMMABLE LOGIC DEVICES (PLD)
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Testing Workflow In the Unified Process and Agile/Scrum processes.
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.
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.
© 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.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
2D/3D Integration Challenges: Dynamic Reconfiguration and Design for Reuse.
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
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.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
A Design Flow for Optimal Circuit Design Using Resource and Timing Estimation Farnaz Gharibian and Kenneth B. Kent {f.gharibian, unb.ca Faculty.
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
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.
 System Requirement Specification and System Planning.
System-on-Chip Design
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
FPGA: Real needs and limits
Chapter 1: Introduction
Hardware Software Codesign of Embedded Systems
Software Design Methodology
CS 501: Software Engineering Fall 1999
Introduction to Embedded Systems
HIGH LEVEL SYNTHESIS.
NetPerL Seminar Hardware/Software Co-Design
Presentation transcript:

1

 Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification, Design of Embedded Systems”, Prentice Hall, 1994  Suggested papers in the class web 2

Digital systems designs consists of hardware components and software programs that execute on the hardware platforms Hardware-Software Co design ? 3

 Better device technology  reduced in device sizes  more on chip devices > higher density  higher performances 4

 Higher degree of integration  increased device reliability  inclusion of complex designs 5

Judged by its objectives in application domain  Performance  Design and Manufacturing cost  Ease of Programmability 6

Judged by its objectives in application domain  Performance  Design and Manufacturing cost  Ease of Programmability It depends on both the hardware and software components 7

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

Traditional design flowConcurrent (codesign) flow 9 HW SW start HWSW Designed by independent groups of experts Designed by Same group of experts with cooperation

Trend toward smaller mask-level geometries leads to:  Higher integration and cost of fabrication. Suggestion: Use software as a means of differentiating products based on the same hardware platform. 10

Traditionally  Hardware used to be configured at the time of manufacturing  Software is variant at run time 11 The Field Programmable Gate Arrays (FPGA) has blurred this distinction.

 FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor. 12

 FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor.  FPGA can be reprogrammed to perform another specific function without changing the underlying hardware. 13

 FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor.  FPGA can be reprogrammed to perform another specific function without changing the underlying hardware. This flexibility opens new applications of digital circuits. 14

 Reduce time to market 15

 Reduce time to market  Achieve better design ▪ Explore alternative designs ▪ Good design can be found by balancing the HW/SW 16

 Reduce time to market  Achieve better design ▪ Explore alternative designs ▪ Good design can be found by balancing the HW/SW  To meet strict design constraint ▪ power, size, timing, and performance trade-offs ▪ safety and reliability ▪ system on chip 17

 Interrelated criteria for a system design 18 Hardware Technology Level of Integration Degree of Programmability Application Domain

 General purpose computing system ▪ usually self contained and with peripherals ▪ Information processing systems 19

 General purpose computing system ▪ usually self contained and with peripherals ▪ Information processing systems  Dedicated control system ▪ part of the whole system, Ex: digital controller in a manufacturing plant ▪ also, known as embedded systems 20

 Uses as small computer to perform certain function  Conceived with specific application in mind ▪ examples: dash controller in autombiles, remote controller for robots, answering machines, etc.  User has limited access to system programming ▪ system is provided with system software during manufacturing ▪ not used as a computer 21 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)

 Banking and transaction processing applications  Automobile engine control units  Signal processing applications  Home appliances (microwave ovens)  Industrial controllers in factories  Cellular communications

Most digital systems are programmed by some software programs for functionality. Two important issues related to programming:  who has the access to programming?  Level at which programming is performed. 23

Understand the role of: End users, application developers, system integrator and component manufacturers. 24

Understand the role of: End users, application developers, system integrator and component manufacturers. Application Developer: System to be retarget able. 25

Understand the role of: End users, application developers, system integrator and component manufacturers. Application Developer: System to be retargetable. System Integrator: Ensure compatibility of system components 26

Understand the role of: End users, application developers, system integrator and component manufacturers. Application Developer: System to be retargetable. System Integrator: Ensure compatibility of system components Component Manufactures: Concerned with maximizing product reuse 27

Example 1: Personal computer End User: Limited to application level Application Dev.: Language tools, Operating System, high-level programming environment (off the self components) Component Manf.: Drive by bus standards, protocols etc. 28 Observe that: coalescing the system components due to higher chip density Result: Few but more versatile system hardware components

Embedded Systems  End user: Limited access to programming  Most software is already provided by system integrator who could be application developer too! 29

 Systems can be programmed at application, instruction and hardware levels  Application Level: Allows users to specify “option of functionality” using special language.  Example: Programming VCR or automated steering control of a ship 30

 Hardware level programmability  Example: Microprogramming (determine the behavior of control unit by microprogram) 31 configuring the hardware (after manufacturing) in the desired way.

Microprogramming Vrs. Reconfigurability 32 Microprogram allows to reconfigure the control unit whereas Reconfigurable system can modify both Data path and controller.

Microprogramming Vrs. Reconfigurability 33 Microprogram allows reconfigure the control unit versus Reconfigurable system can modify both datapath and controller. Reconfigurability increases usability but not the performance of a system.

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

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

36 System Description HW/SW Partitioning Software synthesis Interface synthesis Hardware synthesis System integration Modeling Unified representation Instruction set level HW/SW evaluation

HW-SW system involves  specification  modeling  design space exploration and partitioning  synthesis and optimization  validation  implementation 37

Specification ▪ List the functions of a system that describe the behavior of an abstraction clearly with out ambiguity. Modeling: ▪ Process of conceptualizing and refining the specifications, and producing a hardware and software model. 38

 Homogeneous: a modeling language or a graphical formalism for presentation ▪ partitioning problem used by the designer  Heterogeneous: multiple presentations ▪ partitioning is specified by the models 39

Validation: Process of achieving a reasonable level of confidence that the system will work as designed. 40

Implementation: Physical realization of the hardware (through synthesis) and of executable software (through compilation). 41

 A hardware/software partitioning represents a physical partition of system functionality into application-specific hardware and software.  Scheduling is to assign an execution start time to each task in a set, where tasks are linked by some relations. 42