You are on page 1of 13

Design of Embedded Systems

An Introduction

http://cs.lth.se/EDAN15

Krzysztof Kuchcinski
Krzysztof.Kuchcinski@cs.lth.se

Department of Computer Science


Lund Institute of Technology
Sweden

February 3, 2010

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 1 / 37

Outline

1 Introduction

2 Course Organization

3 General introduction, definition of the field

4 Embedded Systems Examples

5 Embedded Systems Design Methodologies

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 2 / 37

Examples of Embedded Systems

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 3 / 37


Examples of Embedded Systems (cont’d)

Anti-lock brakes Modems


Auto-focus cameras MPEG decoders
Automatic teller machines Network cards
Automatic toll systems Network switches/routers
Automatic transmission On-board navigation
Avionic systems Pagers
Battery chargers Photocopiers
Camcorders Point-of-sale systems
Cell phones Portable video games
Cell-phone base stations Printers
Cordless phones Satellite phones
Cruise control Scanners
Curbside check-in systems Smart ovens/dishwashers
Digital cameras Speech recognizers
Disk drives Stereo systems
Electronic card readers Teleconferencing systems
Electronic instruments Televisions
Electronic toys/games Temperature controllers
Factory control Theft tracking systems
Fax machines TV set-top boxes
Fingerprint identifiers VCR’s, DVD players
Home security systems Video game consoles
Life-support systems Video phones
Medical testing systems Washers and dryers

Source: Embedded Systems Design: A Unified


Hardware/Software Introduction, (c) 2000 Vahid/Givargis

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 4 / 37

Course Organization
Twelve lectures.
Four lab assignments plus an introductory lab.
carried out in groups of two students
use special software and hardware (lab Neptunus)
require preparation

Group day time room


1 Tue 13-15 Neptunus
2 Wed 8-10 Neptunus
3 Wed 15-17 Neptunus
4 Thu 10-12 Neptunus

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 5 / 37

Course Organization (cont’d)


Seminars
4/05, 15:15 (E:2116) and 5/05, 10:15 (E:2116)
11/05, 15:15 (E:2116) and 12/05, 10:15 (E:2116)
Obligatory examinations
26 May 2010 at 14-19, MA9 (C, D, E, F)
20 August 2010 at 14-19, MA10J.
January 2011 ...
Books:
Peter Marwedel, Embedded System Design, Kluwer Academic
Publisher 2003.
Wayne Wolf, Computers as Components: Principles of Embedded
Computing Systems Design, Morgan Kaufmann 2000.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 6 / 37


Lectures
Preliminary Schedule
Date Content
10-03-15 Introduction, motivation, etc.
10-03-19 Design methodology (HW/SW co-design, etc)
10-03-22 Specification and programming of
10-03-26 Embedded Systems
10-04-16 Computational models
10-04-19 Design representations
10-04-23 System partitioning
10-04-26 Allocation, assignment
10-04-29 and scheduling
10-05-03 Communication synthesis
10-05-07 Testability
10-05-10 Low-power design

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 7 / 37

Embedded Systems

“A device that includes a programmable computer but is not


itself a general-purpose computer”

Execution deadlines,
Power consumption constraints,
:
Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 8 / 37

Embedded Systems (cont’d)


Computing systems embedded within electronic devices
Hard to define. Nearly any computing system other than a
desktop computer
Billions of units produced yearly, versus millions of desktop units
Perhaps 50 per household and per automobile

Source: Embedded Systems Design: A Unified


Hardware/Software Introduction, (c) 2000 Vahid/Givargis

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 9 / 37


Embedded Systems (cont’d)
Non User-Programmable.
Based on programmable components (e.g., Micro-controllers,
DSP’s...) but often contain application specific hardware (IC’s,
ASIC’s).
Reactive Real-Time Systems:
React to external environment,
Maintain permanent interaction,
Ideally never terminate,
Are subject to external timing constraints (real-time).

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 10 / 37

Characteristics Embedded Systems


