VLSI Implementation of a Soft Bit-Flipping Decoder for PG-LDPC Codes