A Survey of FPGA-Based LDPC Decoders

Low-density parity check (LDPC) error correction decoders have become popular in communications systems, as a benefit of their strong error correction performance and their suitability to parallel hardware implementation. A great deal of research effort has been invested into LDPC decoder designs that exploit the flexibility, the high processing speed, and the parallelism of field-programmable gate array (FPGA) devices. FPGAs are ideal for design prototyping and for the manufacturing of small-production-run devices, where their in-system programmability makes them far more cost-effective than application-specific integrated circuits (ASICs). However, the FPGA-based LDPC decoder designs published in the open literature vary greatly in terms of design choices and performance criteria, making them a challenge to compare. This paper explores the key factors involved in FPGA-based LDPC decoder design and presents an extensive review of the current literature. In-depth comparisons are drawn amongst 140 published designs (both academic and industrial) and the associated performance tradeoffs are characterized, discussed, and illustrated. Seven key performance characteristics are described, namely, their processing throughput, processing latency, hardware resource requirements, error correction capability, processing energy efficiency, bandwidth efficiency, and flexibility. We offer recommendations that will facilitate fairer comparisons of future designs, as well as opportunities for improving the design of FPGA-based LDPC decoders.

[1]  François Charot,et al.  A New Powerful Scalable Generic Multi-Standard LDPC Decoder Architecture , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[2]  Jianhao Hu,et al.  FPGA implementation of nonbinary quasi-cyclic LDPC decoder based on EMS algorithm , 2009, 2009 International Conference on Communications, Circuits and Systems.

[3]  Hong Ding,et al.  Design and Implementation for High Speed LDPC Decoder with Layered Decoding , 2009, 2009 WRI International Conference on Communications and Mobile Computing.

[4]  Lijun Zhang,et al.  Reliability-based high-efficient dynamic schedules for belief propagation decoding of LDPC codes , 2012, 2012 IEEE 11th International Conference on Signal Processing.

[5]  Lara Dolecek,et al.  Design of LDPC decoders for improved low error rate performance: quantization and algorithm choices , 2009, IEEE Transactions on Communications.

[6]  Vikram Arkalgud Chandrasetty,et al.  A Highly Flexible LDPC Decoder using Hierarchical Quasi-Cyclic Matrix with Layered Permutation , 2012, J. Networks.

[7]  William P. Marnane,et al.  FPGA Implementations of LDPC over GF(2m) Decoders , 2007, 2007 IEEE Workshop on Signal Processing Systems.

[8]  Evangelos Eleftheriou,et al.  Regular and irregular progressive edge-growth tanner graphs , 2005, IEEE Transactions on Information Theory.

[9]  Stephen G. Wilson,et al.  Multi-Gbps FPGA-Based Low Density Parity Check (LDPC) Decoder Design , 2007, IEEE GLOBECOM 2007 - IEEE Global Telecommunications Conference.

[10]  Vikram Arkalgud Chandrasetty,et al.  FPGA Implementation of High Performance LDPC Decoder Using Modified 2-Bit Min-Sum Algorithm , 2010, 2010 Second International Conference on Computer Research and Development.

[11]  Wang Ling Goh,et al.  A reconfigurable FPGA implementation of an LDPC decoder for unstructured codes , 2008, 2008 2nd International Conference on Signals, Circuits and Systems.

[12]  Zhongfeng Wang,et al.  An FPGA Implementation of Array LDPC Decoder , 2006, APCCAS 2006 - 2006 IEEE Asia Pacific Conference on Circuits and Systems.

[13]  Zhongfeng Wang,et al.  A 170 Mbps (8176, 7156) quasi-cyclic LDPC decoder implementation with FPGA , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[14]  Vikram Arkalgud Chandrasetty,et al.  A multi-level Hierarchical Quasi-Cyclic matrix for implementation of flexible partially-parallel LDPC decoders , 2011, 2011 IEEE International Conference on Multimedia and Expo.

[15]  Zhigang Cao,et al.  An FPGA implementation of a structured irregular LDPC decoder , 2005, 2005 IEEE International Symposium on Microwave, Antenna, Propagation and EMC Technologies for Wireless Communications.

[16]  Vikram Arkalgud Chandrasetty,et al.  FPGA Implementation of a LDPC Decoder using a Reduced Complexity Message Passing Algorithm , 2011, J. Networks.

[17]  Keshab K. Parhi,et al.  A 54 Mbps (3,6)-regular FPGA LDPC decoder , 2002, IEEE Workshop on Signal Processing Systems.

[18]  Bo Zhu,et al.  Stochastic Decoding of Linear Block Codes With High-Density Parity-Check Matrices , 2008, IEEE Transactions on Signal Processing.

[19]  Lei Yang,et al.  Code construction and FPGA implementation of a low-error-floor multi-rate low-density Parity-check code decoder , 2006, IEEE Transactions on Circuits and Systems I: Regular Papers.

