From 2016 onwards, EMBS practicals are on our new wiki, at


The purpose of the EMBS practicals is to help you to:
  • Get comfortable with using FPGAs and the Xilinx development tools.
  • Learn about programming embedded microcontrollers.
  • Learn the Vivado HLS hardware development language.
  • Start thinking about the way that hardware is implemented on FPGAs, and which constructs are cheap and which are expensive in terms of logic usage.
  • Learn how to engineer the architecture of a solution to exploit the parallelism available.
  • Explore the trade-offs that are found in embedded development.

You must complete each practical before the start of the next one, as many of the concepts used will be examined in the assessment. If any aspects of the practicals are unclear, please ask Neil or a demonstrator to explain.

These practicals should all be performed with the lab machines in Linux. It is also possible to work remotely, see the resources below.


At six points throughout the practicals, blue text will tell you to show something to a demonstrator. Each item is worth one mark towards your final score. These can be attempted any number of times, and can be marked off any time up to the closing date of the assessment. They are not an exam, they are to help you to progress through the course. We would expect that everyone gets all six marks.

List of Practicals

These practicals should be attempted in order as they build on knowledge from the previous practicals.

Week 6 Practicals:

Week 7 Practicals:

Week 8 Practicals:

Week 9 & 10 Practicals:

Assessment Information