Design Space Exploration of Hard-Decision Viterbi Decoding: Algorithm and VLSI Implementation

Viterbi algorithm is widely used as a decoding technique for convolutional codes as well as a bit detection method in storage devices. The design space for VLSI implementation of Viterbi decoders is huge, involving choices of throughput, latency, area, and power. Even for a fixed set of parameters like constraint length, encoder polynomials and trace-back depth, the task of designing a Viterbi decoder is quite complex and requires significant effort. Sometimes, due to incomplete design space exploration or incorrect analysis, a suboptimal design is chosen. This work analyzes the design complexity by applying most of the known VLSI implementation techniques for hard-decision Viterbi decoding to a different set of code parameters. The conclusions are based on real designs for which actual synthesis and layouts were obtained. In authors' view, due to the depth covered, it is the most comprehensive analysis of the topic published so far.

[1]  P. G. Gulak,et al.  Survivor sequence memory management in Viterbi decoders , 1991, 1991., IEEE International Sympoisum on Circuits and Systems.

[2]  Thomas Noll,et al.  Implementation of scalable power and area efficient high-throughput Viterbi decoders , 2002 .

[3]  B. Nikolic,et al.  500 Mb/s soft output Viterbi decoder , 2002, Proceedings of the 28th European Solid-State Circuits Conference.

[4]  Keshab K. Parhi,et al.  K-nested layered look-ahead method and architectures for high throughput Viterbi decoder , 2003, 2003 IEEE Workshop on Signal Processing Systems (IEEE Cat. No.03TH8682).

[5]  Keshab K. Parhi,et al.  Low-latency architectures for high-throughput rate Viterbi decoders , 2004, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Hsie-Chia Chang,et al.  Design of a power-reduction Viterbi decoder for WLAN applications , 2005, IEEE Transactions on Circuits and Systems I: Regular Papers.

[7]  Paul H. Siegel,et al.  Area-efficient architectures for the Viterbi algorithm , 1990, [Proceedings] GLOBECOM '90: IEEE Global Telecommunications Conference and Exhibition.

[8]  Tobias G. Noll,et al.  A 550 Mb/s radix-4 bit-level pipelined 16-state 0.25-/spl mu/m CMOS Viterbi decoder , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[9]  Teresa H. Meng,et al.  A 1-Gb/s, four-state, sliding block Viterbi decoder , 1997, IEEE J. Solid State Circuits.

[10]  Teresa H. Meng,et al.  A 140-Mb/s, 32-state, radix-4 Viterbi decoder , 1992 .

[11]  Gerhard Fettweis,et al.  Parallel Viterbi algorithm implementation: breaking the ACS-bottleneck , 1989, IEEE Trans. Commun..

[12]  E. Boutillon,et al.  Trace back techniques adapted to the surviving memory management in the M algorithm , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[13]  P.J. Black,et al.  A 140 Mb/s 32-state radix-4 Viterbi decoder , 1992, 1992 IEEE International Solid-State Circuits Conference Digest of Technical Papers.

[14]  Inkyu Lee,et al.  A new architecture for the fast Viterbi algorithm , 2003, IEEE Trans. Commun..

[15]  Teresa H. Y. Meng,et al.  Hybrid survivor path architectures for Viterbi decoders , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[16]  H. Meyr,et al.  High-speed parallel Viterbi decoding: algorithm and VLSI-architecture , 1991, IEEE Communications Magazine.

[17]  Matthias Kamuf,et al.  Trellis Decoding: From Algorithm to Flexible Architectures , 2007 .

[18]  Jarmo Takala,et al.  Systematic approach for path metric access in Viterbi decoders , 2005, IEEE Transactions on Communications.

[19]  Paul H. Siegel,et al.  Area-Efficient Architectures for the Viterbi Algorithm-Part I : Theory , 2004 .

[20]  Keshab K. Parhi An improved pipelined MSB-first add-compare select unit structure for Viterbi decoders , 2004, IEEE Transactions on Circuits and Systems I: Regular Papers.

[21]  Jan M. Rabaey,et al.  A 210 Mb/s radix-4 bit-level pipelined Viterbi decoder , 1995, Proceedings ISSCC '95 - International Solid-State Circuits Conference.

[22]  David G. Messerschmitt,et al.  Algorithms and architectures for concurrent Viterbi decoding , 1989, IEEE International Conference on Communications, World Prosperity Through Communications,.

[23]  H. Suzuki,et al.  A 2-Mb/s 256-state 10-mW rate-1/3 Viterbi decoder , 2000, IEEE Journal of Solid-State Circuits.

[24]  Samirkumar Dhirajlal Ranpara,et al.  On a Viterbi decoder design for low power dissipation , 1999 .

[25]  John G. Proakis Wiley encyclopedia of telecommunications , 2003 .

[26]  P. Glenn Gulak,et al.  Architectural tradeoffs for survivor sequence memory management in Viterbi decoders , 1993, IEEE Trans. Commun..

[27]  Gerhard Fettweis,et al.  High-Rate Viterbi Processor: A Systolic Array Solution , 1990, IEEE J. Sel. Areas Commun..

[28]  Yiqun Zhu,et al.  A Novel High-Speed Configurable Viterbi Decoder for Broadband Access , 2003, EURASIP J. Adv. Signal Process..

[29]  Andries P. Hekstra,et al.  An alternative to metric rescaling in Viterbi decoders , 1989, IEEE Trans. Commun..

[30]  Paul H. Siegel,et al.  Area-efficient architectures for the Viterbi algorithm. I. Theory , 1993, IEEE Trans. Commun..

[31]  Jr. G. Forney,et al.  The viterbi algorithm , 1973 .

[32]  Vijay K. Madisetti VLSI Digital Signal Processors: An Introduction to Rapid Prototyping and Design Synthesis , 1995 .

[33]  Gerhard Fettweis,et al.  A CMOS IC for Gb/s Viterbi decoding: system design and VLSI implementation , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[34]  Gerhard Fettweis,et al.  Minimized method Viterbi decoding: 600 Mbit/s per chip , 1990, [Proceedings] GLOBECOM '90: IEEE Global Telecommunications Conference and Exhibition.

[35]  Chaitali Chakrabarti,et al.  An approach for adaptively approximating the Viterbi algorithm to reduce power consumption while decoding convolutional codes , 2004, IEEE Transactions on Signal Processing.

[36]  Gerhard Fettweis,et al.  Cascaded feedforward architectures for parallel Viterbi decoding , 1990, IEEE International Symposium on Circuits and Systems.

[37]  Gerhard Fettweis,et al.  Algebraic survivor memory management design for Viterbi detectors , 1995, IEEE Trans. Commun..

[38]  Gerhard Fettweis,et al.  Parallel Viterbi decoding by breaking the compare-select feedback bottleneck , 1988, IEEE International Conference on Communications, - Spanning the Universe..

[39]  Liang-Gee Chen,et al.  IC design of an adaptive Viterbi decoder , 1996 .

[40]  Javier D. Bruguera,et al.  High-performance VLSI architecture for the Viterbi algorithm , 1997, IEEE Trans. Commun..

[41]  Tughrul Arslan,et al.  An Efficient Pre-Traceback Architecture for the Viterbi Decoder Targeting Wireless Communication Applications , 2006, IEEE Transactions on Circuits and Systems I: Regular Papers.