Department of Computing, Imperial College, London

Lecture Course Syllabus
Custom Computing

18 lectures plus tutorials in the Spring Term.


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 consume too much power. Traditionally the development of custom computers is an expensive, time-consuming and error-prone activity. This course introduces an approach which enables the rapid and systematic design of custom computers.


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.