Hardware-Software Codesign 1. Introduction · 1 - 1 Swiss Federal Institute of Technology Computer...

Preview:

Citation preview

1 - 1Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Hardware-Software Codesign

1. Introduction

Lothar Thiele

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

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

1 - 4Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Embedded Systems

external process

embedded system

human interface

sensors, actuators

1 - 5Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Parallel and Distributed Target Platforms

ACC

ABSESP

ASR

enginecontrol powertrain

control

1 - 6Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Examples

AMD multicore RYZEN

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)

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:

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

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 

1 - 11Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Zero Power Systems and Sensors

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

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

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

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)

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

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

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

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

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

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

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

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

1 - 24Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

The System Design Problem

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

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)

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

...

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)

Recommended