Professional Documents
Culture Documents
Contents Part I What is Embedded System? Part II Designing Embedded System Part III Software Engineering in Embedded System Design
2/35
Definition of Embedded System* y A combination of computer hardware and software, and perhaps additional p mechanical or other parts Designed to perform a dedicated function In some cases, part of a large system or p product
e.g.) Antilock Braking System(ABS) in a car
* Michael Barr, "Embedded Systems Glossary, Netrino Technical Library Barr Glossary Library, Available at http://www.netrino.com/Embedded-Systems/Glossary KAIST SE LAB 2008 4/35
Tightly-constrained
Low power, small, fast, etc.
Control oriented
Home appliances, industrial controller, safetycritical controller iti l t ll
Hybrid(computation + control) y ( )
Portable information devices
e g) Cellular phone e.g)
Design issue
Simultaneously optimize numerous design constraints t i t
Size, performance, power, flexibility, etc.
8/35
Designers partition the system into hardware and software early in the flow HW and SW engineers design their respective components in isolation HW and SW engineers do not talk to each other h Integration problems Hi h t d long it ti High cost and l iteration
Prototype
KAIST SE LAB 2008
9/35
HW & SW Co-Design g
System Specification HW & SW Partition
* Synonym * Architecture Platform Design Space Exploration * Synonym * Application Functionality
SW Model
E l ti f il d Evaluation failed
Evaluation* SW Synthesis
HW Synthesis
HW & SW Integration g
*Evaluation subject : Performance, energy, etc. KAIST SE LAB 2008 10/35
Design Space Exploration(DSE)* g p p ( ) Finding the optimal design of software and hardware
That satisfies given design objectives
Problem Space (Characteristics of SW & HW) Software functionality Hardware parameters Processor architecture Clock rate Cache size Memory architecture Page replacement policy
KAIST SE LAB 2008
* M. Gries. Methods for evaluating and covering the design space during early design development. Integr. VLSI J., 38(2):131183, 2004.
11/35
ADD x1, x2, , x100 Hardware support pp Smaller software size Better performance
12/35
Software Model
Kahn process networks Directed Acyclic Graphs(DAG) DAGs with periods and deadlines Synchronous data flow y Control data flow graphs and dynamic data flow High-level programming language Co-Design Finite State Machines Communication analysis graphs Click model of computation Transaction Level Modeling
SystemC
13/35
Executable models E t bl d l
Micro-architecture templates p Hardware description language Architecture description language
14/35
Mapping Software and Hardware pp g Binding software tasks to hardware building blocks
May require additional jobs such as
Rewriting/adapting software code
To link required interface of software and p q provided interface of hardware
Hardware blocks
ARM P1
ARM P2
DSP P3
15/35
Hardware
High-level synthesis g y
Find an optimal mapping for the software tasks to the hardware
Exact method such as Integer/mixed linear program formulations, heuristics, evolutionary algorithms, etc.
17/35
Cache miss rate : 10~20% 10 20% Obtain Obt i ranges of f performance factor
Micro-architecture centric
Mescal/Tipi ASIP-Meister / PEAS-III EXPRESSION LisaTek Chess / Checkers MaxCore & MaxSim
19/35
Task 2 CPU
Task n Medium CPU { M di void read() { // read from memory } void write() { // write to memory } }
21/35
Task 1 CPU
Task 2
Mapper { constraint { Src.send => Task1.write; Src.doSomething Src doSomething => Task1.execute(50); Task1 execute(50); Sink.receive => Task2.read; } }
KAIST SE LAB 2008 22/35
Example Metropolis ( / ) p p (4/4) A part of the output in Simple case study example
23/35
Phone SW No. N 1
Phone SW No. N 2
Phone SW No. No n
24/35
Platform instance
A set of components
Selected from the library(platform) P Parameters are set t t
* A. Sangiovanni-Vincentelli, Quo Vadis, SLD? Reasoning About the Trends d Challenges of S t T d and Ch ll f System L Level D i l Design, P Proceedings of th di f the IEEE, Vol. 95, No. 3, March 2007. KAIST SE LAB 2008
Processor P1 -Clock : 300Mhz Clock -Cache size : 16Kb - Bus B1 -Bandwidth : 10Mb/s -
25/35
ARM
R2000 R4600 8-bit ISA 16-bit ISA PCI 2.2 PCI 3.0
26/35
DDR2-800
27/35
* A. Sangiovanni-Vincentelli and Grant Martin, Platform-Based Design and Software Design Methodology for Embedded Systems, IEEE Design & Test, Vol. 18(6), November 2001. KAIST SE LAB 2008 28/35
Increasing usage of programmable elements instead of ASICs (Application Specific Integrated Circuits) Increasing complexity of application(software)
KAIST SE LAB 2008 30/35
Issue 1 : Coordination of embedded software development process with other sub-processes Embedded Software Engineering Electrical Engineering Mechanical Engineering
Issue 2 : Specialized software development process for dealing with non-functional requirements (Memory, power, real-time requirements, etc.)
* Bass Graaf Marco Lormans and Hans Toetenel Embedded Software Engineering: Graaf, Toetenel, Embedded The State of the Practice, IEEE Software, Nov.-Dec., 2003 KAIST SE LAB 2008 31/35
Issue 1 : DSE in a more abstract level Issue 2 : Performance/ energy-aware energy aware refactoring Issue 3 : Performance/ energy-related metric Issue 4 : Model-Driven Development
Map HW & SW
Evaluation failed
Evaluation
SW Model
Issue 1 : UML to SystemC Issue 2 : Application of code-level software engineering techniques Testing Clone detection Reverse engineering Metric
33/35
Evaluation*
References
[1] Michael Barr, "Embedded Systems Glossary, Netrino Technical Library, Available at http://www.netrino.com/Embedded-Systems/Glossary a ab e ttp // et o co / bedded Syste s/G ossa y [2] Frank Vahid and Tony Givargis, Embedded System Design: A Unified Hardware/Software Introduction, John Wiley & Sons, ISBN: 0471386782, 2002. 2002 [3] M. Gries. Methods for evaluating and covering the design space during early design development. Integr. VLSI J., 38(2):131183, 2004. [4] A. Sangiovanni-Vincentelli, Quo Vadis, SLD? Reasoning About the Trends and Challenges of System Level Design, Proceedings of the IEEE, Vol. 95, No. 3, March 2007. [5] Bass Graaf, Marco Lormans, and Hans Toetenel, Embedded Software Engineering: The State of the Practice, IEEE Software, Nov.-Dec., 2003 [6] A. Sangiovanni-Vincentelli and Grant Martin Platform-Based Design and A Sangiovanni Vincentelli Martin, Platform Based Software Design Methodology for Embedded Systems, IEEE Design & Test, Vol. 18(6), November 2001.
34/35
Discussion Q&A
35/35