Hardware Software Codesign of Embedded Systems

Slides:



Advertisements
Similar presentations
Reconfigurable Computing After a Decade: A New Perspective and Challenges For Hardware-Software Co-Design and Development Tirumale K Ramesh, Ph.D. Boeing.
Advertisements

Embedded System, A Brief Introduction
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Embedded Systems: Introduction. Course overview: Syllabus: text, references, grading, etc. Schedule: will be updated regularly; lectures, assignments.
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.
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.
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 )
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.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Mahapatra - Texas A&M - Fall 001 Hardware Software Codesign of Embedded System CPSC Rabi Mahapatra.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
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.
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,
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.
ENG3050 Embedded Reconfigurable Computing Systems General Information Handout Winter 2015, January 5 th.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
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.
ELEC692/04 course_des 1 ELEC 692 Special Topic VLSI Signal Processing Architecture Fall 2004 Chi-ying Tsui Department of Electrical and Electronic Engineering.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
VLSI DESIGN CONFERENCE 1998 TUTORIAL Embedded System Design and Validation: Building Systems from IC cores to Chips Rajesh Gupta University of California,
Hardware-software Interface Xiaofeng Fan
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
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.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
9/4/2001 ECE 551 Fall ECE Digital System Design & Synthesis Lecture 1 - Introduction  Overview oCourse Introduction oOverview of Contemporary.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
Programmable Logic Devices
System-on-Chip Design
Programmable Hardware: Hardware or Software?
Dynamo: A Runtime Codesign Environment
ECE354 Embedded Systems Introduction C Andras Moritz.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
EEE2135 Digital Logic Design Chapter 1. Introduction
Andes Technology Innovate SOC ProcessorsTM
FPGA: Real needs and limits
Chapter 1: Introduction
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Anne Pratoomtong ECE734, Spring2002
Model-Driven Analysis Frameworks for Embedded Systems
Introduction to cosynthesis Rabi Mahapatra CSCE617
Subject Name: Embedded system Design Subject Code: 10EC74
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
ENG3380 Computer Organization
Introduction to Embedded Systems
Embedded System Development Lecture 1 1/10/2007
HIGH LEVEL SYNTHESIS.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Advanced Digital Systems Design Methodology
NetPerL Seminar Hardware/Software Co-Design
ELEC / Computer Architecture and Design Fall 2014 Introduction
Presentation transcript:

Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University

Mahapatra - Texas A&M University Today’s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Course Organization Lectures: HRBB 126, 3:55-5:10 PM Instructor’s office Hours: By appointment Contact: rabi at cse.tamu.edu, 5-5787 Mahapatra - Texas A&M University 9/17/2018

Course organization: Gradings Tests: 30% Projects: 45% Seminar/Term paper/Assignment: 25% Seminar/Term papers/Project: Individual or Team of 2-3 students Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Course policies Required to access the course web page for relevant info during the semester Class attendance is required use emails for effective communication with Instructor all assigned papers are required materials follow lab and univ rules Mahapatra - Texas A&M University 9/17/2018

Topics to be covered (order and details may change) 1. Codesign overview 2. Models and methodologies of system design 3. Hardware software partitioning and scheduling 4. Cosimulation, synthesis and verifications 5. Architecture mapping, HW-SW Interfaces and Reconfigurable computing 6. System on Chip (SoC): NoC, IP Security 7. Low-Power RT Embedded Systems 8. On-chip Networking 9. COTS Multiprocessor for RT Applications Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Tutorial and Tools Carbon Design Tools Synopsys’s Design Environment FPGA based design – use of Xilinx’s design environment and devices (VHDL / Verilog) Embedded Systems: PowerPC, StrongARM and Low-Power measurement setup using LabView tools Use of tools and language based on choice of projects Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Texts & References G Micheli, R Ernst and W.Wolf, editors, “Readings in Hardware/Software Co-Design”, Morgan Kaufman Publisher, 2002 Lecture notes: faculty.cs.tamu.edu/rabi/cpsc617 Staustrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997 (Reference) Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Reading assignment Giovanni De Micheli and Rajesh Gupta, “Hardware/Software co-design”, IEEE Proceedings, vol. 85, no.3, March 1997, pp. 349-365. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Introduction Digital systems designs consists of hardware components and software programs that execute on the hardware platforms Hardware-Software Codesign ? Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Outline Introduction to HW-SW Codesign Codesign Motivation Issues on Codesign of Embedded Systems Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Walls crumbled! Analog vs Digital Design vs Manufacturing Hardware vs Software Mahapatra - Texas A&M University 9/17/2018

