Sei sulla pagina 1di 24

H d Hardware-Software S ft Codesign C d i 1 I 1.

Introduction t d ti
Lothar Thiele

Swiss Federal Institute of Technology

1-1

Computer Engineering and Networks Laboratory

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

Swiss Federal Institute of Technology

1-2

Computer Engineering and Networks Laboratory

Embedded Systems
Embedded systems (ES) = information processing systems t embedded b dd d into i t a larger l product d t Examples: p

Main reason for buying is not information processing


Swiss Federal Institute of Technology 1-3 Computer Engineering and Networks Laboratory

Embedded Systems
external process human interface

embedded e bedded system syste

sensors, actuators

Swiss Federal Institute of Technology

1-4

Computer Engineering and Networks Laboratory

Parallel and Distributed Target Platforms


ABS ACC ESP ASR

engine g control

powertrain control

Swiss Federal Institute of Technology

1-5

Computer Engineering and Networks Laboratory

Example: Cell Processor


Cell Processor (IBM) combines
general-purpose architecture core with coprocessing elements which greatly accelerate multimedia and vector processing applications applications, as well as many other forms of dedicated computation.

Swiss Federal Institute of Technology

1-6

Computer Engineering and Networks Laboratory

Communicating Embedded Systems


sensor networks (civil engineering, buildings, environmental monitoring, traffic, emergency situations) smart products, wearable/ubiquitous computing
MICS

Swiss Federal Institute of Technology

1-7

Computer Engineering and Networks Laboratory

Trends e ds in Information o at o a and d Co Communication u cat o

Centralized Systems

Networked Systems

Large-scale Distributed Systems

Internet

New Applications and System Paradigms


1-8 Computer Engineering and Networks Laboratory

Swiss Federal Institute of Technology

Comparison
Embedded Systems
Few applications that are known at design-time. Not programmable by end user. Fixed run-time requirements ( dditi (additional l computing ti power not useful). Criteria: cost power consumption predictability meeting time bounds
Swiss Federal Institute of Technology 1-9

General Purpose Computing


Broad class of applications. Programmable by end user user. Faster is better.

Criteria: cost average speed

Computer Engineering and Networks Laboratory

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 examples: p 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, dependability

Swiss Federal Institute of Technology

1 - 10

Computer Engineering and Networks Laboratory

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)


Swiss Federal Institute of Technology 1 - 11 Computer Engineering and Networks Laboratory

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

Swiss Federal Institute of Technology

1 - 12

Computer Engineering and Networks Laboratory

Abstraction, Models and Synthesis


Model
F Formal ld description i ti of f selected l t d properties ti of f a system t or subsystem b t A model consists of data and associated methods

Classification of models
Degree of abstraction, granularity
hardwarre: system, system architecture, architecture logic logic, transistor transistor, software: module, block/class, function/method, ...

View
behavior, structural, physical

Synthesis
Linking adjacent levels of abstraction (refinement) Stepwise adding of structural information
Swiss Federal Institute of Technology 1 - 13 Computer Engineering and Networks Laboratory

Levels of Abstractions

B h i Behavior

System
Process/Module Function Architecture

SW

HW
Gate-level Gate level models Switch-level models Circuit-level models Device-level Device level models Layout models
1 - 14

RTL

Structure

Object Code

Swiss Federal Institute of Technology

Computer Engineering and Networks Laboratory

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

Swiss Federal Institute of Technology

1 - 15

Computer Engineering and Networks Laboratory

System Design
Specification System Synthesis Estimation

SW-Compilation Intellectual Prop. Code

Instruction Set

HW-Synthesis Intellectual Prop. Block

Machine Code
Swiss Federal Institute of Technology 1 - 16

Net lists
Computer Engineering and Networks Laboratory

Fixed Processor Architecture


Specification System Synthesis Estimation

SW-Compilation Intellectual Prop. Code

Instruction Set

HW-Synthesis Intellectual Prop. Block

Machine Code
Swiss Federal Institute of Technology 1 - 17

Net lists
Computer Engineering and Networks Laboratory

Application Specific HW Block


Specification System Synthesis Estimation

SW-Compilation Intellectual Prop. Code

Instruction Set

HW-Synthesis Intellectual Prop. Block

Machine Code
Swiss Federal Institute of Technology 1 - 18

Net lists
Computer Engineering and Networks Laboratory

Application-Specific Application Specific Instruction Set Processor


Specification System Synthesis Estimation

SW-Compilation Intellectual Prop. Code

Instruction Set

HW-Synthesis Intellectual Prop. Block

Machine Code
Swiss Federal Institute of Technology 1 - 19

Net lists
Computer Engineering and Networks Laboratory

System-Level System Level Design


System-level design is a complex synthesis tasks
software synthesis and code generation hardware synthesis interface f and communication synthesis hardware/software partitioning and component selection h d hardware/software / ft scheduling h d li

Major Components:
application specification design space exploration and system optimization estimation

Swiss Federal Institute of Technology

1 - 20

Computer Engineering and Networks Laboratory

The Mapping Problem

Swiss Federal Institute of Technology

1 - 21

Computer Engineering and Networks Laboratory

HW/SW Mapping and Scheduling


Hardware/software mapping
P Partitioning titi i of f system t function f ti to t programmable bl components t (software), hard-wired or parameterized components (hardware) or application pp specific p instruction set p 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
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory

1 - 22

HW/SW Mapping and Scheduling


Similarity to allocation (or load distribution) problem in highl level l synthesis h i ( (or real-time l i operating i systems) ) dedicated HWcomponents
P4 P3

P2 P1

SW (processors)

Swiss Federal Institute of Technology

1 - 23

Computer Engineering and Networks Laboratory

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.
Design Space Exploration

Estimation of lower layer properties

high abstraction ...

Timeline of D i Design

Design Space E l Exploration ti

Swiss Federal Institute of Technology

Design D i Space S Exploration

low l abstraction
1 - 24

Computer Engineering and Networks Laboratory

Potrebbero piacerti anche