Skip to Main Content
Viterbi decoders are employed frequently in wireless radio systems. They often require high computational power which can only be handled by dedicated application specific integrated circuits (ASICs). Because of their flexibility and speed of development, DSP-based software solutions are desirable, however. Currently available DSPs are unable to provide enough computational power to perform as the Viterbi decoder in systems such as digital video broadcasting (DVB) where a DSP needs to perform 64-state Viterbi decoding at 4-30 MBit/s as well as other receiver algorithms. Hence, we strive to provide ways of increasing DSP computational power. One way is to provide multiple, parallel, data paths in a processor. Two different methods of parallel computation of a Viterbi decoder are presented and their DSP architecture requirements are analyzed. These methods are not only applicable for the Viterbi decoder in DVB systems, but for all terminated convolutional codes. We then derive a data path design for a highly parallel DSP. We introduce special instructions which not only speed up the computation of Viterbi decoders, but are also beneficial for computing a fast Fourier transform. This data path design can calculate an add-compare-select butterfly in two cycles and thus allows the DSP to perform the computation of the Viterbi decoder for the current German variant of DVB-T (14.4 Mbit/s) at a modest 70 MIPS. This leaves enough computational power to perform other receiver algorithms at a targeted clock rate of 200 MHz.