School of Computer Science Intranet
An Asynchronous Viterbi Decoder
L. Brackenbury, M. Cumpstey, S. Furber and P. Riocreux
Viterbi Decoders are used for decoding data encoded using convolutional forward error correction codes. These Decoders are used in a large proportion of digital transmission and digital recording systems including digital mobile phones and digital TV broadcast. This paper describes the evolution of a self-timed Viterbi Decoder and gives an overview of the resulting architecture. The use of serial unary arithmetic for computational manipulation, rather than the conventional binary parallel arithmetic used in other systems, is described. In the history storage unit, which determines the Decoder output, the asynchronous framework which allows multiple tracebacks to run concurrently but independently of each other and to terminate as soon as they cease to be useful is detailed.