Skip to content

Lecture Guide

Use this guide to find the book chapters that accompany each lecture. Lecture numbers follow the supplied teaching material; they are not a weekly timetable. Read the chapters alongside the slides and practical exercises.

System specification and design

Lecture Topic Read and practise
0 Module Introduction and Overview Module overview and learning outcomes
1 Introduction to Embedded Systems Characteristics, constraints and design metrics
2 Design and Implementation on FPGAs FPGA resources, implementation flow and processor integration
3 Embedded Systems Design Abstraction, refinement and design evidence
4 Embedded Systems Specification Requirements, structural and behavioural models
5 Embedded Systems Specification II Ptolemy actors, directors and lifecycle
6 Computation Models Continuous time, discrete events and untimed models, then the overheat monitor tutorial
7 Dataflow Models KPN, SDF balance equations, schedules and buffers, then the dataflow tab of the overheat monitor tutorial
8 System Level Design Design space exploration and Pareto dominance
9 Co-design and Partitioning Co-design, ILP and KL partitioning, then the KL tutorial
10 Platform-based Design and Mapping Hungarian assignment, diffusion and genetic mapping, then the diffusion tutorial

Software and real-time analysis

Lecture Topic Read and practise
11 Embedded Software Design Compilation, WCET, execution structures and customisation
12 Real-Time Operating Systems RTOS mechanisms and FreeRTOS tasks, communication and memory
13 Real-Time Systems Task models, notation and schedulability tests
14 FPS Priority assignment and response-time analysis
15 EDF Processor demand, PDA and QPA, then the PDA/QPA explorer
16 Resource Sharing Priority inversion, inheritance and ceiling protocols
17 Multicore Scheduling Global, partitioned and semi-partitioned scheduling
18 Mixed-criticality Systems Execution budgets, mode changes and response-time bounds

Revision routes

For modelling and design: write a measurable requirement, select a model of computation, derive an SDF schedule, compare feasible design candidates, then explain a partition and mapping decision.

For timing analysis: identify the task model and assumptions, assign priorities, choose the correct test, calculate the result and state what it proves. Add blocking, multicore interference or mode changes only with an analysis that supports them.

For implementation: follow the practical exercises, establish a baseline and connect each hardware/software change to measured timing and resource use.

Using the lecture material

Lecture references at the start of chapters identify their teaching context. Worked examples are identified as lecture examples or illustrative examples. Self-check questions include expandable answers so you can attempt the reasoning first.

The book clarifies assumptions and terminology where needed, and links to primary documentation for implementation details. Assessment weights, deadlines, lab arrangements and tool setup should be checked through the official module information and VLE, since these can differ between editions of the teaching material.