Design of Embedded Systems Outline Examples of Embedded ...

9 downloads 79819 Views 984KB Size Report
Source: Embedded Systems Design: A Unified. Hardware/Software Introduction, ( c) 2000 Vahid/Givargis. Kris Kuchcinski (LTH). Design of Embedded Systems.
Design of Embedded Systems An Introduction http://www.cs.lth.se/EDAN15 Krzysztof Kuchcinski [email protected] Department of Computer Science Lund Institute of Technology Sweden

February 24, 2017

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

1 / 37

February 24, 2017

2 / 37

February 24, 2017

3 / 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

Examples of Embedded Systems

Kris Kuchcinski (LTH)

Design of Embedded Systems

Examples of Embedded Systems (cont’d) Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR’s, DVD players Video game consoles Video phones Washers and dryers

Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems

Source: Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

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 E:4118) require preparation deadline for lab reports (last lab assignment) Sunday, May 28, 2017, 23:59.

Group 1 2

Kris Kuchcinski (LTH)

day Wed Wed

time 13-15 15-17

Design of Embedded Systems

room E:4118 E:4118

February 24, 2017

5 / 37

Course Organization (cont’d) Seminars 11/05, 8:15 and 10:15 in E:2116 18/05, 8:15 and 10:15 in E:2116

Obligatory examinations 1 June 2016 at 8-13, Sparat:A, C 25 August 2016 at 8-13, Sparta:C

Books: Peter Marwedel, Embedded System Design, 2nd Edition, Springer, 2011 (ISBN: 978-94-007-0256-1).

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

6 / 37

Lectures Preliminary Schedule Date 17-03-20 17-03-24 17-03-27 17-02-31 17-04-03 17-04-07 17-04-24 17-04-28 17-05-03 17-05-05 17-05-08 17-05-12

Content Introduction, motivation, etc. Design methodology (HW/SW co-design, etc) VHDL introduction VHDL for synthesis Computational models Design representations System partitioning Allocation, assignment and scheduling Communication synthesis Testability Low-power design

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

7 / 37

Embedded Systems “A device that includes a programmable computer but is not itself a general-purpose computer”

Execution deadlines, Power and energy consumption constraints, : Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

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 24, 2017

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 24, 2017

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 24, 2017

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 24, 2017

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 24, 2017

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 24, 2017

14 / 37

Real-time gas turbine testing system

MI-2 helicopter engine

Kris Kuchcinski (LTH)

"Minicomputer" 8kB RAM cassette tape

Design of Embedded Systems

February 24, 2017

15 / 37

TELEX-I and TELEX-II systems

PDP-11 Kris Kuchcinski (LTH)

PDP-11 Design of Embedded Systems

February 24, 2017

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 24, 2017

17 / 37

Typical Hardware Components of DSP System Component class DSP processor Microcontroller Hardware accelerator Communication blocks and memory Others

Kris Kuchcinski (LTH)

Implements Low data-rate DSP Slow control loops Appl. Spec. alg. User interface Slow control loops High data-rate DSP RT level synth. Internal & external communication Storage & buffering Usually FSMD’s - clock generators - DMA blocks

Compiler (Retargetable) code generator High level synth. C compiler High level synth. Memory mgmt. (A)synchronous interface synth. RT level synth. Asynchronous synth.

Design of Embedded Systems

Specification Assembly C C C, VHDL Verilog Data-sheets VHDL

February 24, 2017

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 24, 2017

19 / 37

10,000,000

100,000,000

1,000,000 100,000

10,000,000

58%/Yr. Complexity

1,000,000

growth rate

10,000

100,000

1,000

10,000 x

100 x x

10 1

xx

x

x

x

21%/Yr. Productivity growth rate 1998

1,000 100

Transistor/Staff-Month

Logic Transistors/Chip (K)

Design Complexity and Designer Productivity Gap

10

2003

Source: Bryan Preas, Xerox PARC, 35th DAC

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

20 / 37

February 24, 2017

21 / 37

Flexibility and Energy Efficiency

Kris Kuchcinski (LTH)

Design of Embedded Systems

Flexibility and Energy Efficiency

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

21 / 37

February 24, 2017

21 / 37

Flexibility and Energy Efficiency

Kris Kuchcinski (LTH)

Design of Embedded Systems

Design Domains and Abstraction Levels Behavioural Domain

Structural Domain

System level RTL

Algorithm

CPU, memory, bus Logic level

ALU, reg., MUX

RT specification Circuit level

Gate, flip-flop

Boolean eq.

Transistor

Transistor function

Transistor layout Standard cell/subcell Macrocell, chip Board Physical Domain

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

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 c d e

NAND NAND

NAND

My Cell

Out

physical representations - it can describe either a geometrical layout or a topological constraint.

Kris Kuchcinski (LTH)

Design of Embedded Systems

February 24, 2017

23 / 37

February 24, 2017

24 / 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

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 24, 2017

25 / 37

Importance of High-Level Design Methods System Verification Processing Speeds System implementation Behavioral model RTL model Gate model Gate model on hardware accelerator Rapid prototype Target hardware

Processing time (s/frame) 1 200 (20 min/frame) 144 000 (1.6 days/frame) 228 000 (2.6 days/frame) 1 200 0.5 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 24, 2017

26 / 37

February 24, 2017

27 / 37

General Design Flow Specify-Explore-Refine

Kris Kuchcinski (LTH)

Design of Embedded Systems

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 24, 2017

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 24, 2017

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 24, 2017

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 24, 2017

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 24, 2017

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 (1980’s, 1990’s)

Assembly instructions

Logic equations/FSM’s Assembler, linkers

Logic synthesis

(1950’s, 1960’s)

(1970’s, 1980’s) Logic gates

Machine instructions 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 24, 2017

33 / 37

Discrete Cosine Transform Partial Design Space

40 Cloc k st e ps

30

Add 4

20

Add 3 A dd 2

10

Add 4

0 M ul

M ul

M ul

M ul

1

2

3

4

Kris Kuchcinski (LTH)

Design of Embedded Systems

Add 2 Add 1

February 24, 2017

34 / 37

Design Space Exploration

40 30 20 CPU

10 C PU

Kris Kuchcinski (LTH)

DSP ASI C

Design time

Cost

Power

Speed

0

Design of Embedded Systems

February 24, 2017

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 24, 2017

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 24, 2017

37 / 37