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.
Contents
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.