Hardware-Software Codesign. 1. Introduction

Similar documents
Hardware-Software Codesign. 1. Introduction

Embedded Systems. 7. System Components

Embedded Systems. 1 Introduction. Lothar Thiele. Computer Engineering and Networks Laboratory

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

Hardware-Software Codesign

Embedded Systems 1. Introduction

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

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded System

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

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign

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

Introduction to Embedded Systems

VLSI Design Automation

Hardware/Software Co-design

Design Issues in Hardware/Software Co-Design

Hardware/Software Codesign

Part 2: Principles for a System-Level Design Methodology

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.

Long Term Trends for Embedded System Design

VLSI Design Automation

6.375: Complex Digital Systems. February 3, L01-1. Something new and exciting as well as useful

Ultra Depedable VLSI by Collaboration of Formal Verifications and Architectural Technologies

Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor.

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

More Course Information

Hardware/Software Codesign

Kyoung Hwan Lim and Taewhan Kim Seoul National University

System on Chip (SoC) Design

6.375: Complex Digital Systems. Something new and exciting as well as useful. Fun: Design systems that you never thought you could design in a course

Hardware Design and Simulation for Verification

ELEC 5260/6260/6266 Embedded Computing Systems

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

Design Methodologies. Kai Huang

Embedded Systems: Hardware Components (part I) Todor Stefanov

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design

ECE 448 Lecture 15. Overview of Embedded SoC Systems

Co-synthesis and Accelerator based Embedded System Design

Lecture 7: Introduction to Co-synthesis Algorithms

Design and Analysis of Time-Critical Systems Introduction

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

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Multimedia in Mobile Phones. Architectures and Trends Lund

Does FPGA-based prototyping really have to be this difficult?

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

Overview of SOC Architecture design

Digital Hardware-/Softwaresystems Specification

VLSI Design Automation. Maurizio Palesi

Parallel Computing. Parallel Computing. Hwansoo Han

ECE 459/559 Secure & Trustworthy Computer Hardware Design

Validation Strategies with pre-silicon platforms

Programming in the Brave New World of Systems-on-a-chip

Intro to High Level Design with SystemC

Introduction to Embedded Systems

Development of Integrated Hard- and Software Systems: Tasks and Processes

Design Methodologies and Tools. Full-Custom Design

System-on-Chip Design for Wireless Communications

Development of Integrated Hard- and Software Systems: Tasks and Processes

EITF35: Introduction to Structured VLSI Design

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

Ultra-Low-Power Circuits for Wearables

Modelling, Analysis and Scheduling with Dataflow Models

Microprocessors, Lecture 1: Introduction to Microprocessors

Thermal Modeling and Active Cooling

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

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

SpiNNaker - a million core ARM-powered neural HPC

FABRICATION TECHNOLOGIES

Introduction to ASIC Design

Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip

A Simple Model for Estimating Power Consumption of a Multicore Server System

Parallelism in Hardware

FPGAs: High Assurance through Model Based Design

Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor

ECE 471 Embedded Systems Lecture 2

Digital Systems Design. System on a Programmable Chip

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

An introduction to CoCentric

Extending TASTE through integration with Space Studio

Anand Raghunathan

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Chapter 1 Overview of Digital Systems Design

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

8/28/12. CSE 820 Graduate Computer Architecture. Richard Enbody. Dr. Enbody. 1 st Day 2

Hardware and Software Co-Design for Motor Control Applications

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

Design Space Exploration Using Parameterized Cores

Multi-Gigahertz Parallel FFTs for FPGA and ASIC Implementation

Easy Multicore Programming using MAPS

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Targeting Motor Control Algorithms to System-on-Chip Devices

HW / SW Implementation Overview (0A) Young Won Lim 7/16/16

HARDWARE SOFTWARE CO-DESIGN

Cover TBD. intel Quartus prime Design software

Spiral 2-8. Cell Layout

Embedded Systems: Architecture

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

Transcription:

Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1

Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

Embedded Systems Embedded systems (ES) = information processing systems embedded into a larger product Examples: Main reason for buying is not information processing 1-3

Embedded Systems external process human interface embedded system sensors, actuators 1-4

Parallel and Distributed Target Platforms ACC ABS ESP ASR engine control powertrain control 1-5

Examples AMD multicore RYZEN 1-6

