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
(1990s)
(1960s, 1970s)
Register transfer RT synthesis (1980s, 1990s)
Assembly instructions
Logic equations/FSMs Assembler, linkers
Logic synthesis
(1950s, 1960s)
(1970s, 1980s) 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