The Embedded Systems and Software course intends to introduce students to state-of-the-art methods, techniques, and tools to design, program, implement, and use Embedded Multiprocessor Systems-on-Chip (MPSoCs). This is done through a series of lectures, hands-on sessions, and discussions on relevant scientific journal/conference papers.
Embedded Systems are application domain specific information processing systems that are tightly coupled to their environment. They appear in home appliances, copy machines, automotive entertainment systems, medical imaging systems, wireless and portable multimedia terminals, distributed sensor networks, and more.
The course first introduces the notion of and some basic concepts in embedded systems and software. Then, it deals with basic methods, techniques, algorithms, and components that are found in embedded systems.
In a second part, the course focuses on methods, techniques, and tools for system-level design, programming and implementation of Embedded Multi-processor Systems-on-Chip (MPSoC). In particular, the DAEDALUS framework (https://daedalus.liacs.nl) for system-level design of MPSoCs will be studied in detail. DAEDALUS features: 1) automated translation of sequential application code to equivalent parallel specification code; 2) automated system-level synthesis of specific MPSoCs; 3) automated mapping of the parallel specification code to the synthesized specific MPSoC; 4) fast implementation/prototyping of the whole MPSoC embedded system on FPGA-based prototyping boards.
In a third part – that is integrated with the second part – the course takes the form of laboratory hands-on sessions in which the DAEDALUS framework is used to design and prototype a relatively simple MPSoC.
There is no traditional written exam. The final grade is a combination of grades for
presentation on a given topic related to the course material (40%)
performance during the hands-on sessions (40%) and
pro-active attitude during lectures and paper discussions (20%).