Examples Intel Xeon Phi 7290 (8 Billion transistors, 14nm technology, ~ 650mm 2 die area, 1.5 GHZ clock frequency) 1-7

Embedded Multicore Example Recent development: Specialize multicore processors towards real-time processing and low power consumption Target domains: 1-8

Multiprocessor systems-on-a-chip (MPSoCs) Samsung Galaxy S6 Exynos 7420 System on a Chip (SoC) 8 ARM Cortex processing cores (4 x A57, 4 x A53) 30 nanometer: transistor gate width 1-9

Multiprocessor systems-on-a-chip (MPSoCs) Samsung Galaxy S6 Exynos 7420 System on a Chip (SoC) 8 ARM Cortex processing cores (4 x A57, 4 x A53) 30 nanometer: transistor gate width Exynos 5422 1-10

Zero Power Systems and Sensors 1-11

Zero Power Systems and Sensors IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 48, NO. 1, JANUARY 2013 1-12

Comparison Embedded Systems Few applications that are known at design-time. Not programmable by end user. Fixed run-time requirements (additional computing power not useful). Criteria: cost power consumption predictability meeting time bounds General Purpose Computing Broad class of applications. Programmable by end user. Faster is better. Criteria: cost average speed 1-13

Design Challenges Challenges in the design of embedded systems increasing application complexity even in standard and large volume products large systems with legacy functions mixture of event driven and data flow tasks (see next chapter) examples: multimedia, automotive, mobile communication increasing target system complexity mixture of different technologies, processor types, and design styles large systems-on-a-chip combining components from different sources, distributed system implementations numerous constraints and design objectives examples: cost, power consumption, timing constraints, temperature 1-14

Implementation Alternatives General-purpose processors Performance Power Efficiency Application-specific instruction set processors (ASIPs) Microcontroller DSPs (digital signal processors) Flexibility Programmable hardware FPGA (field-programmable gate arrays) Application-specific integrated circuits (ASICs) 1-15

Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-16

Abstraction, Models and Synthesis Model Formal description of selected properties of a system or subsystem A model consists of data and associated methods Classification of models Degree of abstraction, granularity hardware: system, architecture, logic, transistor, software: module, block/class, function/method,... View behavior, structural, physical Synthesis Linking adjacent levels of abstraction (refinement) Stepwise adding of structural information 1-17

Levels of Abstractions System Behavior Process/Module Architecture Function SW HW RTL Object Code Gate-level models Switch-level models Circuit-level models Device-level models Layout models 1-18 Structure

Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-19

System Design Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis Intellectual Prop. Block Machine Code Net lists 1-20

Fixed Processor Architecture Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis Intellectual Prop. Block Machine Code Net lists 1-21

Application Specific HW Block Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis Intellectual Prop. Block Machine Code Net lists 1-22

Application-Specific Instruction Set Processor Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis Intellectual Prop. Block Machine Code Net lists 1-23

The System Design Problem 1-24

HW/SW Mapping and Scheduling Hardware/software mapping Partitioning of system function to programmable components (software), hard-wired or parameterized components (hardware) or application specific instruction set processors. Similarity to scheduling and load distribution problem in realtime operating systems time constraints, context switch and context switch overhead, process synchronization and communication Differences to real-time operating systems larger design space with very different solutions high optimization requirements (motivation for hardware design) underlying hardware is not fixed 1-25

HW/SW Mapping and Scheduling Similarity to allocation (or load distribution) problem in highlevel synthesis (or real-time operating systems) P1 SW (processors) P2 P3 dedicated HW components P4 1-26

Estimation The principle of 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: If the estimation is not correct (or not accurate enough), the design will be sub-optimal or even not working correctly. Estimation of lower layer properties Design Space Exploration Design Space Exploration high abstraction... Timeline of Design Design Space Exploration low abstraction 1-27

Review: Course Synopsis Specification and Models of Computation (Section 2) State-Charts Kahn Process Networks System Design Mapping (Section 3) Partitioning (Section 4) Multi-Criteria Optimization (Section 5) Design Space Exploration (Section 7) Estimation Simulation-based Methods (Section 6) Performance Estimation (Section 8) Worst-Case Execution Time Analysis (Section 9) Performance Analysis of Distributed Systems (Section 10) Thermal-aware Design (Section 11) 1-28