COEN-4720 Embedded Systems Design Lecture 1 Introduction Fall 2016. Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University

Similar documents
ELEC 5260/6260/6266 Embedded Computing Systems

Architectures and Platforms

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

What is a System on a Chip?

Introduction to System-on-Chip

Embedded Systems. introduction. Jan Madsen

Introduction to HW/SW Co-Design of Embedded Systems

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Codesign: The World Of Practice

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

Introduction to Digital System Design

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

High Performance or Cycle Accuracy?

Hardware/Software Codesign Overview

ARM Processors and the Internet of Things. Joseph Yiu Senior Embedded Technology Specialist, ARM

9/14/ :38

FPGA Prototyping Primer

EMBEDDED SYSTEM BASICS AND APPLICATION

Systems on Chip Design

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Serial port interface for microcontroller embedded into integrated power meter

Digital Systems Design! Lecture 1 - Introduction!!

Design Cycle for Microprocessors

Optimizing Configuration and Application Mapping for MPSoC Architectures

ARM Webinar series. ARM Based SoC. Abey Thomas

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

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

on-chip and Embedded Software Perspectives and Needs

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

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

The Internet of Things: Opportunities & Challenges

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

Chapter 1 Computer System Overview

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

VON BRAUN LABS. Issue #1 WE PROVIDE COMPLETE SOLUTIONS ULTRA LOW POWER STATE MACHINE SOLUTIONS VON BRAUN LABS. State Machine Technology

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

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

NATIONAL SUN YAT-SEN UNIVERSITY

SoC Design Lecture 12: MPSoC Multi-Processor System-on-Chip. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology

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

Which ARM Cortex Core Is Right for Your Application: A, R or M?

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

Custom design services

Rapid System Prototyping with FPGAs

A case study of mobile SoC architecture design based on transaction-level modeling

Modeling a GPS Receiver Using SystemC

NIOS II Based Embedded Web Server Development for Networking Applications

World-wide University Program

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

ZigBee Technology Overview

Networking Remote-Controlled Moving Image Monitoring System

State-of-Art (SoA) System-on-Chip (SoC) Design HPC SoC Workshop

Multiprocessor System-on-Chip

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

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

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

Lecture 1. Introduction to Embedded Computer Systems

Extending the Power of FPGAs. Salil Raje, Xilinx

Testing of Digital System-on- Chip (SoC)

System on Chip Design. Michael Nydegger

Contents. Introduction. Introduction and Motivation Embedded Systems (ES) Content of Lecture Organisational

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

Developing Embedded Applications with ARM Cortex TM -M1 Processors in Actel IGLOO and Fusion FPGAs. White Paper

Sample Project List. Software Reverse Engineering

System-Level Co-design of Heterogeneous Multiprocessor Embedded Systems

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Chapter 13 Embedded Operating Systems

MPSoC Virtual Platforms

PyMTL and Pydgin Tutorial. Python Frameworks for Highly Productive Computer Architecture Research

Real-Time Operating Systems for MPSoCs

Mobile Processors: Future Trends

MPSoC Designs: Driving Memory and Storage Management IP to Critical Importance

KEEP IT SYNPLE STUPID

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

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

Defining Platform-Based Design. System Definition. Platform Based Design What is it? Platform-Based Design Definitions: Three Perspectives

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

DS1104 R&D Controller Board

Chapter 2 Features of Embedded System

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

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

Weighted Total Mark. Weighted Exam Mark

Lecture 3 - Model-based Control Engineering

A Systems of Systems. The Internet of Things. perspective on. Johan Lukkien. Eindhoven University

Low-Overhead Hard Real-time Aware Interconnect Network Router

Transcription:

COEN-4720 Embedded Systems Design Lecture 1 Introduction Fall 2016 Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University 1 Outline What is an Embedded System (ES) Examples of embedded systems Embedded systems characteristics How to design an embedded system ARM Cortex-M3 2 1

What is an Embedded System? Any electronic system that uses a computer chip, but that is not a general-purpose workstation, desktop or laptop computer An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is specifically designed for a particular function An embedded system is a multi-agent system and computer system designed for specific control functions within a larger system, often with realtime computing constraints Many other definitions 3 Embedded Systems Systems that are part of a larger system Application-specific Diverse application areas Tight constraints Real-time, performance, power, size Cost, time-to-market, reliability Ubiquitous Far bigger market than general purpose computing (PCs, servers) $46 billion in 04, >$90 billion by 2010, 14% annual growth 4 billion devices in 04 98% of all processors sold 4 2

