CMP231 — Embedded Systems — 2012
Professors: Flávio R. Wagner and Luigi Carro
Classes
Material from previous editions
Summary
Embedded systems application. Hardware and software architectures.
Embedded operating systems. Embedded software engineering. Design
methodologies. Computation models and languages. Hardware, software, and
communication synthesis. Hardware-software mixed systems validation.
Platform-based design. Low-power systems design.
Objectives
At the end of the course, the student should be able to understand the
differences between an embedded system and a general purpose
computational system. The student should also be able to consider the
impact of embedded-systems design constraints on hardware and software
architectures as well as on design methodology and techniques.
Program
• Introduction – Typical applications. Design requirements. Technologies
and architectures. Design methodologies. Current problems review.
• Architecture – Processors' types: DSP, microcontrollers, ASIPs, RISC,
VLIW. Multiprocessor Systems on a Chip. Memory Hierarchy. Communication
structures: buses, NoC. ASICs. FPGAs and reconfigurability.
• Software – RTOS and APIs. Computational models. Compilers. Programming
– C, assembly, Java, Matlab. Software retargeting. Software synthesis
for different domains. Software dedicated to multiprocessor-based
embedded systems. Software engineering for embedded systems.
Model-Driven Engineering and UML.
• Design methodologies – Specification languages and levels of
abstraction. Co-simulation. Partitioning between hardware and software.
Estimation of performance, power, and area.
• Exploration of architectures. Communication synthesis (hardware and
software). Methodology for designing low-power systems.
• Platform-based design – Hardware and software platforms. Designs based
on buses and on cores.
• Applications – Multimedia. Automotive. Telecommunications.
Entertainment and games. Medical. Network processors.
Bibliography
• Luigi Carro, Flávio R. Wagner. “Sistemas Computacionais Embarcados”.
Jornadas de Atualização em Informática 2003. SBC, 2003.
• Flávio R. Wagner, Luigi Carro. “Metodologias e Técnicas de Engenharia
de Software para Sistemas Embarcados”. Atualizações em Informática.
Editora PUC-Rio, SBC, 2009.
• Peter Marwedel. Embedded Systems Design. Kluwer Academic Publishers,
2003.
• Edward A. Lee e Sanjit A. Seshia. Introduction to Embedded
Systems: A Cyber-Physical Approach. http://LeeSeshia.org, 2011.
• Papers assigned to students during the course.