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

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

  • Upload
    docong

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

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

1 - 1Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Hardware-Software Codesign

1. Introduction

Lothar Thiele

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

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 · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

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 · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

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 · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

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 · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 6Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Examples

AMD multicore RYZEN

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

1 - 7Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Examples

Intel Xeon Phi 7290(8 Billion transistors,14nm technology, ~ 650mm2 die area,

1.5 GHZ clock frequency)

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

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 · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 9Swiss 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 10: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 10Swiss 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 11: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 11Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Zero Power Systems and Sensors

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

1 - 12Swiss 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 13: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 13Swiss 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 14: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 14Swiss 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 15: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 15Swiss 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 16: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 16Swiss 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 17: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 17Swiss 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 18: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 18Swiss 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 19: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 19Swiss 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 20: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 20Swiss 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 21: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 21Swiss 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 22: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 22Swiss 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 23: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 23Swiss 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 24: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 24Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

The System Design Problem

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

1 - 25Swiss 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 26: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 26Swiss 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 27: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 27Swiss 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 28: Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar

1 - 28Swiss 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)