Where are Embedded Systems Used? Everywhere industrial machines automobiles, trains airplanes, space vehicles medical equipment video games, cameras, MP3 players, TVs cell phones vending machines, household appliances, toys etc. 5 General Types of Embedded Systems General similar to traditional computer systems, in a smaller package PDA s portable games Communications cell phones Signal Processing video and audio Control real time feedback control automotive aerospace appliances 6 3

Example of Embedded System: Digital Camera CCD Digital camera chip A2D CCD preprocessor Pixel coprocessor D2A Lens JPEG codec Microcontroller Multiplier/Accum DMA controller Display ctrl Memory controller ISA bus interface UART LCD ctrl Single functionality - always a digital camera Tightly constrained - low cost, low power, small, fast Reactive and real time - only to a small extent 7 Example of Embedded System: Mobile Phone 8 4

Mobile phones: the most successful technology ever? 9 Outline What is an Embedded System (ES) Examples of embedded systems Embedded systems characteristics How to design an embedded system ARM Cortex-M3 10 5

Embedded Systems Characteristics 11 Embedded Systems Characteristics Part of a larger system (system within system) Computational Interact (sense, manipulate, communicate) with the external world: sensors, actuators Reactive: at the speed of the environment Heterogeneity: hardware/software blocks, mixed architectures Networked: shared, adaptive, sensor networks (buildings, environmental monitoring), smart products, wearable computing Flexibility: can run/implement multiple applications sequentially or concurrently - concurrency Reprogrammability/reconfigurability: flexibility in upgrading, bug fixing, product differentiation, product customization Performance and constraints: Timing (frequency, latency, throughput) Power consumption, area, temperature Weight, size, cost (hardware & software), time to market Real time critical, safety, reliability 12 6

Key Recent Trends Difficult to design Planes still crash Car recalls Getting even harder to design: Increasing computation demands, increasing complexity e.g. multimedia processing in set-top boxes, HDTV Increasingly networked and distributed Increasing need for flexibility programmable & customizable time-to-market under ever changing standards Reaching physical limits of technology scaling Power walls (and dark silicon) Efficiency/optimality vs. flexibility/generality 13 Key Recent Trends Technological advances Higher integration: more blocks on the same chip Multi-Processor System-On-Chip (MPSoC) Embedded systems evolve toward System-on-Chip (SoC) Cyber Physical Systems (CPS) IP reuse, platform based design, NoC vs. Bus HW-SW co-design Diversity in design methodologies, platform dependent, lack of standards, quality risks, customer confusion Systems are designed and built as systems of systems Opportunity and need for specialization Heterogeneous multi-core / Asynchronous CMP GP-GPUs 14 7

SoCs Market Size 15 Outline What is an Embedded System (ES) Examples of embedded systems Embedded systems characteristics How to design an embedded system ARM Cortex-M3 16 8

Design Process 17 Challenges: Complexity and Heterogeneity Complexity High degree of parallelism at various levels High degree of design freedom Multiple optimization objectives design constraints Handled by working at higher levels of abstraction, hierarchy 18 9

Abstraction Layers System Task Component Instruction ISA Architecture RTL Logic uarch Gate Object code Gate-level models Switch-level models Circuit-level models Device-level models Layout models 19 From specification Functionality, behavior Application algorithms Constraints To implementation Architecture Spatial and temporal order Components and connectivity Across hardware and software Design automation at the system level Modeling & simulation Synthesis & exploration Verification System Level Design 20 10

System Specification Capture requirements (what) Functional Free of any implementation details Non-functional Constraints Formal representation Models of computation Objects & composition rules Concurrency & time Computation & communication Executable Semantics Application development Precise description of desired system behavior Complete and unambiguous 21 System Architecture Architecture definition Processing elements (PEs) Processors, memories, FPGAs, DSPs Communication elements Busses, Networks-on-Chip (NoCs), transducers, bus bridges Virtual platform prototyping PE simulation (functional, fullsystem) for computation Event-driven simulation, transaction-level modeling (TLM) for communication Design space exploration and system optimization Partitioning, mapping (allocation + binding), scheduling Estimation: Synthesis based on abstraction only makes sense if there are powerful estimation methods available: Estimate properties of the next layer(s) of abstraction Design decisions are based on these estimated properties 22 11

