Viterbi decoders are used for decoding data encoded using
convolutional forward error correction codes or data that suffers
from inter-symbol interference. They are used in a large
proportion of digital transmission and digital recording systems,
including digital mobile telephony and digital TV broadcast,
CD-ROM and magnetic disk reading. This paper describes a design
for a self-timed Viterbi decoder. The new design is based upon
serial, unary arithmetic for the manipulation and storage of
metrics. In the trace-back system, multiple concurrent trace-backs
may be running and trace-backs are terminated as soon as they
cease to be useful. The new architecture occupies between 35% and
10% less area than a selection of synchronous implementations
with the same design parameters which use the same process and
cell-library.