Custom Computing

Module aims

Custom computers are special-purpose systems customised for specific applications such as signal processing and database operations, when general-purpose computers are too slow, too bulky or too power hungry. Traditionally the development of custom computers is an expensive, time-consuming and error-prone activity. This course introduces approaches which enable the rapid and systematic design of custom computers.

Learning outcomes

Learning Outcomes - Knowledge and Understanding

To know the specific material covered in the Syllabus, including the ability to do the following:

To provide motivations for custom computers

To develop parametric descriptions of custom computers

To optimise custom computers to meet design requirements

To explore customisations and their trade-offs

Learning Outcomes - Intellectual Skills

To compare different ways of describing custom computers

To compare different custom computers and their implementations

To compare optimisations for custom computers and their trade-offs

Learning Outcomes - Practical Skills

To demonstrate a custom computer works as expected by simulation and by analysis

To analyse the performance of a custom computer 

Module syllabus

Overview: motivations; features and examples of custom computers; summary of development methods and tools.

Design: parametrised description of leaf components and composite structures; resource and performance characterisation; high-level design tools.

Optimisation: techniques for improving design efficiency such as pipelining, serialisation, transposition and their combinations.

Realisation: bit-level designs, data refinement, FPGA-based implementations.

System-on-chip: architectures, technology trade-offs, design and optimisation methods.

Examples will be selected from a number of application areas, including digital signal processing, computer arithmetic and non-numerical operations.

Pre-requisites

Introductory courses on computer architecture and programming

Teaching methods

  Lectures and tutorials

Assessments

*This is a level 6/H course

Module leaders

Professor Wayne Luk