System Implementation Hardware Microarchitecture models Register-transfer level (RTL) Layouts Software binaries Application object code Real-time operating system (RTOS) Hardware abstraction layer (HAL) System netlist Pins and wires Arbiters, muxes, interrupt controllers (ICs), etc. Bus protocol state machines 23 Hardware vs. Software Modules A significant part of the problem is deciding which parts should be in software on programmable processors, and which in specialized hardware Hardware = functionality implemented via a custom architecture (datapath + FSM) Software = functionality implemented in software on a programmable processor Key differences: Multiplexing software modules multiplexed with others on a processor hardware modules are typically mapped individually on dedicated hardware Concurrency processors usually have one thread of control dedicated hardware often has concurrent datapaths 24 12

Hardware Components HW/SW Co-design Hardware Concept Specification HW/SW Partitioning OK? Co-simulation Estimation - Exploration Software Components Software Validation and Evaluation (area, power, performance, ) 25 HW/SW Co-design HW/SW Co-design means the design of a specialpurpose system composed of a few application-specific ICs that cooperate with software procedures on general-purpose processors (1994) HW/SW Co-design means meeting system-level objectives by exploiting the synergism of hardware and software through their concurrent design (1997) HW/SW Co-design tries to increase the predictability of embedded system design by providing analysis methods that tell designers if a system meets its performance, power, and size goals and synthesis methods that let designers rapidly evaluate many potential design methodologies (2003) It moved from an emerging discipline (early 90s) to a mainstream technology (today) 26 13

System Level Design Flow (Methodology) Past and present: Ad hoc approaches based on earlier experience with similar products, and on manual design HW/SW partitioning decided at the beginning, and then designs proceed separately Present and future: From HW/SW co-design to HW/SW co-synthesis Design automation (CAD) tools: very challenging 27 From HW/SW Co-design to HW/SW Co-synthesis! Early approaches: HW/SW partitioning would be done first and then HW/SW blocks would be synthesized separately Ideally system synthesis would do HW/SW partitioning, mapping, and scheduling in a unified fashion very difficult Design space exploration (estimation and refinement) would also be done in a unified fashion; by working at the same time with both HW and SW modules Co-synthesis Key: communication models 28 14

HW/SW Co-synthesis Co-synthesis: Synthesize the software, hardware and interface implementation in a unified fashion. This is done concurrently with as much interaction as possible between the three implementations. 29 Outline What is an Embedded System (ES) Examples of embedded systems Embedded systems characteristics How to design an embedded system ARM Cortex-M3 (focus of this course) 30 15

Why study the ARM architecture (Cortex-M3 in particular)? Very popular in industry Lots of manufacturers ship ARM based products What differentiates these products? Peripherals! 31 MCU-32 and PLDs are tied in embedded market share 32 16

Summary Embedded systems are everywhere Big picture: Embedded systems SoCs, CPSs System-level design is key Key challenge: optimization of design metrics (which compete with one another) A unified view of hardware and software is necessary Focus of this course: We ll focus on rather simple embedded systems; using ARM Cortex-M3 based MCU 33 Embedded Systems and You As engineers, it is very likely that you will: Design microprocessors and other digital circuits (e.g., ASICs, FPGAs, etc.) to be used in embedded applications Develop algorithms (control, signal processing, etc.) that will be implemented on embedded microprocessors Develop software (e.g., design automation CAD tools, RTOS, apps, etc.) for the embedded market Work in application fields that involve an embedded microprocessor Design sensors/actuators (e.g., MEMS devices) that may be used in embedded systems Design and implement complete systems that contain embedded systems It is certain that you encounter embedded systems in all aspects of your daily life! 34 17

Skills Needed An embedded system application involves a diverse set of skills that extend across traditional disciplinary boundaries, including computer hardware software algorithms interface electronics application domain Make engineering tradeoffs that extend across these boundaries 35 18