Microelectronics trends Better device technology reduced in device sizes more on chip devices > higher density higher performances Mahapatra - Texas A&M University 9/17/2018

Microelectronics trends Higher degree of integration increased device reliability inclusion of complex designs Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Digital Systems Judged by its objectives in application domain Performance Design and Manufacturing cost Ease of Programmability Mahapatra - Texas A&M University 9/17/2018

It depends on both the hardware and software components Digital Systems Judged by its objectives in application domain Performance Design and Manufacturing cost Ease of Programmability It depends on both the hardware and software components Mahapatra - Texas A&M University 9/17/2018

Hardware/Software Codesign A definition: Meeting System level objectives by exploiting the synergism of hardware and software through their concurrent design Mahapatra - Texas A&M University 9/17/2018

Concurrent design Traditional design flow Concurrent (codesign) flow start start HW SW SW HW Designed by independent groups of experts Designed by Same group of experts with cooperation Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Codesign motivation Trend toward smaller mask-level geometries leads to: Higher integration and cost of fabrication. Amortize hardware design over large volume productions Suggestion: Use software as a means of differentiating products based on the same hardware platform. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Story of IP cores What are these IP Cores? Predesigned, preverified silcon circuit block, usually containing 5000 gates, that can be used in building larger application on a semiconductor chip. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Story of IP cores Complex macrocells implementing instruction set processors (ISP) are available as cores Hardware (core) Software (microkernels) Are viewed as intelectual property Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University IP core reuse Cores are standardized for reuse as system building blocks Rationale: leveraging the existing software layers including OS and applications in Embedded Systems Results: 1. Customized VLSI chip with better area/ performance/ power trade-offs 2. Systems on Silicon Mahapatra - Texas A&M University 9/17/2018

Hardware Programmability Traditionally Hardware used to be configured at the time of manufacturing Software is variant at run time The Field Programmable Gate Arrays (FPGA) has blurred this distinction. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University FPGAs FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University FPGAs 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. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University FPGAs 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. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Why codesign? Reduce time to market Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Why codesign? Reduce time to market Achieve better design Explore alternative designs Good design can be found by balancing the HW/SW Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Why codesign? 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 Mahapatra - Texas A&M University 9/17/2018

Distinguishing features of digital system Interrelated criteria for a system design Hardware Technology Application Domain Level of Integration Degree of Programmability Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Application Domains General purpose computing system usually self contained and with peripherals Information processing systems Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Application Domains 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 Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Embedded System Uses a computer to perform certain functions Conceived with specific application in mind examples: dash controller in automobiles, remote controller for robots, answering machines, etc. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Embedded Systems Uses a computer to perform certain functions Conceived with specific application in mind examples: dash controller in automobiles, 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 Mahapatra - Texas A&M University 9/17/2018

Degree of Programmability 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. Mahapatra - Texas A&M University 9/17/2018

Degree of Programmability: Accessibility Understand the role of: End users, application developers, system integrator and component manufacturers. Mahapatra - Texas A&M University 9/17/2018

Degree of Programmability: Accessibility Understand the role of: End users, application developers, system integrator and component manufacturers. Application Developer: System to be retargetable. Mahapatra - Texas A&M University 9/17/2018

Degree of Programmability: Accessibility 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 Mahapatra - Texas A&M University 9/17/2018

Degree of Programmability: Accessibility 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 Mahapatra - Texas A&M University 9/17/2018

Degree of Programmability 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. Observe that: coalescing the system components due to higher chip density Result: Few but more versatile system hardware components Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Example 2. Embedded Systems End user: Limited access to programming Most software is already provided by system integrator who could be application developer too! Mahapatra - Texas A&M University 9/17/2018

Level of Programmability 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 Mahapatra - Texas A&M University 9/17/2018

Level of Programmability Instruction-level programmability Most common ways with ISA processors or DSP compilers are used in case of computers In case of embedded systems, ISA is NOT visible Mahapatra - Texas A&M University 9/17/2018

