Computer Laboratory

Course pages 2015–16

Advanced Computer Design

Principal lecturer: Prof Simon Moore
Taken by: MPhil ACS, Part III
Code: P34
Hours: 16 (8 lectures + 8 practicals)
Prerequisites: Some training in VHDL or Verilog HDL and computer architecture


This module aims to provide an understanding of multithreaded multiprocessor architecture research using FPGAs as an emulation platform.


  • Introduction to Bluespec hardware description language [2 lectures and 1 practical]
  • Implementing a RISC processor in Bluespec [2 lectures and 1 practical]
  • Timing critical circuits and bus interfacing [1 lecture and 1 practical]
  • On-chip networks: implementation and analysis [1 lecture and 1 practical]
  • FPGA processor emulation techniques and a comparison with software simulation [2 lectures and 1 practical]
  • Analysis of multiprocessor designs [3 practicals]


On completion of this module, students should:

  • understand how to design and implement a multiprocessor system;
  • appreciate how to instrument a design to obtain research results;
  • understand how to design using Bluespec;
  • appreciate the pros and cons of using FPGA emulation vs. software simulation.


Write a 4,000-word project report including results from a computer architecture study based on the practical component of the course.

Practical work

Design and use processor emulation hardware using FPGAs in order to obtain research results.


One 4,000-word project report (worth 80% of the mark)
and ticked practical assignments which will be reviewed with the student (worth 20% in total).

Recommended reading

Harris, D.M. & Harris, S.L. (2007). Digital design and computer architecture. Morgan Kaufmann.
Hennessy, J.L. & Patterson, D.A. (2006). Computer architecture: a quantitative approach. Morgan Kaufmann (4th ed.).


P34 Advanced Computer Design cannot be taken in conjunction with L18 Automated Reasoning or L108 Category Theory and Logic in 2012-13.