Português English

Lista de Disciplinas | CMP231

Embedded Systems

Professor: Antônio Carlos Beck Filho
Prerequisites: CMP237
Hours: 60 hs
Credits: 4
Semesters: Second semester
Undergraduate Enrollment: The enrollment must be made as Special Student


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.


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.


• 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.


Students will be evaluated by their participation throughout the course, the result of a broad practical project, and the quality of presented seminars.


• Luigi Carro e Flávio R. Wagner. “Sistemas Computacionais Embarcados”. Jornadas de Atualização em Informática 2003. SBC, 2003.
• Flávio R. Wagner e 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.