+ All Categories
Home > Documents > Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer...

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

Date post: 21-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
28
1 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Hardware-Software Codesign 1. Introduction Lothar Thiele
Transcript
Page 1: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

1 - 1Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Hardware-Software Codesign

1. Introduction

Lothar Thiele

Page 2: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

1 - 6Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Examples

AMD multicore RYZEN

Page 7: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

1 - 11Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

Zero Power Systems and Sensors

Page 12: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 in average is better.

Criteria:• cost• average speed

Page 14: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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• mixture of event driven and data flow tasks (see next chapter) • examples: multimedia, automotive, mobile communication

increasing target system complexity• mixture of different technologies and processor types• 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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

1 - 24Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

The System Synthesis Problem

Page 25: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

1 - 25Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

HW/SW Mapping and SchedulingHardware/software mappingPartitioning 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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

1 - 26Swiss FederalInstitute of Technology

Computer Engineeringand Networks Laboratory

HW/SW Mapping and Scheduling

dedicated HWcomponents

P1

P3

P2P4

SW(processors)

Page 27: Hardware-Software Codesign 1. Introduction · 1 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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 - 25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory HW/SW Mapping and Scheduling Hardware/software

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