30
1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar Thiele

Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 1Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Hardware-Software Codesign

1. Introduction

Lothar Thiele

Page 2: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 2Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

ContentsWhat is an Embedded System ?

Levels of Abstraction in Electronic System Design

Typical Design Flow of Hardware-Software Systems

Page 3: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 3Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Main reason for buying is not information processing

Embedded systems (ES) = information processing systems embedded into a larger product

Examples:

Embedded Systems

Page 4: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 4Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Embedded Systems

external process

embedded system

human interface

sensors, actuators

Page 5: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 5Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Parallel and Distributed Target Platforms

ACC

ABSESP

ASR

enginecontrol powertrain

control

Page 6: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 6Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Example: Intel

4 cores

48 cores

Page 7: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 7Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

More Examples

Oracle Sparc T5Intel Xeon Phi

(5 Billion transistors,22nm technology,

350mm2 area)

Page 8: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 8Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Embedded Multicore ExampleRecent development: Specialize multicore processors towards real-time processing

and low power consumption Target domains:

Page 9: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 9Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Multiprocessor systems-on-a-chip (MPSoCs)

http

://w

ww

.mps

oc-fo

rum

.org

/200

7/sl

ides

/Hat

tori.

pdf

Page 10: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 10Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Multiprocessor systems-on-a-chip (MPSoCs)

http

://w

ww

.mps

oc-fo

rum

.org

/200

7/sl

ides

/Hat

tori.

pdf

Page 11: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 11Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

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

Page 12: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 12Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

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 

Page 13: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 13Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Zero Power Systems and Sensors

Page 14: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 14Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Zero Power Systems and Sensors

IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 48, NO. 1, JANUARY 2013

Page 15: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 15Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

ComparisonEmbedded 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

Page 16: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 16Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Design ChallengesChallenges 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

Page 17: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 17Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Implementation Alternatives

PerformancePower Efficiency Flexibility

Application-specific integrated circuits (ASICs)

Application-specific instruction set processors (ASIPs)

• Microcontroller• DSPs (digital signal processors)

General-purpose processors

Programmable hardware

• FPGA (field-programmable gate arrays)

Page 18: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 18Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

ContentsWhat is an Embedded System ?

Levels of Abstraction in Electronic System Design

Typical Design Flow of Hardware-Software Systems

Page 19: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 19Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Abstraction, Models and SynthesisModel 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

Page 20: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 20Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Structure

Behavior

Levels of Abstractions

SystemArchitecture

RTL

Process/Module

Function SW HW

Object Code

Gate-level modelsSwitch-level modelsCircuit-level modelsDevice-level modelsLayout models

Page 21: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 21Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

ContentsWhat is an Embedded System ?

Levels of Abstraction in Electronic System Design

Typical Design Flow of Hardware-Software Systems

Page 22: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 22Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

SW-Compilation HW-Synthesis

System DesignSpecification

System Synthesis

Machine Code Net lists

Estimation

Instruction Set

IntellectualProp. Block

IntellectualProp. Code

Page 23: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 23Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Fixed Processor Architecture

SW-Compilation HW-Synthesis

Specification

System Synthesis

Machine Code Net lists

Estimation

Instruction Set

IntellectualProp. Block

IntellectualProp. Code

Page 24: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 24Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Application Specific HW Block

SW-Compilation HW-Synthesis

Specification

System Synthesis

Machine Code Net lists

Estimation

Instruction Set

IntellectualProp. Block

IntellectualProp. Code

Page 25: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 25Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Application-Specific Instruction Set Processor

SW-Compilation HW-Synthesis

Specification

System Synthesis

Machine Code Net lists

Estimation

Instruction Set

IntellectualProp. Block

IntellectualProp. Code

Page 26: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 26Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

The System Design Problem

Page 27: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 27Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

HW/SW Mapping and SchedulingHardware/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 real-time 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

Page 28: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 28Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

HW/SW Mapping and SchedulingSimilarity to allocation (or load distribution) problem in high-level synthesis (or real-time operating systems)

dedicated HWcomponents

P1

P3

P2P4

SW(processors)

Page 29: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 29Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

EstimationThe 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.

Design SpaceExploration

TimelineofDesign

Design SpaceExploration

Design SpaceExploration

Estimation oflower layerproperties

highabstraction

lowabstraction

...

Page 30: Hardware-Software Codesign 1. Introduction · Hardware-Software Codesign 1. Introduction Lothar Thiele. 1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks

1 - 30Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Review: Course SynopsisSpecification 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)