Level of programmability Hardware level programmability  Example: Microprogramming (determine the behavior of control unit by micro program) Emulating another architecture by alternation of p Some DSP implementations too Never in RISC or ISA processors configuring the hardware (after manufacturing) in the desired way. Mahapatra - Texas A&M University 9/17/2018

Programmability Microprogramming Vrs. Reconfigurability Microprogram allows to reconfigure the control unit whereas Reconfigurable system can modify both datapath and controller. Mahapatra - Texas A&M University 9/17/2018

Programmability Microprogramming Vrs. Reconfigurability 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. Mahapatra - Texas A&M University 9/17/2018

Performance and Programmability General computing applications: use of superscalar RISC architecture to improve the performance (instruction level programming) Mahapatra - Texas A&M University 9/17/2018

Performance and Programmability General computing applications: use of superscalar RISC architecture to improve the performance (instruction level programming) Dedicated Applications: Use of application specific designs (ASICs) for power and performance Neither reusable nor cheap! Mahapatra - Texas A&M University 9/17/2018

Performance and Programmability General computing applications: use of superscalar RISC architecture to improve the performance (instruction level programming) Dedicated Applications: Use of application specific designs (ASICs) for power and performance Neither reusable nor cheap! What if ASICs with embedded cores? Mahapatra - Texas A&M University 9/17/2018

Performance and Programmability Any other solutions? How about replacing the standard processors by application specific processors that can be programmed at instruction level (ASIPs). Better power-performance than standard processor ? Worse than ASICs Mahapatra - Texas A&M University 9/17/2018

Programmability and Cost:ASIPs Cost can typically be amortized over larger volume than on ASICs (with multiple applications using ASIPs). Ease to update the products and engineering changes through programming the HW, However, includes compiler as additional cost Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Hardware Technology Choice of hardware to implement the design affects the performance and cost VLSI technology (CMOS or bipolar, scale of integration and feature size etc.) can affect the performance and cost. Nano-CMOS architecture for low power and high performance Mahapatra - Texas A&M University 9/17/2018

Hardware Technology: FPGAs Performance is an order of magnitude less than corresponding non-programmable technology with comparable mask size For high volume production, these are more expensive than ASICs Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Level of Integration Integration leads to reducing number of parts, which means, increased reliability, reduced power and higher performances But it increases the chip size (cost) and makes debugging more challenging. Standard components for SoC are cores, memory, sensors and actuators. Mahapatra - Texas A&M University 9/17/2018

Embedded System Design Objective Embedded systems: control systems: reactive, real-time function & size: micro controller to high throughput data-processor requires leveraging the components and cores of microprocessors reliability, availability and safety are vital use of formal verification to check the correctness may use redundancy Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Codesign of ISA ISA is fundamental to digital system design An instruction set permits concurrent design of HW and compiler developments Good ISA design is critical in achieving system usability across applications Goal of codesign in ISP development is to optimize HW utilization by application & OS Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Codesign of ISA For high performance in ES, selection of instruction set that matches the application is very important replace the standard core by ASIP ASIPs are more flexible than ASICs but less than ISP ASIP performs better than ISP Mahapatra - Texas A&M University 9/17/2018

Challenges with ASIP Compatibility requirement is less important Goal: support specific instruction mixes CAD of compiler is partly solved problem Price of the flexibility in choosing mixed instruction set is to develop the application specific compiler. Mahapatra - Texas A&M University 9/17/2018

Typical codesign process System Description Modeling HW/SW Partitioning Unified representation Software synthesis Interface synthesis Hardware synthesis System integration Instruction set level HW/SW evaluation Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Steps in Codesign HW-SW system involves specification modeling design space exploration and partitioning synthesis and optimization validation implementation Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Steps in codesign 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. Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Modeling style 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 Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Steps in codesign Validation: Process of achieving a reasonable level of confidence that the system will work as designed. Takes different flavors per application domain: cosimulation for performance and correctness Mahapatra - Texas A&M University 9/17/2018

Mahapatra - Texas A&M University Steps in codesign Implementation: Physical realization of the hardware (through synthesis) and of executable software (through compilation). Mahapatra - Texas A&M University 9/17/2018

Partitioning and Scheduling (where and when) 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. Mahapatra - Texas A&M University 9/17/2018

Summary: Research areas in codesign Languages Architectural exploration tools Algorithms for partitioning Scheduling SW, HW and interface Synthesis Verification and Testing Mahapatra - Texas A&M University 9/17/2018