Design of Embedded Systems

Similar documents
Lecture 1. Introduction to Embedded Computer Systems

Architectures and Platforms

ELEC 5260/6260/6266 Embedded Computing Systems

Systems on Chip Design

Introduction to HW/SW Co-Design of Embedded Systems

9/14/ :38

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Digital Systems Design! Lecture 1 - Introduction!!

Embedded Systems. introduction. Jan Madsen

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Introduction to Digital System Design

What is a System on a Chip?

7a. System-on-chip design and prototyping platforms

High-Level Synthesis for FPGA Designs

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

Introduction to System-on-Chip

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

on-chip and Embedded Software Perspectives and Needs

EMBEDDED SYSTEM BASICS AND APPLICATION

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Chapter 2 Features of Embedded System

Hardware/Software Codesign Overview

Testing of Digital System-on- Chip (SoC)

Chapter 2 Logic Gates and Introduction to Computer Architecture

Introducción. Diseño de sistemas digitales.1

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

Embedded Systems Engineering Certificate Program

Chapter 1 Basic Introduction to Computers. Discovering Computers Your Interactive Guide to the Digital World

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Computer Engineering as a Discipline

Custom design services

Chapter 1 Computer System Overview

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Development of an Internet based Embedded System for Smart House Controlling and Monitoring

design Synopsys and LANcity

Types Of Operating Systems

ARM Webinar series. ARM Based SoC. Abey Thomas

Contents. Chapter 1. Introduction

Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

Codesign: The World Of Practice

Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Lesson 6: 6 EXAMPLES OF EMBEDDED SYSTEMS. Chapter-1L06: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

BDTI Solution Certification TM : Benchmarking H.264 Video Decoder Hardware/Software Solutions

Modeling a GPS Receiver Using SystemC

FRANCIS XAVIER ENGINEERING COLLEGE

VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU

Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T

Reducing EMI and Improving Signal Integrity Using Spread Spectrum Clocking

Draft dpt for MEng Electronics and Computer Science

NATIONAL SUN YAT-SEN UNIVERSITY

A Mixed-Signal System-on-Chip Audio Decoder Design for Education

Chap-02, Hardware and Software. Hardware Model

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

ADVANCED IC REVERSE ENGINEERING TECHNIQUES: IN DEPTH ANALYSIS OF A MODERN SMART CARD. Olivier THOMAS Blackhat USA 2015

Multi-objective Design Space Exploration based on UML

NIOS II Based Embedded Web Server Development for Networking Applications

IMPLEMENTATION OF BACKEND SYNTHESIS AND STATIC TIMING ANALYSIS OF PROCESSOR LOCAL BUS(PLB) PERFORMANCE MONITOR

White Paper: Pervasive Power: Integrated Energy Storage for POL Delivery

A First Course in Digital Design Using VHDL and Programmable Logic

SOC architecture and design

Chapter 1: Introduction. What is an Operating System?

Concept Engineering Adds JavaScript-based Web Capabilities to Nlview at DAC 2016

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

imtech Curriculum Presentation

What will I learn as an Electrical Engineering student?

System-on-Chip Design Verification: Challenges and State-of-the-art

Designing Systems-on-Chip Using Cores

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Extending the Power of FPGAs. Salil Raje, Xilinx

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Final Design Report 19 April Project Name: utouch

Digital Electronics Detailed Outline

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

CISC, RISC, and DSP Microprocessors

Rapid System Prototyping with FPGAs

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Hardware and Software

Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.

CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

System-On Chip Modeling and Design A case study on MP3 Decoder

School of Computer Science

Overview and History of Operating Systems

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

Transcription:

Design of Embedded Systems An Introduction http://www.cs.lth.se/edan15 Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 7, 2016 Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 1 / 37 Outline 1 Introduction 2 Course Organization 3 General introduction, definition of the field 4 Embedded Systems Examples 5 Embedded Systems Design Methodologies Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 2 / 37 Examples of Embedded Systems Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 3 / 37