Sophisticated functionality.
Real-time operation.
Low manufacturing cost.
Low power.
Designed to tight deadlines by small teams.
"Resource conscious" vs. "Unlimited resources" programming

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 11 / 37

A Single Processor Embedded System

Source: W. Wolf, Computers as Components:


Principles of Embedded Computing Systems Design

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 12 / 37


SoC Embedded System

Assembly of "prefabricated
component" often purchased
from external vendors ("IP")
"black box" hierarchy
Design & Verification at the
System level
rather than the logic level
Interface and
communication
Great Importance of Software

Source: Alberto Sangiovanni-Vincentelli, 35th DAC

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 13 / 37

A Digital Camera Example

Source: F. Vahid and T. Givargis, Embedded System Design: A Unified Hardware Software Approach

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 14 / 37

Real-time gas turbine testing system

MI-2 helicopter engine "Minicomputer" 8kB RAM


cassette tape

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 15 / 37


TELEX-I and TELEX-II systems

PDP-11 PDP-11

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 16 / 37

WITAS project

Autonomous system.
Real-time system.
Image processing.
Mission planning.
Incorporation of GIS
systems.
Interface with ground
operator.
...
http://www.ida.liu.se/ext/witas

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 17 / 37

Typical Hardware Components of DSP System


Component class Implements Compiler Specification
DSP processor Low data-rate DSP (Retargetable) Assembly
Slow control loops code generator C
Appl. Spec. alg. High level synth.
Microcontroller User interface C compiler C
Slow control loops
Hardware accelerator High data-rate DSP High level synth. C, VHDL
RT level synth. Verilog
Communication Internal & external Memory mgmt. Data-sheets
blocks and communication (A)synchronous
memory Storage & buffering interface synth.
Others Usually FSMD’s RT level synth. VHDL
- clock generators Asynchronous
- DMA blocks synth.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 18 / 37


Importance of Embedded System Design
Methodologies
Hardware complexity.
Heterogeneous systems containing hardware (both digital and
analog) and software.
Heterogeneous components (CPU’s, DSP’s, ASIC’s, buses,
point-to-point links, etc.).
Heterogeneous requirements - performance, cost, power
consumption, etc.
System-on-chip.
Shorter design cycles required by time-to-market constraints.
...

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 19 / 37

Design Complexity and Designer Productivity Gap


Logic Transistors/Chip (K)

10,000,000 100,000,000

Transistor/Staff-Month
1,000,000 10,000,000
58%/Yr. Complexity
100,000 1,000,000
growth rate
10,000 100,000

1,000 10,000
x x
100 xx 1,000
x x x 21%/Yr.
x
10 Productivity growth 100
rate
1 10

1998 2003

Source: Bryan Preas, Xerox PARC, 35th DAC

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 20 / 37

Flexibility and Energy Efficiency

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 21 / 37


Flexibility and Energy Efficiency

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 21 / 37

Flexibility and Energy Efficiency

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 21 / 37

Design Domains and Abstraction Levels

Structural
Behavioural
System level Domain
Domain

RTL
Algorithm CPU, memory, bus
Logic level
RT specification ALU, reg., MUX
Circuit level
Boolean eq. Gate, flip-flop
Transistor
Transistor function

Transistor layout

Standard cell/subcell

Macrocell, chip

Board

Physical
Domain

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 22 / 37


Design Domains
behavioral representations - describe only circuit’s function, for
example
if clock=high then counter:= counter+1

structural representations - describe the components and their


interconnections, for example
a
b NAND
NAND

c
d My Out
NAND
e Cell

physical representations - it can describe either a geometrical


layout or a topological constraint.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 23 / 37

Software vs. Hardware Design


short summary
Software
flexibility,
reconfigurability, easy update, etc.,
complex functionality,
cost,
...
Hardware
speed,
power consumption,
cost in large volumes,
...

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 24 / 37

Design of Embedded Systems


