Introduction to Embedded Systems

Similar documents
Infrastructure for Embedded Systems. Martin Glavin. Books. Software. Caveats - 1. And now - Will it be on the Exam? Even more danger?

Introduction to Networked Embedded Systems and Course Description. Song Han Office: ITEB 355

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3

EMBEDDED SYSTEM BASICS AND APPLICATION

Hardware-Software Design of Embedded Systems

COSC What is an embedded system?

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

CSE 466 Software for Embedded Systems. CSE 466 Software for Embedded Systems

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

Hardware Software Codesign of Embedded Systems

Microprocessors, Lecture 1: Introduction to Microprocessors

Hardware-Software Codesign. 1. Introduction

Hardware/Software Co-design

Sistemi Embedded Introduzione

Embedded Systems: Architecture

Selecting an embedded microprocessor. How do we choose the right up or uc? Selecting an embedded microprocessor-2. More on data path width

FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 1 & 2

Calendar Description

Introduction to Embedded Systems

CMPE 310: Systems Design and Programming

Design Metrics. A couple of especially important metrics: Time to market Total cost (NRE + unit cost) Performance (speed latency and throughput)

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Hardware-Software Codesign. 1. Introduction

ELC4438: Embedded System Design Embedded Processor

Embedded Systems Introduction

Embedded Systems. 7. System Components

Hardware Software Codesign of Embedded System

VLSI Design Automation. Maurizio Palesi

Computer Architecture. Fall Dongkun Shin, SKKU

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Embedded Computation

VLSI Design Automation

Configurable Processors for SOC Design. Contents crafted by Technology Evangelist Steve Leibson Tensilica, Inc.

Embedded System Design

Overview of Microcontroller and Embedded Systems

ECE 471 Embedded Systems Lecture 2

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

VLSI Design Automation

Embedded System Design

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory

Hardware Description Languages. Introduction to VHDL

Embedded System Current Trends

Outline Marquette University

3.1 Description of Microprocessor. 3.2 History of Microprocessor

7/28/ Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc.

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

COMPLEX EMBEDDED SYSTEMS

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

More Course Information

Microprocessors And Microcontroller

FPGA Based Digital Design Using Verilog HDL

Digital Systems Design. Introduction to embedded and digital systems

Embedded Systems: Hardware Components (part I) Todor Stefanov

Part 2: Principles for a System-Level Design Methodology

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Mobile Processors. Jose R. Ortiz Ubarri

EITF20: Computer Architecture Part1.1.1: Introduction

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

ELCT 912: Advanced Embedded Systems

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

Lecture (01) Introducing Embedded Systems and the Microcontrollers By: Dr. Ahmed ElShafee

EE382V: System-on-a-Chip (SoC) Design

Somes French translations :

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Davide Rossi DEI University of Bologna AA

Design Methodologies and Tools. Full-Custom Design

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

ECE 448 Lecture 15. Overview of Embedded SoC Systems

Lesson 2. Introduction to Real Time Embedded Systems Part II. mywbut.com

CSC 170 Introduction to Computers and Their Applications. Computers

Interface-Based Design Introduction

ICS 180 Spring Embedded Systems. Introduction: What are Embedded Systems and what is so interesting about them?

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Computer Organization & Assembly Language Programming. CSE 2312 Lecture 2 Introduction to Computers

Designing Embedded Processors in FPGAs

ARM Processors for Embedded Applications

CSE : Introduction to Computer Architecture

Rapidly Developing Embedded Systems Using Configurable Processors

Introduction to ASIC Design

System Level Design with IBM PowerPC Models

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

When Girls Design CPUs!

The Computer Revolution. Chapter 1. The Processor Market. Classes of Computers. Morgan Kaufmann Publishers August 28, 2013

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

Chapter 10 Objectives

EE382V: System-on-a-Chip (SoC) Design

Fundamentals of Computer Design

Computer Architecture

Computer Architecture s Changing Definition

PART B UNIT II PART A

Multimedia in Mobile Phones. Architectures and Trends Lund

ECE 2162 Intro & Trends. Jun Yang Fall 2009

An Introduction to Programmable Logic

CS 211: Computer Architecture course wrapup: : goodbye to cs211!

Overview of Embedded Application Development for Intel Architecture