Examples of Embedded Systems (cont d) Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR s, DVD players Video game consoles Video phones Washers and dryers Source: Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 4 / 37 Course Organization Twelve lectures. Four lab assignments plus an introductory lab. carried out in groups of two students use special software and hardware (lab Neptunus) require preparation deadline for lab reports (last lab assignment) Sunday, May 22, 2016, 23:59. Group day time room 1 Wed 13-15 Neptunus 2 Wed 15-17 Neptunus Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 5 / 37 Course Organization (cont d) Seminars 3/05, 8:15 and 10:15 in E:2116 18/05, 13:15 and 15:15 in E:2116 Obligatory examinations 2 June 2016 at 14-19, Sparat:D 26 August 2016 at 8-13, E:2116 Books: Peter Marwedel, Embedded System Design, 2nd Edition, Springer, 2011 (ISBN: 978-94-007-0256-1). Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 6 / 37

Lectures Preliminary Schedule Date Content 16-03-22 Introduction, motivation, etc. 16-04-01 Design methodology (HW/SW co-design, etc) 16-04-05 Specification and programming of 16-04-08 Embedded Systems 16-04-12 Computational models 16-04-15 Design representations 16-04-19 System partitioning 16-04-22 Allocation, assignment 16-04-26 and scheduling 16-04-29 Communication synthesis 16-05-03 Testability 16-05-20 Low-power design Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 7 / 37 Embedded Systems A device that includes a programmable computer but is not itself a general-purpose computer Execution deadlines, Power consumption constraints, : Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 8 / 37 Embedded Systems (cont d) Computing systems embedded within electronic devices Hard to define. Nearly any computing system other than a desktop computer Billions of units produced yearly, versus millions of desktop units Perhaps 50 per household and per automobile Source: Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 9 / 37

Embedded Systems (cont d) Non User-Programmable. Based on programmable components (e.g., Micro-controllers, DSP s...) but often contain application specific hardware (IC s, ASIC s). Reactive Real-Time Systems: React to external environment, Maintain permanent interaction, Ideally never terminate, Are subject to external timing constraints (real-time). Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 10 / 37 Characteristics Embedded Systems Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams. "Resource conscious" vs. "Unlimited resources" programming Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 11 / 37 A Single Processor Embedded System Source: W. Wolf, Computers as Components: Principles of Embedded Computing Systems Design Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 12 / 37

SoC Embedded System Assembly of "prefabricated component" often purchased from external vendors ("IP") "black box" hierarchy Design & Verification at the System level rather than the logic level Interface and communication Great Importance of Software Source: Alberto Sangiovanni-Vincentelli, 35th DAC Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 13 / 37 A Digital Camera Example Source: F. Vahid and T. Givargis, Embedded System Design: AUnified Hardware Software Approach Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 14 / 37 Real-time gas turbine testing system MI-2 helicopter engine "Minicomputer" 8kB RAM cassette tape Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 15 / 37

TELEX-I and TELEX-II systems PDP-11 PDP-11 Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 16 / 37 WITAS project Autonomous system. Real-time system. Image processing. Mission planning. Incorporation of GIS systems. Interface with ground operator.... http://www.ida.liu.se/ext/witas Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 17 / 37 Typical Hardware Components of DSP System Component class Implements Compiler Specification DSP processor Low data-rate DSP (Retargetable) Assembly Slow control loops code generator C Appl. Spec. alg. High level synth. Microcontroller User interface C compiler C Slow control loops Hardware accelerator High data-rate DSP High level synth. C, VHDL RT level synth. Verilog Communication Internal & external Memory mgmt. Data-sheets blocks and communication (A)synchronous memory Storage & buffering interface synth. Others Usually FSMD s RT level synth. VHDL - clock generators Asynchronous - DMA blocks synth. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 18 / 37

Importance of Embedded System Design Methodologies Hardware complexity. Heterogeneous systems containing hardware (both digital and analog) and software. Heterogeneous components (CPU s, DSP s, ASIC s, buses, point-to-point links, etc.). Heterogeneous requirements - performance, cost, power consumption, etc. System-on-chip. Shorter design cycles required by time-to-market constraints.... Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 19 / 37 Design Complexity and Designer Productivity Gap Source: Bryan Preas, Xerox PARC, 35th DAC Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 20 / 37 Flexibility and Energy Efficiency Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 21 / 37