[20]  Shie Mannor,et al.  Fully Parallel Stochastic LDPC Decoders , 2008, IEEE Transactions on Signal Processing.

[21]  Hans-Jörg Pfleiderer,et al.  FPGA implementation of a flexible decoder for long LDPC codes , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[22]  Sae-Young Chung,et al.  On the design of low-density parity-check codes within 0.0045 dB of the Shannon limit , 2001, IEEE Communications Letters.

[23]  Shu Lin,et al.  Memory System Optimization for FPGA-Based Implementation of Quasi-Cyclic LDPC Codes Decoders , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[24]  Zhenhui Tan,et al.  THE MODERATE-THROUGHPUT AND MEMORY-EFFICIENT LDPC DECODER , 2006 .

[25]  Robert G. Gallager,et al.  Low-density parity-check codes , 1962, IRE Trans. Inf. Theory.

[26]  A.I.V. Casado,et al.  Improving LDPC Decoders via Informed Dynamic Scheduling , 2007, 2007 IEEE Information Theory Workshop.

[27]  Yi-Hsing Chien,et al.  A High Throughput H-QC LDPC Decoder , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[28]  Russell Tessier,et al.  FPGA Architecture: Survey and Challenges , 2008, Found. Trends Electron. Des. Autom..

[29]  D.J.C. MacKay,et al.  Good error-correcting codes based on very sparse matrices , 1997, Proceedings of IEEE International Symposium on Information Theory.

[30]  Ning Chen,et al.  Partly Parallel Overlapped Sum-Product Decoder Architectures for Quasi-Cyclic LDPC Codes , 2006, 2006 IEEE Workshop on Signal Processing Systems Design and Implementation.

[31]  Shu Lin,et al.  Near-Shannon-limit quasi-cyclic low-density parity-check codes , 2004, IEEE Trans. Commun..

[32]  Robert Michael Tanner,et al.  A recursive approach to low complexity codes , 1981, IEEE Trans. Inf. Theory.

[33]  Simon Litsyn,et al.  Efficient Serial Message-Passing Schedules for LDPC Decoding , 2007, IEEE Transactions on Information Theory.

[34]  S. S. Khati,et al.  Improved decoder design for LDPC codes based on selective node processing , 2012, 2012 World Congress on Information and Communication Technologies.

[35]  Shu Lin,et al.  FPGA-based low-complexity high-throughput tri-mode decoder for quasi-cyclic LDPC codes , 2009, 2009 47th Annual Allerton Conference on Communication, Control, and Computing (Allerton).

[36]  Gwan S. Choi,et al.  FPGA based implementation of decoder for array low-density parity-check codes , 2005, Proceedings. (ICASSP '05). IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005..

[37]  Anthony D. Fagan,et al.  A High Speed, Low Memory FPGA Based LDPC Decoder Architecture for Quasi-Cyclic LDPC Codes , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[38]  Oscar Gustafsson,et al.  FPGA implementation of rate-compatible QC-LDPC code decoder , 2011, 2011 20th European Conference on Circuit Theory and Design (ECCTD).

[39]  Mohamad Sawan,et al.  Delayed Stochastic Decoding of LDPC Codes , 2011, IEEE Transactions on Signal Processing.

[40]  Richard D. Wesel,et al.  Lower-Complexity Layered Belief-Propagation Decoding of LDPC Codes , 2008, 2008 IEEE International Conference on Communications.

[41]  Richard D. Wesel,et al.  Informed Dynamic Scheduling for Belief-Propagation Decoding of LDPC Codes , 2007, 2007 IEEE International Conference on Communications.

[42]  Ning Chen,et al.  Optimal Overlapped Message Passing Decoding of Quasi-Cyclic LDPC Codes , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[43]  François Charot,et al.  A generic architecture of CCSDS Low Density Parity Check decoder for near-earth applications , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[44]  Joseph R. Cavallaro,et al.  Semi-parallel reconfigurable architectures for real-time LDPC decoding , 2004, International Conference on Information Technology: Coding and Computing, 2004. Proceedings. ITCC 2004..

[45]  Marco Alexandre Cravo Gomes,et al.  Flexible Parallel Architecture for DVB-S2 LDPC Decoders , 2007, IEEE GLOBECOM 2007 - IEEE Global Telecommunications Conference.

[46]  Keshab K. Parhi,et al.  Overlapped message passing for quasi-cyclic low-density parity check codes , 2004, IEEE Transactions on Circuits and Systems I: Regular Papers.

[47]  Guido Masera,et al.  Implementation of a Flexible LDPC Decoder , 2007, IEEE Transactions on Circuits and Systems II: Express Briefs.

[48]  Payam Pakzad,et al.  Abstract—two Decoding Schedules and the Corresponding Serialized Architectures for Low-density Parity-check (ldpc) , 2001 .

[49]  X. Jin Factor graphs and the Sum-Product Algorithm , 2002 .

[50]  Tong Zhang,et al.  On finite precision implementation of low density parity check codes decoder , 2001, ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196).