Basic Components of Digital Computer

Transcription:

Introduction to Embedded Systems

Outline Embedded systems overview What is embedded system Characteristics Elements of embedded system Trends in embedded system Design cycle 2

Computing Systems Most of us think of desktop computers PC Laptop Mainframe Server Maybe at most handheld computer (PDA) Embedded systems: a computing system that is part of or is embedded into another systems. 3

What is Embedded Systems? Computing system embedded within electronic devices Any device or collection of devices that contain one of more dedicated computers, microprocessors, or micro-controllers Combination of computer hardware and software designed to perform a specific function Broad definition: Any computing system that is not a desktop computer 4

Embedded System: Examples 5

Embedded System Types General purpose computing Personal digital assistant, Video games, set top boxes, wearable computers, automatic tellers Control systems Fuzzy control, PID control, Vehicle engines, chemical processes, nuclear power, flight control Signal processing Multimedia data compression Digital filtering Communication & Networking Routers, switches, firewalls, Surveillance, wireless sensor, 6

Embedded System Market Average household uses about 225 embedded processors; about 35 for the automobile itself Estimated 5 billion embedded processor in use --- 94% share of world market; Intel Pentium, Motorola PowerPC, etc. combined is only 6% [source: World Semiconductor Trade Statistics Bluebook] 7

Why study embedded systems? Key elements of our society today Many new applications every day Requires knowledge of both software and hardware Ignored in traditional computer science curriculum Isn t it only about hardware? NO!!! Experienced embedded systems designers are in high demand and short supply 8

Embedded systems characteristics: User s viewpoint Single function Dedicated to a task or tasks Tight constraints Size, power, cost, time-to-market Real time and reactive Respond to environment in real time Safety critical Failure of hw/sw can be life threatening 9

Embedded system s characteristics: Developer s viewpoint Concurrent development of hardware and software: hardware/software codesign Variety of microprocessors Variety of operating systems mostly real time (RTOS) May not even have any OS services like printf Fewer system resources than desktop system Requires specialized development tools Debugging extremely difficult Hardware and software should be extremely robust 10

Typical Design Constraints Small Size, Low Weight Handheld electronics Transportation applications weight costs money Low Power Battery power for 8+ hours (laptops often last only 2 hours) Limited cooling may limit power even if AC power available Harsh environment Heat, vibration, shock Power fluctuations, RF interference, lightning Water, corrosion, physical abuse Real-time and Safety critical operation Must function correctly and/or in-time Must not function incorrectly Extreme cost sensitivity $.05 adds up over 1,000,000 units 11

A typical embedded system Minimally Requirement for an Embedded System NMI Address Bus Microprocessor Data Bus Status Bus Other Peripheral Devices Glue Logic and Address Decode Clock Generation and Distribution To Outside World Random Access Memory - RAM I/O Interface ( D/A, A/D, Digital ) Read Only Memory - ROM ( FLASH ) Communications Watchdog Timer Real Time Clock To outside world To other devices To host Computer To User I/F 12 Source: Arnold S. Berger

Elements of an embedded system To Outside World Source: Arnold S. Berger Peripheral Bus DEBUG Port Microprocessor 4, 8, 16, 32, 4 bit bus CISC, RISC, DSP Integrated peripherals Debug/Test Port Caches Pipeline Multiprocessing Systems Software Application Code Driver Code / BIOS Real Time Operating System User Interface Communications Protocol Stacks C, C++, Assembly Language, ADA Legacy Code Key Point: Although vastly different in complexity and design, common architectural traits allow us to design and debug a wide variety of systems Non-volatile memory EPROM, FLASH, DISK Hybrid Volatile Memory DRAM, SRAM Hybrid System Clocks RTC circuitry System clocks Integrated in uc Imported/Exported Custom Devices ASIC FPGA PAL Standard Devices I/O Ports Peripheral Controllers Communication Devices Ethernet RS-232 SCSI Centronics Proprietary Microprocessor Bus Custom PCI VME PC-102 13

Trends in embedded system Higher integration Microprocessor Micro-controller System-on-Chip (SOC) Hardware/software co-design Mature design flow 14