Flexibility and Energy Efficiency Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 21 / 37 Flexibility and Energy Efficiency Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 21 / 37 Design Domains and Abstraction Levels Behavioural Domain System level Structural Domain RTL Algorithm CPU, memory, bus Logic level RT specification ALU, reg., MUX Circuit level Boolean eq. Gate, flip-flop Transistor Transistor function Transistor layout Standard cell/subcell Macrocell, chip Board Physical Domain Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 22 / 37

Design Domains behavioral representations - describe only circuit s function, for example if clock=high then counter:= counter+1 structural representations - describe the components and their interconnections, for example a b NAND NAND c d e NAND My Cell Out physical representations - it can describe either a geometrical layout or a topological constraint. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 23 / 37 Software vs. Hardware Design short summary Software flexibility, reconfigurability, easy update, etc., complex functionality, cost,... Hardware speed, power consumption, cost in large volumes,... Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 24 / 37 Design of Embedded Systems Need to be done using high-level specification, programming and hardware description languages - not assembly languages and gate/transistor level design. Requires efficient design space exploration and synthesis/compilation tools. Different design requirements has to be taken into account, e.g., cost, performance, testability, quality of service, power consumption. Multi-language design framework. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 25 / 37

Importance of High-Level Design Methods System Verification Processing Speeds System implementation Processing time (s/frame) Behavioral model 1 200 (20 min/frame) RTL model 144 000 (1.6 days/frame) Gate model 228 000 (2.6 days/frame) Gate model on hardware accelerator 1 200 Rapid prototype 0.5 Target hardware 0.05 Source: Paul Clemente, Ron Crevier, Peter Runstadler "RTL and Behavioral Synthesis, A Case Study", VHDL Times, vol. 5, no. 1. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 26 / 37 General Design Flow Specify-Explore-Refine Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 27 / 37 Specification and Programming Specification languages, such as UML, SDL. Programming languages, such as C, C++, Java, Esterel, assembly languages. Hardware description languages, such as VHDL, Verilog, SystemC. Example: combining SystemC and C++ gives a unified simulation environment for hardware and software. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 28 / 37

Hardware Description Languages Cover several levels of design abstraction as well as behavioral and structural description domain. Contain typical features of programming languages, such as data types and program statements. Special features: time concept, structure description, parallelism. VHDL (IEEE standard), Verilog, SystemC. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 29 / 37 Design Representations (Computational Model) Used to represent/model digital systems under design. Generated by a compiler from system specification or coded directly in the model. Represent the semantics, structure and timing of the system. Usually based on some kind of annotated graph representation. Used internally by design automation systems or by the modeler/designer. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 30 / 37 Design Synthesis Software is translated into target code for a processor. Real-time operating system might be used. Hardware synthesis translation of a behavioral representation of a design into a structural one. Communication synthesis generates hardware and software which interconnects system components. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 31 / 37

Hardware Synthesis Levels System level accepts as an input specification in a form of communicating concurrent processes. The synthesis task is to generate the general system structure defined by processors, ASIC s, buses, etc. High level the input specification is given as a behavioral level description of an algorithm describing the functionality of a design and generates implementation at RT-level. Basic synthesis steps are scheduling, allocation and binding. Logic level it can be divided into combinational and sequential logic synthesis. Physical design it accepts a gate-level netlist and produces final implementation of the design in a given technology. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 32 / 37 Hardware/Software Co-design enabling technologies Source: F. Vahid and T. Givargis, Embedded System Design: AUnified Hardware Software Approach Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 33 / 37 Discrete Cosine Transform Partial Design Space 4 0 Cloc k st e ps 3 0 2 0 1 0 0 M ul 1 M ul 2 M ul 3 M ul 4 Add 4 Add 2 Add 4 Add 3 Add 2 Add 1 Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 34 / 37

Design Space Exploration 4 0 3 0 2 0 1 0 0 Speed Power Cost Design time CPU CPU DSP ASI C Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 35 / 37 Time-to-market constraint need time for new product development, the biggest profit is in the market window time, missing the market window can be costly Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 36 / 37 Summary Embedded systems are important class of electronic systems which can be found everywhere, Combine hardware and software solutions, Cover several engineering and research areas: microelectronics, real-time systems, software development, etc. Need careful design which optimizes different design parameters. Kris Kuchcinski (LTH) Design of Embedded Systems March 7, 2016 37 / 37