[51]  Paul Fortier,et al.  FPGA Implementation of LDPC Decoders Based on Joint Row-column Decoding Algorithm , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[52]  Alon Orlitsky,et al.  Stopping set distribution of LDPC code ensembles , 2003, IEEE Transactions on Information Theory.

[53]  Shie Mannor,et al.  Stochastic Decoding of LDPC Codes over GF(q) , 2013, IEEE Transactions on Communications.

[54]  B. Nikolic,et al.  Architectures and implementations of low-density parity check decoding algorithms , 2002, The 2002 45th Midwest Symposium on Circuits and Systems, 2002. MWSCAS-2002..

[55]  Marc P. C. Fossorier,et al.  Quasi-Cyclic Low-Density Parity-Check Codes From Circulant Permutation Matrices , 2004, IEEE Trans. Inf. Theory.

[56]  Emmanuel Boutillon,et al.  Noisy Gradient Descent Bit-Flip Decoding for LDPC Codes , 2014, IEEE Transactions on Communications.

[57]  Haoran Li,et al.  Reconfigurable architecture and automated design flow for rapid FPGA-based LDPC code emulation , 2012, FPGA '12.

[58]  Stefano Galli,et al.  G.hn: The new ITU-T home networking standard , 2009, IEEE Communications Magazine.

[59]  Shie Mannor,et al.  An Area-Efficient FPGA-Based Architecture for Fully-Parallel Stochastic LDPC Decoding , 2007, 2007 IEEE Workshop on Signal Processing Systems.

[60]  Stephan ten Brink,et al.  Convergence behavior of iteratively decoded parallel concatenated codes , 2001, IEEE Trans. Commun..

[61]  Jianhua Lu,et al.  Design of irregular LDPC codec on a single chip FPGA , 2004, Proceedings of the IEEE 6th Circuits and Systems Symposium on Emerging Technologies: Frontiers of Mobile and Wireless Communication (IEEE Cat. No.04EX710).

[62]  Lara Dolecek,et al.  GEN03-6: Investigation of Error Floors of Structured Low-Density Parity-Check Codes by Hardware Emulation , 2006, IEEE Globecom 2006.

[63]  Youyun Xu,et al.  Configurable Multi-Rate Decoder Architecture for QC-LDPC Codes Based Broadband Broadcasting System , 2008, IEEE Transactions on Broadcasting.

[64]  Nozomu Togawa,et al.  Partially-parallel LDPC decoder based on high-efficiency message-passing algorithm , 2005, 2005 International Conference on Computer Design.

[65]  Radford M. Neal,et al.  Near Shannon limit performance of low density parity check codes , 1996 .

[66]  Bin Sun,et al.  A Configurable FPGA Implementation of PEG-based PS-LDPC Decoder , 2010, 2010 First International Conference on Pervasive Computing, Signal Processing and Applications.

[67]  Ken Mai,et al.  Highly Parallel FPGA Emulation for LDPC Error Floor Characterization in Perpendicular Magnetic Recording Channel , 2009, IEEE Transactions on Magnetics.

[68]  Lajos Hanzo,et al.  Design of Fixed-Point Processing Based LDPC Codes Using EXIT Charts , 2011, 2011 IEEE Vehicular Technology Conference (VTC Fall).

[69]  Frank R. Kschischang,et al.  A bit-serial approximate min-sum LDPC decoder and FPGA implementation , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[70]  Yanni Chen,et al.  A FPGA and ASIC implementation of rate 1/2, 8088-b irregular low density parity check decoder , 2003, GLOBECOM '03. IEEE Global Telecommunications Conference (IEEE Cat. No.03CH37489).

[71]  Javier Valls-Coquillat,et al.  Reduced-Complexity Min-Sum Algorithm for Decoding LDPC Codes With Low Error-Floor , 2014, IEEE Transactions on Circuits and Systems I: Regular Papers.

[72]  Richard D. Wesel,et al.  Selective avoidance of cycles in irregular LDPC code construction , 2004, IEEE Transactions on Communications.

[73]  C. Spagnol,et al.  Reduced complexity, FPGA implementation of quasi-cyclic LDPC decoder , 2005, Proceedings of the 2005 European Conference on Circuit Theory and Design, 2005..

[74]  Vikram Arkalgud Chandrasetty,et al.  An area efficient LDPC decoder using a reduced complexity min-sum algorithm , 2012, Integr..

[75]  Joseph R. Cavallaro,et al.  Configurable LDPC Decoder Architectures for Regular and Irregular Codes , 2008, J. Signal Process. Syst..