FPGA architecture of multi-codeword LDPC decoder with efficient BRAM utilization

Implementation of Quasi-Cyclic (QC) Low Density Parity-Check (LDPC) decoder on FPGA devices has shown great interest in both wireless communication, as well as error correction for Flash memories. This paper presents an FPGA flooded LDPC decoder which uses multiple codeword processing for efficient memory utilization. It is based on a partially parallel implementation, which relies on memory blocks for message passing between the processing units. We obtain efficient memory utilization by packing multiple messages corresponding to multiple codewords into the same Block RAM word. The increase in throughput is linear with the number of processed codewords. The proposed LDPC decoder can process up to 9 codewords in parallel, for 4-bit message quantization, or up to 12 codewords, for 3-bit message quantization, without introducing significant memory overhead.

[1]  Brendan J. Frey,et al.  Iterative Decoding of Compound Codes by Probability Propagation in Graphical Models , 1998, IEEE J. Sel. Areas Commun..

[2]  David Blaauw,et al.  Low-Power High-Throughput LDPC Decoder Using Non-Refresh Embedded DRAM , 2014, IEEE Journal of Solid-State Circuits.

[3]  T. Sansaloni,et al.  Fully-parallel LUT-based (2048,1723) LDPC code decoder for FPGA , 2012, 2012 19th IEEE International Conference on Electronics, Circuits, and Systems (ICECS 2012).

[4]  Rüdiger L. Urbanke,et al.  The renaissance of Gallager's low-density parity-check codes , 2003, IEEE Commun. Mag..

[5]  Hideki Imai,et al.  Reduced complexity iterative decoding of low-density parity check codes based on belief propagation , 1999, IEEE Trans. Commun..

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

[7]  Zhongfeng Wang,et al.  A Memory Efficient Partially Parallel Decoder Architecture for Quasi-Cyclic LDPC Codes , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  Manabu Hagiwara,et al.  Comment on "Quasi-Cyclic Low Density Parity Check Codes From Circulant Permutation Matrices" , 2009, IEEE Trans. Inf. Theory.

[9]  Ieee Microwave Theory,et al.  Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems — Amendment for Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands , 2003 .

[10]  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.

[11]  Alexios Balatsoukas-Stimming,et al.  FPGA-based design and implementation of a multi-GBPS LDPC decoder , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[12]  Nanning Zheng,et al.  LDPC-in-SSD: making advanced error correction codes work effectively in solid state drives , 2013, FAST.

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