Need to be done using high-level specification, programming and
hardware description languages - not assembly languages and
gate/transistor level design.
Requires efficient design space exploration and
synthesis/compilation tools.
Different design requirements has to be taken into account, e.g.,
cost, performance, testability, quality of service, power
consumption.
Multi-language design framework.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 25 / 37


Importance of High-Level Design Methods
System Verification Processing Speeds

System implementation Processing time (s/frame)


Behavioral model 1 200 (20 min/frame)
RTL model 144 000 (1.6 days/frame)
Gate model 228 000 (2.6 days/frame)
Gate model on hardware accelerator 1 200
Rapid prototype 0.5
Target hardware 0.05

Source: Paul Clemente, Ron Crevier, Peter Runstadler "RTL and


Behavioral Synthesis, A Case Study", VHDL Times, vol. 5, no. 1.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 26 / 37

General Design Flow


Specify-Explore-Refine

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 27 / 37

Specification and Programming


Specification languages, such as UML, SDL.
Programming languages, such as C, C++, Java, Esterel, assembly
languages.
Hardware description languages, such as VHDL, Verilog,
SystemC.
Example: combining SystemC and C++ gives a unified simulation
environment for hardware and software.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 28 / 37


Hardware Description Languages
Cover several levels of design abstraction as well as behavioral
and structural description domain.
Contain typical features of programming languages, such as data
types and program statements.
Special features:
time concept,
structure description,
parallelism.
VHDL (IEEE standard), Verilog, SystemC.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 29 / 37

Design Representations
(Computational Model)
Used to represent/model digital systems under design.
Generated by a compiler from system specification or coded
directly in the model.
Represent the semantics, structure and timing of the system.
Usually based on some kind of annotated graph representation.
Used internally by design automation systems or by the
modeler/designer.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 30 / 37

Design – Synthesis
Software is translated into target code for a processor.
Real-time operating system might be used.
Hardware synthesis – translation of a behavioral representation of
a design into a structural one.
Communication synthesis – generates hardware and software
which interconnects system components.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 31 / 37


Hardware Synthesis Levels
System level – accepts as an input specification in a form of
communicating concurrent processes. The synthesis task is to
generate the general system structure defined by processors,
ASIC’s, buses, etc.
High level – the input specification is given as a behavioral level
description of an algorithm describing the functionality of a design
and generates implementation at RT-level. Basic synthesis steps
are scheduling, allocation and binding.
Logic level – it can be divided into combinational and sequential
logic synthesis.
Physical design – it accepts a gate-level netlist and produces final
implementation of the design in a given technology.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 32 / 37

Hardware/Software Co-design enabling


technologies

Sequential program code (e.g., C, VHDL)

Behavioral synthesis
Compilers (1990’s)
(1960’s, 1970’s)
Register transfer

RT synthesis
Assembly instructions (1980’s, 1990’s)

Logic equations/FSM’s
Assembler, linkers
Logic synthesis
(1950’s, 1960’s)
(1970’s, 1980’s)

Machine instructions Logic gates

Software Hardware

Microprocessor + code VLSI, ASIC, PLD,...

Source: F. Vahid and T. Givargis, Embedded System Design: A Unified Hardware Software Approach

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 33 / 37

Discrete Cosine Transform


Partial Design Space

40

30 Add 4
Cloc k Add 3
20
st e ps Add 2
10 A dd 2
Add 1
0 Add 4
M ul M ul M ul M ul
1 2 3 4

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 34 / 37


Design Space Exploration

40
30
20
CPU
10
DSP
0 C PU
ASI C

Cost
Speed

Power

Design time
Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 35 / 37

Time-to-market constraint
Profit need time for new
product development,
the biggest profit is in
the market window time,
missing the market
window can be costly

Market window

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 36 / 37

Summary
Embedded systems are important class of electronic systems
which can be found everywhere,
Combine hardware and software solutions,
Cover several engineering and research areas:
microelectronics,
real-time systems,
software development,
etc.
Need careful design which optimizes different design parameters.

Kris Kuchcinski (LTH) Design of Embedded Systems February 3, 2010 37 / 37

You might also like