Higher Integration (1) Microprocessor An integrated circuit which forms the central processing unit for a computer or embedded controller, but requires additional support circuitry to function Example: Pentium, AMD K6 etc. Program memory Data Storage I/O Microprocessor I/O I/O Clock To outside world Source: Arnold S. Berger 15

Higher Integration (2) Micro-controller A microprocessor plus additional peripheral support devices integrated into a single package Peripheral support devices may include: Serial ports ( COM ), Parallel Ports, Ethernet ports, A/D & D/A Interval timers, watchdog timers, event counter/timers, real time clock ( RTC ) Other local processors ( DSP, numeric coprocessor, peripheral controller ) Example: Motorola coldfire Program Memory Microprocessor Core I/O Data Storage I/O I/O Real-time Clock To outside world Source: Arnold S. Berger 16

Higher Integration (3) System-on-chip (SOC) A microprocessor plus additional peripheral support devices integrated into a single chip Example: Intel StrongARM 17 Source: Intel

Moore s Law Driving Factor Predicted by Intel co-founder Gordon Moore 65 IC transistor capacity has doubled roughly every 18 months for the past several decades Process technology can put more and more functionality on the same chip as CPU at reduced cost Source: Intel 18

Liming Factor Design productivity gap Growing design gap between what technology can offer and our ability to design in that technology Source: ITRS 99 19

Core based SOC design Intellectual Property (IP) circuits or cores are pre-designed and pre-verified functional units IP s are reusable implying lower design cost Core examples: Processors: ARM, PowerPC,.. Memory: RAM, memory controller, Peripherals: PCI, DMA controller, Multimedia: MPEG/JPEG encoder/decoder Digital Signal Processor (DSP) Telecommunication: Ethernet controller, router,.. 20

Hardware/Software Co-design In the past: Hardware and software design technologies were very different At present Recently matured synthesis technique enables a unified view of hardware and software Compilers (1960's,1970's) Assembly instructions Assemblers, linkers (1950's, 1960's) Machine instructions Microprocessor plus program bits: software Sequential program code (e.g., C, VHDL) Implementation Behavioral synthesis (1990's) Register transfers RT synthesis (1980's, 1990's) Logic equations / FSM's Logic synthesis (1970's, 1980's) Logic gates VLSI, ASIC, or PLD implementation: hardware The choice of hardware versus software for a particular function is simply a tradeoff among various design metrics, like performance, power, size, cost, and especially flexibility; there is no fundamental difference between what hardware or software can implement. 21 Source: Vahid/Givargis

Design Flow Requirements Specification Architecture Components System Integration 22

Requirements Functional Inputs and Outputs Analog/Digital/Mechanical Periodic/Non-periodic/Bits per data Button/Display Functions What does the system do? Non-functional Performance Manufacturing cost Power consumption Physical size and weight 23

Specification A precise description of the requirements Unambiguous and understandable Unified Modeling Language (UML) is a visual language that nicely captures the specification Blurs the distinction between h/w and s/w UML models the behavior of embedded system Automatic code generator could generate HDL or C++ code for the actual design implementation 24

Architecture Design How the system implements the functions described in the specification System structure in terms of components Hardware/Software partitioning Hardware and software in embedded system work together to solve a problem Partitioning decision is usually dictated by speed, flexibility, and cost 25

Architecture Design (Contd.) Technology Performance/ Cost Time until running Time to high performance Time to change code functionality Speed ASIC Very High Very Long Very Long Impossible FPGA Medium Medium Long Medium ASIP/ DSP High Long Long Long Flexibility Generic Low- Medium Very Short Not Attainable Very Short 26

Component Design & System Integration Implementing hardware and software Putting components together Verification 27

What is expected of embedded system designer? Need to understand the big picture Hardware can no longer be a black box Design software with Real time constraints Low power Small code size Willing to acquire domain specific knowledge 28

Techniques needed in Embedded Systems Low-level: Microcontrollers, FPGA/ASIC, assembly language, A/D, D/A Device Drivers High-level: Object oriented Design, C/C++, Real Time Operating Systems May use Java, Windows CE, Linux, Meta-level: Creative solutions to highly constrained problems Likely in the future: Unified Modeling Language, embedded networks 29

References Embedded Systems Design: An Introduction to Processes, Tools and Techniques, by Arnold S. Berger, CMP Books, 2001 30